包 | flash.display |
类 | public final dynamic class ShaderInput |
继承 | ShaderInput Object |
语言版本: | ActionScript 3.0 |
运行时版本: | Flash Player 10, AIR 1.5 |
input
属性。
表示 Shader 实例的输入图像的 ShaderInput 实例将作为 Shader 实例的 data
属性的一个属性进行访问。ShaderInput 属性的名称与着色器代码中输入的名称相同。例如,如果着色器定义一个名为 src
的输入,则表示 src
输入的 ShaderInput 实例可作为 src
属性使用,如此示例所示:
myShader.data.src.input = new BitmapData(50, 50, true, 0xFF990000);
对于 Shader 实例的某些用法,您无需指定输入图像,因为操作会自动指定输入图像。您只需要在 Shader 用于以下各项时指定输入:
- 着色器填充
- ShaderFilter:如果将着色器定义为使用一个以上的输入,则只适用于第二个输入或其他输入。(将自动使用应用了滤镜的对象作为第一个输入。)
- 着色器混合模式:如果将着色器定义为使用两个以上的输入,则只适用于第三个输入或其他输入。(将自动使用正在进行混合的对象作为第一个和第二个输入。)
- ShaderJob background execution
如果正在使用 ShaderJob 实例执行着色器来处理包含线性数据数组的 ByteArray,请在 ByteArray 中将 ShaderInput 实例的 height
设置为 1,并将 width
设置为 32 位浮点值数字。在这种情况下,必须将着色器中的输入定义为具有 image1
数据类型。
通常,开发人员代码不直接创建 ShaderInput 实例。在创建 Shader 实例时,将为着色器的每个输入创建一个 ShaderInput 实例。
相关 API 元素
属性 | 由以下参数定义 | ||
---|---|---|---|
channels : int [只读]
着色器输入所需的通道数量。 | ShaderInput | ||
constructor : Object
对类对象或给定对象实例的构造函数的引用。 | Object | ||
height : int
着色器输入的高度。 | ShaderInput | ||
index : int [只读]
着色器中的输入从 0 开始的索引,表示着色器中输入定义的顺序。 | ShaderInput | ||
input : Object
在着色器执行时使用的输入数据。 | ShaderInput | ||
width : int
着色器输入的宽度。 | ShaderInput |
方法 | 由以下参数定义 | ||
---|---|---|---|
创建 ShaderInput 实例。 | ShaderInput | ||
表示对象是否已经定义了指定的属性。 | Object | ||
表示 Object 类的实例是否在指定为参数的对象的原型链中。 | Object | ||
表示指定的属性是否存在、是否可枚举。 | Object | ||
设置循环操作动态属性的可用性。 | Object | ||
返回此对象的字符串表示形式,其格式设置遵守区域设置特定的约定。 | Object | ||
返回指定对象的字符串表示形式。 | Object | ||
返回指定对象的原始值。 | Object |
channels | 属性 |
height | 属性 |
index | 属性 |
input | 属性 |
input:Object
语言版本: | ActionScript 3.0 |
运行时版本: | Flash Player 10, AIR 1.5 |
在着色器执行时使用的输入数据。此属性可以是 BitmapData 实例、ByteArray 实例或 Vector.<Number> 实例。
如果将 ByteArray 值赋予 input
属性,则必须满足下列条件:
- 必须设置
height
和width
属性。 - 字节数组的内容必须只包含 32 位浮点值。可以使用
ByteArray.writeFloat()
方法写入这些值。 - ByteArray 的总长度(以字节为单位)必须正好为:
width
xheight
xchannels
x 4。 - 字节数组的
endian
属性必须为Endian.LITTLE_ENDIAN
。
如果将 Vector.<Number> 实例赋予 input
属性,则 Vector 的长度必须等于:width
x height
x channels
。
实现
public function get input():Object
public function set input(value:Object):void
width | 属性 |
ShaderInput | () | 构造函数 |
public function ShaderInput()
语言版本: | ActionScript 3.0 |
运行时版本: | Flash Player 10, AIR 1.5 |
创建 ShaderInput 实例。开发人员代码不直接调用 ShaderInput 构造函数。在创建 Shader 实例时,将为着色器的每个输入创建一个 ShaderInput 实例。
Tue Jun 12 2018, 11:04 AM Z