Package | flash.display |
Classe | public final dynamic class ShaderParameter |
Héritage | ShaderParameter Object |
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | Flash Player 10, AIR 1.5 |
value
.
Une occurrence de ShaderParameter représentant un paramètre pour une occurrence de Shader est accédée en tant que propriété de la propriété data
du Shader. La propriété ShaderParameter a le même nom que celui du paramètre dans le code du shader. Par exemple, si un shader définit un paramètre nommé radius
, l’occurrence de ShaderParameter représentant le paramètre radius
est disponible en tant que propriété radius
, comme le montre cet exemple :
var radiusParam:ShaderParameter = myShader.data.radius;
En plus des propriétés définies pour la classe ShaderParameter, chaque occurrence de ShaderParameter possède des propriétés supplémentaires correspondant à toutes métadonnées définies pour le paramètre. Ces propriétés sont ajoutées à l’objet ShaderParameter lors de sa création. Le nom des propriétés correspond à celui des métadonnées spécifiées dans le code source du shader. Le type de données de chaque propriété dépend du type de données des métadonnées correspondantes. Une valeur de métadonnées texte telle que « description » est une occurrence String. Une propriété de métadonnées avec une valeur non chaîne (telle que minValue
ou defaultValue
) est représentée par une occurrence Array. Le nombre d’éléments et les types de données des éléments correspondent aux valeurs des métadonnées.
Supposons par exemple qu’un shader comprenne les deux déclarations de paramètres suivantes :
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’occurrence de ShaderParameter correspondant au paramètre size
a les propriétés de métadonnées suivantes, en plus de ses propriétés intégrées :
Nom de propriété | Type de données | Valeur |
---|---|---|
name
| String |
"size"
|
description
| String |
"Taille de l’image à laquelle ks'applique le noyau"
|
minValue
| Array |
[0, 0]
|
maxValue
| Array |
[100, 100]
|
defaultValue
| Array |
[50, 50]
|
Le ShaderParameter correspondant au paramètre radius
a les propriétés supplémentaires suivantes :
Property name | Type de données | Valeur |
---|---|---|
name
| String |
"radius"
|
description
| String |
"Radius de l’effet"
|
minValue
| Array |
[0]
|
maxValue
| Array |
[50]
|
defaultValue
| Array |
[25]
|
En général, le code du développeur ne crée pas directement d’occurrence de ShaderParameter. Une occurrence de ShaderParameter est créée pour chacun des paramètres d’un shader lors de la création de l’occurrence de Shader.
Plus d’exemples
Eléments de l’API associés
Propriété | Défini par | ||
---|---|---|---|
constructor : Object
Référence à l’objet de classe ou à la fonction constructeur d’une occurrence donnée d’un objet. | Object | ||
index : int [lecture seule]
Index du paramètre (de base zéro). | ShaderParameter | ||
type : String [lecture seule]
Type de données du paramètre tel que défini dans le shader. | ShaderParameter | ||
value : Array
La ou les valeurs transmises en tant que valeur du paramètre au shader. | ShaderParameter |
Méthode | Défini par | ||
---|---|---|---|
Crée une occurrence de ShaderParameter. | ShaderParameter | ||
Indique si la propriété spécifiée d’un objet est définie. | Object | ||
Indique si une occurrence de la classe Object figure dans la chaîne de prototype de l’objet spécifié en tant que paramètre. | Object | ||
Indique si la propriété spécifiée existe et est énumérable. | Object | ||
Définit la disponibilité d’une propriété dynamique pour les opérations en boucle. | Object | ||
Renvoie la représentation de chaîne de cet objet, formatée selon les paramètres régionaux en vigueur. | Object | ||
Renvoie la représentation sous forme de chaîne de l’objet spécifié. | Object | ||
Renvoie la valeur primitive de l’objet spécifié. | Object |
index | propriété |
type | propriété |
type:String
[lecture seule] Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | Flash Player 10, AIR 1.5 |
Type de données du paramètre tel que défini dans le shader. L’ensemble des valeurs potentielles de la propriété type
est défini par les constantes de la classe ShaderParameterType.
Implémentation
public function get type():String
Eléments de l’API associés
value | propriété |
value:Array
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | Flash Player 10, AIR 1.5 |
La ou les valeurs transmises en tant que valeur du paramètre au shader. La propriété value
est un Array indexé. Le nombre et le type des éléments du Array correspondent au type de données du paramètre, que la propriété type
permet de déterminer.
Le tableau suivant indique le type du paramètre et le nombre et le type de données correspondant des éléments value
du Array :
Type de paramètre | # Eléments | Type de données de l’élément |
---|---|---|
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 ou uint |
int2 (ShaderParameterType.INT2 ) | 2 | int ou uint |
int3 (ShaderParameterType.INT3 ) | 3 | int ou uint |
int4 (ShaderParameterType.INT4 ) | 4 | int ou uint |
bool (ShaderParameterType.BOOL ) | 1 | Boolean |
bool2 (ShaderParameterType.BOOL2 ) | 2 | Boolean |
bool3 (ShaderParameterType.BOOL3 ) | 3 | Boolean |
bool4 (ShaderParameterType.BOOL4 ) | 4 | Valeur booléenne |
float2x2 (ShaderParameterType.MATRIX2X2 ) | 4 | Number |
float3x3 (ShaderParameterType.MATRIX3X3 ) | 9 | Number |
float4x4 (ShaderParameterType.MATRIX4X4 ) | 16 | Number |
Pour les paramètres de type matrix, les éléments du tableau remplissent d'abord les lignes de la matrice, puis les colonnes. Par exemple, supposons que la ligne suivante de code ActionScript soit utilisée pour remplir un paramètre float2x2
nommé myMatrix
:
myShader.data.myMatrix.value = [.1, .2, .3, .4];
A l’intérieur du shader, les éléments de la matrice ont les valeurs suivantes :
myMatrix[0][0]
: .1myMatrix[0][1]
: .2myMatrix[1][0]
: .3myMatrix[1][1]
: .4
Implémentation
public function get value():Array
public function set value(value:Array):void
ShaderParameter | () | Constructeur |
public function ShaderParameter()
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | Flash Player 10, AIR 1.5 |
Crée une occurrence de ShaderParameter. Le code du développeur n’appelle pas directement le constructeur ShaderParameter. Une occurrence de ShaderParameter est créée pour chacun des paramètres d’un shader lors de la création de l’occurrence de Shader.
Tue Jun 12 2018, 09:30 AM Z