Compartir a través de


Vistas de textura (Direct3D 10)

En Direct3D 10, se accede a los recursos de textura con una vista, que es un mecanismo para la interpretación de hardware de un recurso en memoria. Una vista permite que una fase de canalización determinada tenga acceso solo a los subrecursos que necesita, en la representación deseada por la aplicación.

Una vista admite la noción de un recurso sin tipo. Un recurso sin tipo es un recurso creado con un tamaño específico, pero no un tipo de datos específico. Los datos se interpretan dinámicamente cuando se enlazan a la canalización.

En la ilustración siguiente se muestra un ejemplo de enlace de una matriz de texturas 2D con 6 texturas como un recurso de sombreador mediante la creación de una vista de recursos de sombreador para ella. A continuación, el recurso se aborda como una matriz de texturas. (Nota: un subrecurso no se puede enlazar como entrada y salida a la canalización simultáneamente).

ilustración de una matriz de texturas con seis texturas

Cuando se usa una matriz de texturas 2D como destino de representación, el recurso se puede ver como una matriz de texturas 2D (6 en este ejemplo) con niveles de mapa mip (3 en este ejemplo).

Cree un objeto de vista para un destino de representación mediante una llamada a CreateRenderTargetView. A continuación, llame a OMSetRenderTargets para establecer la vista de destino de representación en la canalización. Represente en los destinos de representación llamando a Draw y usando RenderTargetArrayIndex para indexar en la textura adecuada de la matriz. Puede usar un subrecurso (un nivel de mapa mip, combinación de índices de matriz) para enlazar a cualquier matriz de subrecursos. Por lo tanto, podría enlazar al segundo nivel de mapa mip y actualizar solo este nivel de mapa mip determinado si lo desea, como en la ilustración siguiente.

Ilustración del enlace solo al segundo nivel de mapa mip de una matriz de texturas

Diferencias entre Direct3D 9 y Direct3D 10:

  • En Direct3D 10, ya no enlazas un recurso directamente a la canalización, creas una vista de un recurso y luego estableces la vista en la canalización. Esto permite que la validación y la asignación en tiempo de ejecución y el controlador se produzcan en la creación de vistas, lo que minimiza la comprobación de tipos en tiempo de enlace.

 

Recursos (Direct3D 10)