ActionScript® 3.0 Referenzhandbuch für die Adobe® Flash®-Plattform
Home  |  Liste der Pakete und Klassen ausblenden |  Pakete  |  Klassen  |  Neue Funktionen  |  Stichwortverzeichnis  |  Anhänge  |  Warum auf Englisch?
Filter: Daten werden vom Server abgerufen...
Daten werden vom Server abgerufen...
flash.display 

ShaderParameter  - AS3

Paketflash.display
Klassepublic final dynamic class ShaderParameter
VererbungShaderParameter Inheritance Object

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 10, AIR 1.5

Eine ShaderParameter-Instanz stellt einen einzelnen Eingabeparameter für ein Shaderkernel dar. Ein Kernel kann so definiert sein, dass es null, einen oder mehrere Parameter akzeptiert, die bei der Kernelausführung verwendet werden. Ein ShaderParameter stellt Informationen zum Parameter bereit, z. B. welcher Datentyp erwartet wird. Er stellt auch einen Mechanismus für das Einstellen des Parameterwerts, der bei der Shaderausführung verwendet wird, bereit. Um einen oder mehrere Werte für den Shaderparameter anzugeben, erstellen Sie ein Array mit dem Wert bzw. den Werten und weisen es der 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:

EigenschaftsnameDatentypWert
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:

EigenschaftsnameDatentypWert
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



Öffentliche Eigenschaften
 EigenschaftDefiniert von
 Inheritedconstructor : 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
Öffentliche Methoden
 MethodeDefiniert von
  
Erstellt eine ShaderParameter-Instanz.
ShaderParameter
 Inherited
Gibt an, ob für ein Objekt eine bestimmte Eigenschaft definiert wurde.
Object
 Inherited
Gibt an, ob eine Instanz der Object-Klasse in der Prototypkette des Objekts vorhanden ist, das als Parameter angegeben wurde.
Object
 Inherited
Gibt an, ob die angegebene Eigenschaft vorhanden ist und durchlaufen werden kann.
Object
 Inherited
Legt die Verfügbarkeit einer dynamischen Eigenschaft für Schleifenoperationen fest.
Object
 Inherited
Gibt die Stringdarstellung dieses Objekts zurück, formatiert entsprechend den Konventionen des Gebietsschemas.
Object
 Inherited
Gibt das angegebene Objekt als String zurück.
Object
 Inherited
Gibt den Grundwert des angegebenen Objekts zurück.
Object
Eigenschaftendetails

index

Eigenschaft
index:int  [schreibgeschützt]

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 10, AIR 1.5

Die auf null basieremde Indexposition des Parameters.



Implementierung
    public function get index():int

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:

ParametertypAnzahl ElementeDatentyp Elemente
float (ShaderParameterType.FLOAT)1Number
float2 (ShaderParameterType.FLOAT2)2Number
float3 (ShaderParameterType.FLOAT3)3Number
float4 (ShaderParameterType.FLOAT4)4Number
int (ShaderParameterType.INT)1int oder uint
int2 (ShaderParameterType.INT2)2int oder uint
int3 (ShaderParameterType.INT3)3int oder uint
int4 (ShaderParameterType.INT4)4int oder uint
bool (ShaderParameterType.BOOL)1Boolescher Ausdruck
bool2 (ShaderParameterType.BOOL2)2Boolescher Ausdruck
bool3 (ShaderParameterType.BOOL3)3Boolescher Ausdruck
bool4 (ShaderParameterType.BOOL4)4Boolescher Ausdruck
float2x2 (ShaderParameterType.MATRIX2X2)4Number
float3x3 (ShaderParameterType.MATRIX3X3)9Number
float4x4 (ShaderParameterType.MATRIX4X4)16Number

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]: .1
  • myMatrix[0][1]: .2
  • myMatrix[1][0]: .3
  • myMatrix[1][1]: .4



Implementierung
    public function get value():Array
    public function set value(value:Array):void
Konstruktordetails

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.





[ X ]Warum auf Englisch?
Inhalt des ActionScript 3.0-Referenzhandbuchs wird in englischer Sprache angezeigt

Nicht alle Teile des ActionScript 3.0-Referenzhandbuchs wurden in alle Sprachen übersetzt. Wenn der Text zu einem Sprachelement nicht übersetzt wurde, wird er auf Englisch angezeigt. Zum Beispiel wurden die Informationen zur ga.controls.HelpBox-Klasse nicht in andere Sprachen übersetzt. In der deutschen Version des Referenzhandbuchs erscheint der Abschnitt zur ga.controls.HelpBox-Klasse deshalb auf Englisch.