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 |
Zugehörige Themen