パッケージflash.display
クラスpublic final dynamic class ShaderParameter
継承ShaderParameter Inheritance Object

ShaderParameter インスタンスはシェーダカーネルの 1 つの入力パラメータを表します。カーネル実行で使用する 0、1、またはそれ以上のパラメータを許可するようにカーネルを定義できます。ShaderParameter は、対応するデータ型などのパラメータに関する情報を提供します。また、シェーダの実行時に使用するパラメータ値を設定するメカニズムも提供します。シェーダパラメータの値を指定するには、値が入った Array を作成し、それを value プロパティに割り当てます。

Shader インスタンスのパラメータを表す ShaderParameter インスタンスは、Shader インスタンスの data プロパティのプロパティとしてアクセスします。ShaderParameter プロパティの名前は、シェーダコードのパラメータ名と同じです。例えば、次に示すように、シェーダが radius という名前のパラメータを定義すると、radius パラメータを表す ShaderParameter インスタンスが radius プロパティとして使用できます。

var radiusParam:ShaderParameter = myShader.data.radius;

ShaderParameter クラスの定義されたプロパティに加えて、各 ShaderParameter インスタンスには、そのパラメータに定義されたメタデータに対応する追加のプロパティがあります。これらのプロパティは、ShaderParameter オブジェクトの作成時に追加されます。プロパティ名はシェーダのソースコードで指定されたメタデータ名と一致します。各プロパティのデータ型は、対応するメタデータのデータ型によって異なります。"description" などのテキストメタデータ値は、String インスタンスです。ストリング以外の値(minValuedefaultValue など)を持つメタデータプロパティは、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 インスタンスが作成されるときに、シェーダの各パラメータに対して作成されます。

関連項目

flash.display.ShaderData
flash.display.Shader.data


パブリックプロパティ
 プロパティ定義元
 Inheritedconstructor : Object
指定されたオブジェクトインスタンスのクラスオブジェクトまたはコンストラクタ関数への参照です。
Object
  index : int
[読み取り専用] パラメータのインデックス。このインデックスは 0 から始まります。
ShaderParameter
 Inheritedprototype : Object
[静的] クラスまたは関数オブジェクトのプロトタイプオブジェクトへの参照です。
Object
  type : String
[読み取り専用] シェーダで定義されているパラメータのデータ型です。
ShaderParameter
  value : Array
パラメータ値としてシェーダに渡される値です。
ShaderParameter
パブリックメソッド
 メソッド定義元
  
ShaderParameter インスタンスを作成します。
ShaderParameter
 Inherited
オブジェクトに指定されたプロパティが定義されているかどうかを示します。
Object
 Inherited
Object クラスのインスタンスが、パラメータとして指定されたオブジェクトのプロトタイプチェーン内にあるかどうかを示します。
Object
 Inherited
指定されたプロパティが存在し、列挙できるかどうかを示します。
Object
 Inherited
ループ処理に対するダイナミックプロパティの可用性を設定します。
Object
 Inherited
指定されたオブジェクトのストリング表現を返します。
Object
 Inherited
指定されたオブジェクトのプリミティブな値を返します。
Object
プロパティの詳細
indexプロパティ
index:int  [読み取り専用]

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 10, AIR 1.5

パラメータのインデックス。このインデックスは 0 から始まります。



実装
    public function get index():int
typeプロパティ 
type:String  [読み取り専用]

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 10, AIR 1.5

シェーダで定義されているパラメータのデータ型です。type プロパティで使用可能な値セットは、ShaderParameterType クラスの定数によって定義されます。



実装
    public function get type():String

関連項目

valueプロパティ 
value:Array

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 10, AIR 1.5

パラメータ値としてシェーダに渡される値です。value プロパティはインデックス付き Array です。Array エレメントの数とタイプはパラメータのデータ型に対応します。これは、type プロパティを使用して決定できます。

次の表に、パラメータタイプと対応する value Array エレメントの数とデータ型を示します。

パラメータタイプエレメントの数エレメントのデータ型
float (ShaderParameterType.FLOAT)1Number
float2 (ShaderParameterType.FLOAT2)2Number
float3 (ShaderParameterType.FLOAT3)3Number
float4 (ShaderParameterType.FLOAT4)4Number
int (ShaderParameterType.INT)1int または uint
int2 (ShaderParameterType.INT2)2int または uint
int3 (ShaderParameterType.INT3)3int または uint
int4 (ShaderParameterType.INT4)4int または uint
bool (ShaderParameterType.BOOL)1Boolean
bool2 (ShaderParameterType.BOOL2)2Boolean
bool3 (ShaderParameterType.BOOL3)3Boolean
bool4 (ShaderParameterType.BOOL4)4Boolean
float2x2 (ShaderParameterType.MATRIX2X2)4Number
float3x3 (ShaderParameterType.MATRIX3X3)9Number
float4x4 (ShaderParameterType.MATRIX4X4)16Number

マトリックスパラメータタイプの場合、配列エレメントは最初マトリックス行に入力され、次に列に入力されます。例えば、次の ActionScript 行を使用して、myMatrix という名前の float2x2 パラメータを入力するとします。

myShader.data.myMatrix.value = [.1, .2, .3, .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 インスタンスが作成されるときに、シェーダの各パラメータに対して作成されます。





 

 

このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。 | コメントレポート

現在のページ: http://livedocs.adobe.com/flex/3_jp/langref/flash/display/ShaderParameter.html