Texturkoordinatenregister (HLSL VS-Referenz)

Dieses Vertex-Shaderausgaberegister enthält Pro-Vertex-Texturkoordinaten.

Ein Register besteht aus Eigenschaften, die bestimmen, wie sich die einzelnen Register verhalten.

Eigenschaft Beschreibung
Name oT0 – oT7
Anzahl Acht Vektoren
E/A-Berechtigungen Lesegeschützt

 

Die Ausgabetexturkoordinatenregister sind ein Array von Ausgabedatenregistern. Die Registerdaten werden durchlaufen und als Texturkoordinaten von den Textursamplingphasen verwendet, um Daten an den Pixel-Shader zu liefern.

Beim Schreiben in ein Texturkoordinatenregister wird empfohlen, nur so viele Gleitkommawerte wie die Dimension der entsprechenden Texturzuordnung zu übergeben. Steuern Sie die Werte, die mit einem Modifizierer übergeben werden. Verwenden Sie z. B. .xy für eine 2D-Texturzuordnung.

Die Festen Funktionsvertexpipelineflags D3DTEXTURETRANSFORMFLAGS (D3DTTFF_COUNT1, D3DTTFF_COUNT2, D3DTTFF_COUNT3, D3DTTFF_COUNT4) sollten auf 0 festgelegt werden, wenn Sie einen programmierbaren Vertex-Shader verwenden.

Objektvertexdaten liefern Eingabetexturkoordinaten. Objekte, die keine gekachelten Texturen verwenden, weisen häufig Texturkoordinaten im Bereich [0,1] auf. Objekte, die gekachelte Texturen verwenden, z. B. Terrain, verfügen in der Regel über Texturkoordinaten, die von [-n,+n] liegen, wobei n eine beliebige Gleitkommazahl sein kann.

Die Texturkoordinateninterpolation wird für Vertexdaten zur Rasterung ausgeführt. Während der Rasterung werden Texturkoordinaten zwischen Objektvertices interpoliert, durch Texturumbruch geändert und durch die Texturgröße skaliert (auch unter Berücksichtigung der Texturadressierungsmodi), um einen ganzzahligen Index zu erzeugen. Der Index wird dann verwendet, um eine Textursuche durchzuführen. Verwenden Sie den MaxTextureRepeat-Wert in D3DCAPS9 , um zu bestimmen, wie oft eine Textur gekachelt werden kann.

Beispiel

Deklarieren Sie das Texturkoordinatenregister.

dcl_texcoord v7

Kopieren Sie die Texturkoordinaten pro Vertex in das Ausgaberegister.

mov oT0, v7
Vertex-Shaderversionen 1_1 2_0 2_sw 2_x 3_0 3_sw
Texturkoordinatenregister x x x x x x

 

Vertex-Shaderregister