用于 Adobe® Flash® Platform 的 ActionScript® 3.0 参考
主页  |  隐藏包列表和类列表 |   |   |  新增内容  |  索引  |  附录  |  为什么显示为英语?
过滤条件: 正在从服务器检索数据...
正在从服务器检索数据...
flash.display 

ShaderParameter  - AS3

flash.display
public final dynamic class ShaderParameter
继承ShaderParameter Inheritance Object

语言版本: ActionScript 3.0
运行时版本: Flash Player 10, AIR 1.5

ShaderParameter 实例表示着色器内核的单一输入参数。可以将内核定义为接受在内核执行过程中使用的 0 个、1 个或更多参数。ShaderParameter 提供有关参数的信息,比如参数所需数据的类型。它还提供一个机制,用于设置在着色器执行时使用的参数值。要为着色器参数指定一个或多个值,请创建包含这个值或这些值的数组,并将其赋予 value 属性。

表示 Shader 实例的参数的 ShaderParameter 实例将作为 Shader 实例的 data 属性的一个属性进行访问。ShaderParameter 属性的名称与着色器代码中参数的名称相同。例如,如果着色器定义一个名为 radius 的参数,则表示 radius 参数的 ShaderParameter 实例可作为 radius 属性使用,如下所示:

var radiusParam:ShaderParameter = myShader.data.radius;

除了 ShaderParameter 类的已定义属性外,每个 ShaderParameter 实例还具有与为参数定义的任何元数据对应的附加属性。创建 ShaderParameter 对象时会将这些属性添加到该对象中。这些属性的名称与着色器源代码中指定的元数据名称相匹配。每个属性的数据类型因对应元数据的数据类型而异。文本元数据值(如“description”)是 String 实例。具有非字符串值(如 minValuedefaultValue)的元数据属性表示为 Array 实例。元素的数量和元素数据类型对应于元数据值。

例如,假设一个着色器包括以下两个参数声明:

     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 字符串 "size"
description 字符串 "The size of the image to which the kernel is applied"
minValue Array [0, 0]
maxValue Array [100, 100]
defaultValue Array [50, 50]

对应于 radius 参数的 ShaderParameter 具有以下附加属性:

属性名称数据类型
name 字符串 "radius"
description 字符串 "The radius of the effect"
minValue Array [0]
maxValue Array [50]
defaultValue Array [25]

通常,开发人员代码不直接创建 ShaderParameter 实例。在创建 Shader 实例时,将为着色器的每个参数创建一个 ShaderParameter 实例。

相关 API 元素



公共属性
 属性由以下参数定义
 Inheritedconstructor : Object
对类对象或给定对象实例的构造函数的引用。
Object
  index : int
[只读] 参数的从 0 开始的索引。
ShaderParameter
  type : String
[只读] 着色器中定义的参数的数据类型。
ShaderParameter
  value : Array
以参数值形式传入到着色器的一个或多个值。
ShaderParameter
公共方法
 方法由以下参数定义
  
创建 ShaderParameter 实例。
ShaderParameter
 Inherited
表示对象是否已经定义了指定的属性。
Object
 Inherited
表示 Object 类的实例是否在指定为参数的对象的原型链中。
Object
 Inherited
表示指定的属性是否存在、是否可枚举。
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

相关 API 元素

value

属性 
value:Array

语言版本: ActionScript 3.0
运行时版本: Flash Player 10, AIR 1.5

以参数值形式传入到着色器的一个或多个值。value 属性为索引数组。数组元素的数量和类型对应于参数的数据类型(可使用 type 属性确定)。

下表表示参数类型以及 value 数组元素的对应数量和数据类型:

参数类型元素数量元素数据类型
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 行来填充名为 myMatrixfloat2x2 参数:

myShader.data.myMatrix.value = [.1, .2, .3, .4];

在着色器内,矩阵元素具有以下值:

  • myMatrix[0][0]: .1
  • myMatrix[0][1]: .2
  • myMatrix[1][0]: .3
  • myMatrix[1][1]: .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 构造函数。在创建 Shader 实例时,将为着色器的每个参数创建一个 ShaderParameter 实例。





[ X ]为什么显示为英语?
《ActionScript 3.0 参考》中的内容以英语显示

《ActionScript 3.0 参考》中的部分内容未翻译成所有语言。当某个语言元素未翻译时,将显示为英语。例如,ga.controls.HelpBox 类未翻译成任何语言。因此在简体中文版的参考中,ga.controls.HelpBox 类显示为英语。