Difference between revisions of "Category:LSL Color/ja"
Jump to navigation
Jump to search
Mako Nozaki (talk | contribs) (移動) |
Mizu Melody (talk | contribs) |
||
Line 1: | Line 1: | ||
# | {{Multi-lang}} | ||
{{LSL Header/ja|ml=*}} | |||
{{LSLC/ja|}} | |||
{{#vardefine:header_title|Color in LSL | |||
}}{{#vardefine:header_text|LSLは自身が特別な色の形式を持っています。LSLは色の記憶に[[vector/ja|vector]]を使用します。伝統的なRGB各チャンネルの0から255のようなものではなく、LSLのカラーチャンネルは0から1です。<br/> | |||
===形式: {{LSL VR|'''R'''|'''G'''|'''B'''}}=== | |||
{{{!}} | |||
{{LSL DefineRow|float|x|Red value|[0, 1]}} | |||
{{LSL DefineRow|float|y|Green value|[0, 1]}} | |||
{{LSL DefineRow|float|z|Blue value|[0, 1]}} | |||
{{!}}} | |||
}}{{#vardefine:helpers| | |||
===色とアルファを(から)integerへ(に)記憶(回収)するための応用しやすい関数です=== | |||
<source lang="lsl2"> | |||
integer ColorAlphatoRGBA(vector color, float alpha) { | |||
return (((integer)(alpha * 255.0) & 0xFF) << 24) | | |||
(((integer)(color.x * 255.0) & 0xFF) << 16) | | |||
(((integer)(color.y * 255.0) & 0xFF) << 8) | | |||
((integer)(color.z * 255.0) & 0xFF); | |||
} | |||
vector RGBAtoColor(integer rgba) { | |||
return < ((rgba >> 16) & 0xFF) / 255.0, ((rgba >> 8) & 0xFF) / 255.0, (rgba & 0xFF) / 255.0 >; | |||
} | |||
float RGBAtoAlpha(integer rgba) { | |||
return ((rgba >> 24) & 0xFF) / 255.0; | |||
}</source> | |||
}}{{#vardefine:examples| | |||
<source lang="lsl2"> | |||
vector white = <1.0, 1.0, 1.0>; | |||
vector grey = <0.5, 0.5, 0.5>; | |||
vector black = <0.0, 0.0, 0.0>; | |||
vector red = <1.0, 0.0, 0.0>; | |||
vector green = <0.0, 1.0, 0.0>; | |||
vector blue = <0.0, 0.0, 1.0>; | |||
vector yellow = <1.0, 1.0, 0.0>; | |||
vector cyan = <0.0, 1.0, 1.0>; | |||
vector magenta = <1.0, 0.0, 1.0>; | |||
</source> | |||
}}{{LSL Generic/ja}}{{LSLC/ja|Face|Color}} |
Latest revision as of 09:48, 18 December 2015
LSL ポータル | 関数 | イベント | 型 | 演算子 | 定数 | 実行制御 | スクリプトライブラリ | カテゴリ別スクリプトライブラリ | チュートリアル |
Color in LSL
Color in LSLLSLは自身が特別な色の形式を持っています。LSLは色の記憶にvectorを使用します。伝統的なRGB各チャンネルの0から255のようなものではなく、LSLのカラーチャンネルは0から1です。
形式: <R, G, B>
• float | x | – | Red value | [0, 1] |
• float | y | – | Green value | [0, 1] |
• float | z | – | Blue value | [0, 1] |
サンプル
vector white = <1.0, 1.0, 1.0>;
vector grey = <0.5, 0.5, 0.5>;
vector black = <0.0, 0.0, 0.0>;
vector red = <1.0, 0.0, 0.0>;
vector green = <0.0, 1.0, 0.0>;
vector blue = <0.0, 0.0, 1.0>;
vector yellow = <1.0, 1.0, 0.0>;
vector cyan = <0.0, 1.0, 1.0>;
vector magenta = <1.0, 0.0, 1.0>;
便利なスニペット
色とアルファを(から)integerへ(に)記憶(回収)するための応用しやすい関数です
integer ColorAlphatoRGBA(vector color, float alpha) {
return (((integer)(alpha * 255.0) & 0xFF) << 24) |
(((integer)(color.x * 255.0) & 0xFF) << 16) |
(((integer)(color.y * 255.0) & 0xFF) << 8) |
((integer)(color.z * 255.0) & 0xFF);
}
vector RGBAtoColor(integer rgba) {
return < ((rgba >> 16) & 0xFF) / 255.0, ((rgba >> 8) & 0xFF) / 255.0, (rgba & 0xFF) / 255.0 >;
}
float RGBAtoAlpha(integer rgba) {
return ((rgba >> 24) & 0xFF) / 255.0;
}
Pages in category "LSL Color/ja"
The following 18 pages are in this category, out of 18 total.