| 包 | 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 的总长度(以字节为单位)必须正好为:
widthxheightxchannelsx 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):voidwidth | 属性 |
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
隐藏继承的公共属性
显示继承的公共属性