Pacchetto | flash.display |
Classe | public final dynamic class ShaderParameter |
Ereditarietà | ShaderParameter Object |
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | Flash Player 10, AIR 1.5 |
value
.
Un'istanza ShaderParameter che rappresenta un parametro per un'istanza Shader è accessibile come una proprietà della proprietà data
dell'istanza Shader. La proprietà ShaderParameter ha lo stesso nome del parametro nel codice dello shader. Se, ad esempio, uno shader definisce un parametro denominato radius
, l'istanza ShaderParameter che rappresenta il parametro radius
è disponibile come proprietà radius
, come illustrato di seguito:
var radiusParam:ShaderParameter = myShader.data.radius;
Oltre alle proprietà definite della classe ShaderParameter, ogni istanza ShaderParameter dispone di proprietà aggiuntive corrispondenti agli eventuali metadati definiti per il parametro. Queste proprietà vengono aggiunte all'oggetto ShaderParameter al momento della creazione. I nomi delle proprietà corrispondono ai nomi dei metadati specificati nel codice sorgente dello shader. Il tipo di dati di ogni proprietà varia in base al tipo di dati dei metadati corrispondenti. Un valore dei metadati di testo, ad esempio come "description" è un'istanza String. Una proprietà dei metadati con un valore non di tipo stringa (ad esempio minValue
o defaultValue
) è rappresentata come un'istanza Array. Il numero di elementi e i tipi di dati degli elementi corrispondono ai valori dei metadati.
Supponete, ad esempio, che uno shader includa le seguenti due dichiarazioni di parametri:
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; >;
L'istanza ShaderParameter corrispondente al parametro size
ha le seguenti proprietà dei metadati, oltre alle relative proprietà incorporate:
Nome proprietà | Tipo di dati | Valore |
---|---|---|
name
| String |
"size"
|
description
| String |
"Le dimensioni dell'immagine a cui viene applicato il kernel"
|
minValue
| Array |
[0, 0]
|
maxValue
| Array |
[100, 100]
|
defaultValue
| Array |
[50, 50]
|
L'istanza ShaderParameter corrispondente al parametro radius
ha le seguenti proprietà aggiuntive:
Nome proprietà | Tipo di dati | Valore |
---|---|---|
name
| String |
"raggio"
|
description
| String |
"Il raggio dell'effetto"
|
minValue
| Array |
[0]
|
maxValue
| Array |
[50]
|
defaultValue
| Array |
[25]
|
Di solito, il codice dello sviluppatore non crea direttamente un'istanza ShaderParameter. Un'istanza ShaderParameter viene creata per ogni parametro dello shader al momento della creazione dell'istanza Shader.
Altri esempi
Elementi API correlati
Proprietà | Definito da | ||
---|---|---|---|
constructor : Object
Un riferimento all'oggetto classe o alla funzione di costruzione per una determinata istanza di oggetto. | Object | ||
index : int [sola lettura]
L'indice del parametro a base zero. | ShaderParameter | ||
type : String [sola lettura]
Il tipo di dati del parametro definito nello shader. | ShaderParameter | ||
value : Array
Il valore o i valori passati allo shader come valore del parametro. | ShaderParameter |
Metodo | Definito da | ||
---|---|---|---|
Crea un'istanza ShaderParameter. | ShaderParameter | ||
Indica se per un oggetto è definita una proprietà specifica. | Object | ||
Indica se un'istanza della classe Object si trova nella catena di prototipi dell'oggetto specificato come parametro. | Object | ||
Indica se la proprietà specificata esiste ed è enumerabile. | Object | ||
Imposta la disponibilità di una proprietà dinamica per le operazioni cicliche. | Object | ||
Restituisce la rappresentazione in formato stringa di questo oggetto, formattato in base alle convenzioni specifiche per le versioni localizzate. | Object | ||
Restituisce la rappresentazione in formato stringa dell'oggetto specificato. | Object | ||
Restituisce il valore di base dell'oggetto specificato. | Object |
index | proprietà |
type | proprietà |
type:String
[sola lettura] Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | Flash Player 10, AIR 1.5 |
Il tipo di dati del parametro definito nello shader. L'insieme di possibili valori per la proprietà type
viene definito dalle costanti nella classe ShaderParameterType.
Implementazione
public function get type():String
Elementi API correlati
value | proprietà |
value:Array
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | Flash Player 10, AIR 1.5 |
Il valore o i valori passati allo shader come valore del parametro. La proprietà value
è un array indicizzato. Il numero e il tipo degli elementi dell'array corrispondono al tipo di dati del parametro, che può essere determinato utilizzando la proprietà type
.
Nella seguente tabella sono riportati il tipo di parametro e il corrispondente tipo di dati e numero degli elementi dell'array value
:
Tipo di parametro | N° elementi | Tipo di dati degli elementi |
---|---|---|
float (ShaderParameterType.FLOAT ) | 1 | Number |
float2 (ShaderParameterType.FLOAT2 ) | 2 | Number |
float3 (ShaderParameterType.FLOAT3 ) | 3 | Number |
float4 (ShaderParameterType.FLOAT4 ) | 4 | Number |
int (ShaderParameterType.INT ) | 1 | int o uint |
int2 (ShaderParameterType.INT2 ) | 2 | int o uint |
int3 (ShaderParameterType.INT3 ) | 3 | int o uint |
int4 (ShaderParameterType.INT4 ) | 4 | int o 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 | Number |
float3x3 (ShaderParameterType.MATRIX3X3 ) | 9 | Number |
float4x4 (ShaderParameterType.MATRIX4X4 ) | 16 | Number |
Per i tipi di parametri della matrice, gli elementi dell'array completano prima le righe della matrice, quindi le colonne. Supponete, ad esempio, di utilizzare la seguente riga di codice ActionScript per completare un parametro float2x2
denominato myMatrix
:
myShader.data.myMatrix.value = [.1, .2, .3, .4];
All'interno dello shader, gli elementi della matrice hanno i seguenti valori:
myMatrix[0][0]
: .1myMatrix[0][1]
: .2myMatrix[1][0]
: .3myMatrix[1][1]
: .4
Implementazione
public function get value():Array
public function set value(value:Array):void
ShaderParameter | () | Funzione di costruzione |
public function ShaderParameter()
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | Flash Player 10, AIR 1.5 |
Crea un'istanza ShaderParameter. Il codice dello sviluppatore non chiama direttamente la funzione di costruzione ShaderParameter. Un'istanza ShaderParameter viene creata per ogni parametro dello shader al momento della creazione dell'istanza Shader.
Tue Jun 12 2018, 02:44 PM Z