Freigeben über


Texturansichten

In Direct3D wird auf Texturressourcen mit einer Ansicht zugegriffen, bei der es sich um einen Mechanismus für die Hardwareinterpretation einer Ressource im Arbeitsspeicher handelt. Eine Ansicht ermöglicht es einer bestimmten Pipelinephase, nur auf die benötigten Unterressourcen zuzugreifen, in der von der Anwendung gewünschten Darstellung.

Eine Ansicht unterstützt den Begriff einer typlosen Ressource. Eine typlose Ressource ist eine Ressource, die mit einer bestimmten Größe, aber nicht mit einem bestimmten Datentyp erstellt wurde. Die Daten werden dynamisch interpretiert, wenn sie an die Pipeline gebunden sind.

Die folgende Abbildung zeigt ein Beispiel für die Bindung eines 2D-Texturarrays mit 6 Texturen als Shaderressource, indem eine Shaderressourcenansicht dafür erstellt wird. Die Ressource wird dann als Array von Texturen behandelt. (Hinweis: Eine Unterressource kann nicht gleichzeitig als Eingabe und Ausgabe an die Pipeline gebunden werden.)

Abbildung eines Texturarrays mit sechs Texturen

Bei Verwendung eines 2D-Texturarrays als Renderziel kann die Ressource als Array von 2D-Texturen (6 in diesem Beispiel) mit Mipmap-Ebenen (3 in diesem Beispiel) angezeigt werden.

Erstellen Sie ein Ansichtsobjekt für ein Renderziel, indem Sie CreateRenderTargetView aufrufen. Rufen Sie dann OMSetRenderTargets auf, um die Renderzielansicht auf die Pipeline festzulegen. Rendern Sie in die Renderziele, indem Sie Draw aufrufen und RenderTargetArrayIndex zum Indizieren in die richtige Textur im Array verwenden. Sie können eine Unterressource (eine Mipmap-Ebene, Arrayindexkombination) verwenden, um eine Bindung an ein beliebiges Array von Unterressourcen zu erstellen. Sie können also eine Bindung an die zweite Mipmap-Ebene erstellen und diese bestimmte Mipmap-Ebene nur aktualisieren, wenn Sie möchten, wie in der folgenden Abbildung gezeigt.

Abbildung der Bindung nur an die zweite Mipmap-Ebene eines Texturarrays

Ressourcen