Eingaberegister

Vertex-Shader-Eingaberegister.

Daten von jedem Scheitelpunkt (mit einem oder mehreren Eingabevertexstreams) werden in die Vertexeingaberegister geladen, bevor der Vertex-Shader ausgeführt wird. Die Eingaberegister bestehen aus 16 Gleitkommavektoren mit vier Komponenten, die als v0 bis v15 festgelegt sind. Diese Register sind schreibgeschützt. Ein Eingaberegister wird über eine Scheitelpunktdeklaration an Scheitelpunktdaten gebunden.

Die folgenden Registereigenschaften steuern, wie sich jedes Register verhält:

Eigenschaft BESCHREIBUNG
Name v [ n ] - n ist eine optionale Registernummer. 0 ist der standardwert, der verwendet wird, wenn er ausgelassen wird.
Anzahl Maximal 16 Register, v0 – v15.
E/A-Berechtigungen Schreibgeschützt. Dieses Register kann nicht von der API oder innerhalb des Shaders geschrieben werden.
Leseports 1. Dies ist die Anzahl, mit der ein Register innerhalb einer einzelnen Anweisung gelesen werden kann. Siehe unten.

Jede einzelne Anweisung kann nur auf ein Scheitelpunkteingaberegister zugreifen. Jede Quelle in der Anweisung kann jedoch unabhängig voneinander wischen und diesen Vektor beim Lesen negieren.

Beispiel

Hier ist ein Beispiel für die Verwendung einer Scheitelpunktdeklaration zum Binden von 2D-Scheitelpunktpositionsdaten zum Registrieren von v0.

Die Scheitelpunktdeklaration gehört zur Anwendung:

D3DVERTEXELEMENT9 decl[] =
{
    { 0, 0, D3DDECLTYPE_FLOAT2, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_POSITION, 0 },
      D3DDECL_END()
};

Hier ist die entsprechende Vertex-Shaderdeklaration:

dcl_position v0
Vertex-Shaderversionen 1_1 2 _ 0 2 _ sw 2 _ x 3 _ 0 3 _ sw
Positionsregister x x x x x x

Vertex-Shaderregister