Paket | flash.display |
Klass | public final dynamic class ShaderParameter |
Arv | ShaderParameter Object |
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 10, AIR 1.5 |
value
-egenskapen.
En ShaderParameter-instans som representerar en parameter för en Shader-instans är tillgänglig som en egenskap för Shader-instansens data
-egenskap. ShaderParameter-egenskapen har samma namn som parametern i skuggningskoden. Om en skuggning t.ex. definierar en parameter med namnet radius
är den ShaderParameter-instans som representerar radius
-parametern tillgänglig som radius
-egenskapen. Se nedan:
var radiusParam:ShaderParameter = myShader.data.radius;
Förutom de definierade egenskaperna i ShaderParameter-klassen har varje ShaderParameter-instans ytterligare egenskaper som motsvarar eventuella metadata som har definierats för parametern. De här egenskaperna läggs till i ShaderParameter-objektet när det skapas. Egenskapernas namn matchar de metadatanamn som har angetts i skuggningens källkod. Datatypen för varje egenskap varierar enligt datatypen för motsvarande metadata. Ett textmetadatavärde som ”description” är en String-instans. En metadataegenskap med ett icke-strängvärde (t.ex. minValue
eller defaultValue
) representeras som en Array-instans. Antalet element och elementdatatyper motsvarar metadatavärdena.
Anta t.ex. att en skuggning innehåller följande två parameterbeskrivningar:
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; >;
Den ShaderParameter-instans som motsvarar size
-parametern har följande metadataegenskaper förutom de inbyggda egenskaperna:
Egenskapsnamn | Datatyp | Värde |
---|---|---|
namn
| String |
"size"
|
description
| String |
”Storleken på den bild som systemkärnan används på”
|
minValue
| Array |
[0, 0]
|
maxValue
| Array |
[100, 100]
|
defaultValue
| Array |
[50, 50]
|
Den ShaderParameter som motsvarar radius
-parametern har följande egenskaper:
Egenskapsnamn | Datatyp | Värde |
---|---|---|
namn
| String |
"radius"
|
description
| String |
”Effektens radie”
|
minValue
| Array |
[0]
|
maxValue
| Array |
[50]
|
defaultValue
| Array |
[25]
|
I allmänhet skapas inte en ShaderParameter-instans av koden direkt. En ShaderParameter-instans skapas för var och en av skuggningsparametrarna när Shader-instansen skapas.
Relaterade API-element
Egenskap | Definieras med | ||
---|---|---|---|
constructor : Object
En referens till klassobjektet eller konstruktorfunktionen för en given objektinstans. | Object | ||
index : int [skrivskyddad]
Nollbaserat index för parametern. | ShaderParameter | ||
type : String [skrivskyddad]
Parameterns datatyp som den definieras i skuggningen. | ShaderParameter | ||
value : Array
Det eller de värden som skickas som parametervärde till skuggningen. | ShaderParameter |
Metod | Definieras med | ||
---|---|---|---|
Skapar en ShaderParameter-instans. | ShaderParameter | ||
Anger om det finns en egenskap angiven för ett objekt. | Object | ||
Anger om en instans av klassen Object finns i prototypkedjan för objektet som anges som parameter. | Object | ||
Anger om den angivna egenskapen finns och är uppräkningsbar. | Object | ||
Anger tillgänglighet för en dynamisk egenskap för slingåtgärder. | Object | ||
Returnerar det här objektets strängrepresentation, formaterad i enlighet med språkspecifika konventioner. | Object | ||
Returnerar det angivna objektets strängbeteckning. | Object | ||
Returnerar det angivna objektets primitiva värde. | Object |
index | egenskap |
type | egenskap |
type:String
[skrivskyddad] Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 10, AIR 1.5 |
Parameterns datatyp som den definieras i skuggningen. En uppsättning möjliga värden för type
-egenskapen definieras av konstanterna i ShaderParameterType-klassen.
Implementering
public function get type():String
Relaterade API-element
value | egenskap |
value:Array
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 10, AIR 1.5 |
Det eller de värden som skickas som parametervärde till skuggningen. Egenskapen value
är en indexerad array. Numret och typen av element i arrayen motsvarar parameterns datatyp, som kan avgöras med hjälp av egenskapen type
.
I följande tabell visas parametertyp och motsvarande nummer- och datatyp för elementen i value
-arrayen:
Parametertyp | Nummerelement | Elementdatatyp |
---|---|---|
float (ShaderParameterType.FLOAT ) | 1 | Nummer |
float2 (ShaderParameterType.FLOAT2 ) | 2 | Nummer |
float3 (ShaderParameterType.FLOAT3 ) | 3 | Nummer |
float4 (ShaderParameterType.FLOAT4 ) | 4 | Nummer |
int (ShaderParameterType.INT ) | 1 | int och uint |
int2 (ShaderParameterType.INT2 ) | 2 | int och uint |
int3 (ShaderParameterType.INT3 ) | 3 | int och uint |
int4 (ShaderParameterType.INT4 ) | 4 | int och uint |
bool (ShaderParameterType.BOOL ) | 1 | Boolean |
bool2 (ShaderParameterType.BOOL2 ) | 2 | Boolean |
bool3 (ShaderParameterType.BOOL3 ) | 3 | Boolean |
bool4 (ShaderParameterType.BOOL4 ) | 4 | Boolean |
float2x2 (ShaderParameterType.MATRIX2X2 ) | 4 | Nummer |
float3x3 (ShaderParameterType.MATRIX3X3 ) | 9 | Nummer |
float4x4 (ShaderParameterType.MATRIX4X4 ) | 16 | Nummer |
För matrisparametertyperna fyller arrayelementen först raderna och sedan kolumnerna i matrisen. Anta t.ex. att följande rad i ActionScript används för att fylla en float2x2
-parameter som heter myMatrix
:
myShader.data.myMatrix.value = [.1, .2, .3, .4];
Matriselementen i skuggningen har följande värden:
myMatrix[0][0]
: .1myMatrix[0][1]
: .2myMatrix[1][0]
: .3myMatrix[1][1]
: .4
Implementering
public function get value():Array
public function set value(value:Array):void
ShaderParameter | () | Konstruktor |
public function ShaderParameter()
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 10, AIR 1.5 |
Skapar en ShaderParameter-instans. ShaderParameter-konstruktorn anropas inte direkt av koden. En ShaderParameter-instans skapas för var och en av skuggningsparametrarna när Shader-instansen skapas.
Tue Jun 12 2018, 01:40 PM Z