套件 | 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 時針對下列項目指定輸入:
- 著色器填色
- 如果著色器定義為使用 1 個以上的輸入時,只需針對第二個或其它的輸入指定 ShaderFilter (要透用濾鏡的物件會被自動當作第一個輸入來使用)。
- 如果著色器定義為使用 2 個以上的輸入時,只需針對第三個或其它的輸入指定著色器混合模式 (正在轉換的物件會被自動當成第一個與第二個輸入來使用)。
- ShaderJob 背景執行作業
如果著色器是使用 ShaderJob 實體來執行以處理包含資料線性陣列的 ByteArray,請在 ByteArray 中將 ShaderInput 實體的 height
設為 1 並將其 width
設為 32 位元浮點值的數字。 在此情況下,著色器中的輸入必須使用 image1
資料類型來定義。
一般而言,開發人員程式碼不會直接建立 ShaderInput 實體。ShaderInput 實體會在建立 Shader 實體時針對每一個著色器輸入建立。
相關 API 元素
屬性 | 定義自 | ||
---|---|---|---|
channels : int [唯讀]
著色器輸入預期的色版數目。 | ShaderInput | ||
constructor : Object
類別物件的參照或是特定物件實體的建構函數。 | Object | ||
height : int
著色器輸入的高度。 | ShaderInput | ||
index : int [唯讀]
著色器中的輸入索引 (從零開始),指出著色器中輸入定義的順序。 | 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
乘以height
乘以channels
乘以 4 的值。 - 位元組陣列的
endian
屬性必須是Endian.LITTLE_ENDIAN
。
如果將 Vector.<Number> 實體指派給 input
屬性,則 Vector 的長度必須等於 width
乘以 height
乘以 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 建構函式。ShaderInput 實體會在建立 Shader 實體時針對每一個著色器輸入建立。
Tue Jun 12 2018, 03:47 PM Z