| 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():StringRelaterade 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):voidShaderParameter | () | 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
Dölj ärvda publika egenskaper
Visa ärvda publika egenskaper