Texturkoordinatenregister (HLSL VS-Referenz)
Dieses Vertex-Shader-Ausgaberegister enthält Texturkoordinaten pro Scheitelpunkt.
Ein Register besteht aus Eigenschaften, die bestimmen, wie sich jedes Register verhält.
| Eigenschaft | Beschreibung |
|---|---|
| Name | oT0 – oT7 |
| Anzahl | Acht Vektoren |
| E/A-Berechtigungen | Lesegeschützt |
Die Ausgabetexturkoordinatenregister sind ein Array von Ausgabedatenregistern. Die Registerdaten werden von den Texturstichprobenstufen als Texturkoordinaten iteriert und verwendet, um Daten für 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 Pipelineflags der festen Funktion vertex, D3DTEXTURETRANSFORMFLAGS (D3DTTFF _ COUNT1, D3DTTFF _ COUNT2, D3DTTFF COUNT3, D3DTTFF COUNT4), sollten auf 0 (null) festgelegt werden, wenn Sie einen _ _ programmierbaren Vertex-Shader verwenden.
Objektvertexdaten liefern Eingabetexturkoordinaten. Objekte, die keine kachelierten Texturen verwenden, verfügen in der Regel über Texturkoordinaten im Bereich [ 0,1. ] Objekte, die kachelbasierte Texturen verwenden, z. B. Gelände, verfügen in der Regel über Texturkoordinaten, die von [ -n,+n reichen, wobei n eine ] beliebige Gleitkommazahl sein kann.
Die Texturkoordinateninterpolation wird für Scheitelpunktdaten 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 von Textur adressierungsmodi), 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 Scheitelpunkt 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 |