Paket | flash.display |
Klasse | public final dynamic class ShaderParameter |
Vererbung | ShaderParameter Object |
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | Flash Player 10, AIR 1.5 |
value
-Eigenschaft zu.
Auf eine ShaderParameter-Instanz, die einen Parameter für eine Shader-Instanz darstellt, wird als Eigenschaft der data
-Eigenschaft der Shader-Instanz zugegriffen. Der Name der ShaderParameter-Eigenschaft ist derselbe wie der Parametername im Shadercode. Wenn beispielsweise in einem Shader ein Parameter namens radius
definiert ist, ist die ShaderParameter-Instanz, die den radius
-Parameter darstellt, als radius
-Eigenschaft verfügbar, wie hier zu sehen ist:
var radiusParam:ShaderParameter = myShader.data.radius;
Zusätzlich zu den definierten Eigenschaften der ShaderParameter-Klasse hat jede ShaderParameter-Instanz weitere Eigenschaften, die den für den Parameter festgelegten Metadaten entsprechen. Diese Eigenschaften werden dem ShaderParameter-Objekt bei der Erstellung hinzugefügt. Die Namen der Eigenschaften stimmen mit den im Shaderquellcode festgelegten Metadatennamen überein. Der Datentyp der Eigenschaft hängt vom Datentyp der jeweils entsprechenden Metadaten ab. Ein Textmetadatenwert wie etwa „description“ ist eine String-Instanz. Eine Metadateneigenschaft mit einem Wert, der kein String ist (wie z. B. minValue
oder defaultValue
) wird als Array-Instanz dargestellt. Die Anzahl an Elementen und Elementdatentypen entspricht den Metadatenwerten.
Gehen Sie etwa von einem Shader mit den folgenden beiden Parameterdeklarationen aus:
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; >;
Die dem size
-Parameter entsprechende ShaderParameter-Instanz verfügt zusätzlich zu ihren integrierten Eigenschaften über die folgenden Metadateneigenschaften:
Eigenschaftsname | Datentyp | Wert |
---|---|---|
name
| String |
"size"
|
description
| String |
"The size of the image to which the kernel is applied"
|
minValue
| Array |
[0, 0]
|
maxValue
| Array |
[100, 100]
|
defaultValue
| Array |
[50, 50]
|
Der dem radius
-Parameter entsprechende ShaderParameter hat die folgenden zusätzlichen Eigenschaften:
Eigenschaftsname | Datentyp | Wert |
---|---|---|
name
| String |
"radius"
|
description
| String |
"The radius of the effect"
|
minValue
| Array |
[0]
|
maxValue
| Array |
[50]
|
defaultValue
| Array |
[25]
|
Im Allgemeinen wird eine ShaderParameter-Instanz nicht direkt durch Entwicklercode erstellt. Bei der Erstellung der Shader-Instanz wird für jeden Shaderparameter eine ShaderParameter-Instanz erstellt.
Verwandte API-Elemente
Eigenschaft | Definiert von | ||
---|---|---|---|
constructor : Object
Ein Verweis auf das Klassenobjekt oder die Konstruktorfunktion für eine angegebene Objektinstanz. | Object | ||
index : int [schreibgeschützt]
Die auf null basieremde Indexposition des Parameters. | ShaderParameter | ||
type : String [schreibgeschützt]
Der Datentyp des Parameters, wie im Shader definiert. | ShaderParameter | ||
value : Array
Der Wert bzw. die Werte, die als Parameterwerte an den Shader übergeben werden. | ShaderParameter |
Methode | Definiert von | ||
---|---|---|---|
Erstellt eine ShaderParameter-Instanz. | ShaderParameter | ||
Gibt an, ob für ein Objekt eine bestimmte Eigenschaft definiert wurde. | Object | ||
Gibt an, ob eine Instanz der Object-Klasse in der Prototypkette des Objekts vorhanden ist, das als Parameter angegeben wurde. | Object | ||
Gibt an, ob die angegebene Eigenschaft vorhanden ist und durchlaufen werden kann. | Object | ||
Legt die Verfügbarkeit einer dynamischen Eigenschaft für Schleifenoperationen fest. | Object | ||
Gibt die Stringdarstellung dieses Objekts zurück, formatiert entsprechend den Konventionen des Gebietsschemas. | Object | ||
Gibt das angegebene Objekt als String zurück. | Object | ||
Gibt den Grundwert des angegebenen Objekts zurück. | Object |
index | Eigenschaft |
type | Eigenschaft |
type:String
[schreibgeschützt] Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | Flash Player 10, AIR 1.5 |
Der Datentyp des Parameters, wie im Shader definiert. Der Satz der möglichen Werte für die type
-Eigenschaft wird durch die Konstanten in der ShaderParameterType-Klasse definiert.
Implementierung
public function get type():String
Verwandte API-Elemente
value | Eigenschaft |
value:Array
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | Flash Player 10, AIR 1.5 |
Der Wert bzw. die Werte, die als Parameterwerte an den Shader übergeben werden. Die value
-Eigenschaft ist ein indiziertes Array. Anzahl und Typ der Elemente im Array entsprechen dem Datentyp des Parameters, der mithilfe der type
-Eigenschaft festgelegt wird.
Die folgende Tabelle zeigt den Parametertyp und die zugehörige Anzahl sowie den zugehörigen Datentyp der Elemente im value
-Arrays an:
Parametertyp | Anzahl Elemente | Datentyp Elemente |
---|---|---|
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 oder uint |
int2 (ShaderParameterType.INT2 ) | 2 | int oder uint |
int3 (ShaderParameterType.INT3 ) | 3 | int oder uint |
int4 (ShaderParameterType.INT4 ) | 4 | int oder uint |
bool (ShaderParameterType.BOOL ) | 1 | Boolescher Ausdruck |
bool2 (ShaderParameterType.BOOL2 ) | 2 | Boolescher Ausdruck |
bool3 (ShaderParameterType.BOOL3 ) | 3 | Boolescher Ausdruck |
bool4 (ShaderParameterType.BOOL4 ) | 4 | Boolescher Ausdruck |
float2x2 (ShaderParameterType.MATRIX2X2 ) | 4 | Number |
float3x3 (ShaderParameterType.MATRIX3X3 ) | 9 | Number |
float4x4 (ShaderParameterType.MATRIX4X4 ) | 16 | Number |
Bei den Matrixparametertypen füllen die Arrayelemente zuerst die Zeilen der Matrix, dann die Spalten aus. Angenommen, mit der folgenden Zeile ActionScript-Code soll ein float2x2
-Parameter namens myMatrix
gefüllt werden:
myShader.data.myMatrix.value = [.1, .2, .3, .4];
Im Shader haben die Matrixelemente die folgenden Werte:
myMatrix[0][0]
: .1myMatrix[0][1]
: .2myMatrix[1][0]
: .3myMatrix[1][1]
: .4
Implementierung
public function get value():Array
public function set value(value:Array):void
ShaderParameter | () | Konstruktor |
public function ShaderParameter()
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | Flash Player 10, AIR 1.5 |
Erstellt eine ShaderParameter-Instanz. Der ShaderParameter-Konstruktor wird nicht direkt durch den Entwicklercode aufgerufen. Bei der Erstellung der Shader-Instanz wird für jeden Shaderparameter eine ShaderParameter-Instanz erstellt.
Tue Jun 12 2018, 10:04 AM Z