Texturansichten (Direct3D 10)
In Direct3D 10 wird auf Texturressourcen mit einer Ansicht zugegriffen, bei der es sich um einen Mechanismus für die Hardwareinterpretation einer Ressource im Arbeitsspeicher handelt. In einer Ansicht kann eine bestimmte Pipelinephase nur auf die Unterressourcen zugreifen, sie benötigt werden, 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 wird. 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.)
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.
Unterschiede zwischen Direct3D 9 und Direct3D 10:
- In Direct3D 10 binden Sie eine Ressource nicht mehr direkt an die Pipeline, erstellen eine Ansicht einer Ressource und legen dann die Ansicht auf die Pipeline fest. Dies ermöglicht die Überprüfung und Zuordnung in der Laufzeit und des Treibers bei der Erstellung der Ansicht, wodurch die Typüberprüfung zur Bindungszeit minimiert wird.
Verwandte Themen