パッケージ | flash.display |
クラス | public final dynamic class ShaderParameter |
継承 | ShaderParameter Object |
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | Flash Player 10, AIR 1.5 |
value
プロパティに割り当てます。
Shader インスタンスのパラメーターを表す ShaderParameter インスタンスは、Shader インスタンスの data
プロパティのプロパティとしてアクセスします。ShaderParameter プロパティの名前は、シェーダーコードのパラメーター名と同じです。例えば、次に示すように、シェーダーが radius
という名前のパラメーターを定義している場合は、radius
パラメーターを表す ShaderParameter インスタンスに radius
というプロパティでアクセスできます。
var radiusParam:ShaderParameter = myShader.data.radius;
ShaderParameter クラスの定義されたプロパティに加えて、各 ShaderParameter インスタンスには、そのパラメーターに定義されたメタデータに対応する追加のプロパティがあります。これらのプロパティは、ShaderParameter オブジェクトの作成時に追加されます。プロパティ名はシェーダーのソースコードで指定されたメタデータ名と一致します。各プロパティのデータ型は、対応するメタデータのデータ型によって異なります。"description" などのテキストメタデータ値は、String インスタンスです。ストリング以外の値(minValue
、defaultValue
など)を持つメタデータプロパティは、Array インスタンスとなります。エレメント数とエレメントデータ型はメタデータ値に対応します。
例えば、シェーダーに次の 2 つのパラメーター宣言が含まれるとします。
parameter float2 size < description: "The size of the image to which the kernel is applied"; minValue: float2(0.0, 0.0); maxValue: float2(100.0, 100.0); defaultValue: float2(50.0, 50.0); >; parameter float radius < description: "The radius of the effect"; minValue: 0.0; maxValue: 50.0; defaultValue: 25.0; >;
size
パラメーターに対応する ShaderParameter インスタンスは、ビルトインプロパティのほかに、次のメタデータプロパティを持ちます。
プロパティ名 | データ型 | 値 |
---|---|---|
name
| String |
"サイズ"
|
description
| String |
"カーネルが適用されるイメージのサイズ"
|
minValue
| Array |
[0, 0]
|
maxValue
| Array |
[100, 100]
|
defaultValue
| Array |
[50, 50]
|
radius
パラメーターに対応する ShaderParameter には、次の追加プロパティがあります。
プロパティ名 | データ型 | 値 |
---|---|---|
name
| String |
"半径"
|
description
| String |
"エフェクトの半径"
|
minValue
| Array |
[0]
|
maxValue
| Array |
[50]
|
defaultValue
| Array |
[25]
|
一般に、開発者コードでは直接 ShaderParameter インスタンスは作成されません。ShaderParameter インスタンスは、Shader インスタンスが作成されるときに、シェーダーの各パラメーターに対して作成されます。
関連する API エレメント
プロパティ | 定義元 | ||
---|---|---|---|
constructor : Object
指定されたオブジェクトインスタンスのクラスオブジェクトまたはコンストラクター関数への参照です。 | Object | ||
index : int [読み取り専用]
パラメーターのインデックス。このインデックスは 0 から始まります。 | ShaderParameter | ||
type : String [読み取り専用]
シェーダーで定義されているパラメーターのデータ型です。 | ShaderParameter | ||
value : Array
パラメーター値としてシェーダーに渡される値です。 | ShaderParameter |
メソッド | 定義元 | ||
---|---|---|---|
ShaderParameter インスタンスを作成します。 | ShaderParameter | ||
オブジェクトに指定されたプロパティが定義されているかどうかを示します。 | Object | ||
Object クラスのインスタンスが、パラメーターとして指定されたオブジェクトのプロトタイプチェーン内にあるかどうかを示します。 | Object | ||
指定されたプロパティが存在し、列挙できるかどうかを示します。 | Object | ||
ループ処理に対するダイナミックプロパティの可用性を設定します。 | Object | ||
ロケール固有の規則に従って書式設定された、このオブジェクトのストリング表現を返します。 | Object | ||
指定されたオブジェクトのストリング表現を返します。 | Object | ||
指定されたオブジェクトのプリミティブな値を返します。 | Object |
index | プロパティ |
type | プロパティ |
value | プロパティ |
value:Array
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | Flash Player 10, AIR 1.5 |
パラメーター値としてシェーダーに渡される値です。value
プロパティはインデックス付き Array です。Array エレメントの数とタイプはパラメーターのデータ型に対応します。これは、type
プロパティを使用して決定できます。
次の表に、パラメータータイプと対応する value
Array エレメントの数とデータ型を示します。
パラメータータイプ | エレメントの数 | エレメントのデータ型 |
---|---|---|
float(ShaderParameterType.FLOAT ) | 1 | Number |
float2(ShaderParameterType.FLOAT2 ) | 2 | Number |
float3(ShaderParameterType.FLOAT3 ) | 3 | Number |
float4(ShaderParameterType.FLOAT4 ) | 4 | Number |
int(ShaderParameterType.INT ) | 1 | int または uint |
int2(ShaderParameterType.INT2 ) | 2 | int または uint |
int3(ShaderParameterType.INT3 ) | 3 | int または uint |
int4(ShaderParameterType.INT4 ) | 4 | int または uint |
bool(ShaderParameterType.BOOL ) | 1 | Boolean |
bool2(ShaderParameterType.BOOL2 ) | 2 | Boolean |
bool3(ShaderParameterType.BOOL3 ) | 3 | Boolean |
bool4(ShaderParameterType.BOOL4 ) | 4 | Boolean |
float2x2(ShaderParameterType.MATRIX2X2 ) | 4 | Number |
float3x3(ShaderParameterType.MATRIX3X3 ) | 9 | Number |
float4x4(ShaderParameterType.MATRIX4X4 ) | 16 | Number |
マトリックスパラメータータイプの場合、配列エレメントは最初マトリックス行に入力され、次に列に入力されます。例えば、次の ActionScript 行を使用して、float2x2
パラメーターにmyMatrix
という名前をつけて入力するとします。
myShader.data.myMatrix.value = [.1, .2, .3, .4];
シェーダー内で、各マトリックスエレメントは次の値を持ちます。
myMatrix[0][0]
:0.1myMatrix[0][1]
:0.2myMatrix[1][0]
:0.3myMatrix[1][1]
:0.4
実装
public function get value():Array
public function set value(value:Array):void
ShaderParameter | () | コンストラクター |
public function ShaderParameter()
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | Flash Player 10, AIR 1.5 |
ShaderParameter インスタンスを作成します。ShaderParameter コンストラクターは開発者コードでは直接呼び出されません。ShaderParameter インスタンスは、Shader インスタンスが作成されるときに、シェーダーの各パラメーターに対して作成されます。
Tue Jun 12 2018, 10:34 AM Z