Texturkoordinatenregister (HLSL VS-Referenz)

Dieses Vertex-Shader-Ausgaberegister enthält Texturkoordinaten pro Vertex.

Ein Register besteht aus Eigenschaften, die bestimmen, wie sich jedes Register verhält.

Eigentum Beschreibung
Name oT0 - oT7
Zählen Acht Vektoren
E/A-Berechtigungen Schreibgeschützt

 

Die Register der Ausgabetexturkoordinaten sind ein Array von Ausgabedatenregistern. Die Registerdaten werden durchlaufen und als Texturkoordinaten durch die Textursamplingstufen verwendet, um Daten an den Pixelshader zu übermitteln.

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.

Wenn Sie einen programmierbaren Vertex-Shader verwenden, sollten die Vertexpipeline-Flags der festen Funktion D3DTEXTURETRANSFORMFLAGS (D3DTTFF_COUNT1, D3DTTFF_COUNT2, D3DTTFF_COUNT3, D3DTTFF_COUNT4) auf Null festgelegt werden.

Objektvertexdaten enthalten Eingabetextkoordinaten. Objekte, die keine nebeneinander angeordneten Texturen verwenden, weisen häufig Texturkoordinaten im Bereich [0,1] auf. Objekte, die nebeneinander angeordnete Texturen wie Gelände verwenden, weisen in der Regel Texturkoordinaten auf, die von [-n,+n] reichen, wobei n eine beliebige Gleitkommazahl sein kann.

Die Texturkoordinateninterpolation wird für Vertexdaten für die Rasterung ausgeführt. Während der Rasterung werden Texturkoordinaten zwischen Objektvertizes interpoliert, durch Texturumbruch geändert und durch die Texturgröße skaliert (auch unter Berücksichtigung von 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 nebeneinander angeordnet 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-Shader registriert