Partilhar via


Vistas de textura (Direct3D 10)

No Direct3D 10, os recursos de textura são acessados com uma exibição, que é um mecanismo para a interpretação de hardware de um recurso na memória. Uma exibição permite que um determinado estágio de pipeline acesse apenas os subrecursos ele precisa, na representação desejada pelo aplicativo.

Um modo de exibição suporta a noção de um recurso sem tipo. Um recurso sem tipo é um recurso criado com um tamanho específico, mas não um tipo de dados específico. Os dados são interpretados dinamicamente quando estão vinculados ao pipeline.

A ilustração a seguir mostra um exemplo de vinculação de uma matriz de textura 2D com 6 texturas como um recurso de sombreador criando uma exibição de recurso de sombreador para ela. O recurso é então abordado como uma matriz de texturas. (Nota: um subrecurso não pode ser vinculado como entrada e saída ao pipeline simultaneamente.)

ilustração de uma matriz de texturas com seis texturas

Ao usar uma matriz de textura 2D como um destino de renderização, o recurso pode ser visto como uma matriz de texturas 2D (6 neste exemplo) com níveis de mipmap (3 neste exemplo).

Crie um objeto de exibição para um destino de renderização chamando CreateRenderTargetView. Em seguida, chame OMSetRenderTargets para definir a exibição de destino de renderização para o pipeline. Renderize nos destinos de renderização chamando Draw e usando o RenderTargetArrayIndex para indexar na textura adequada na matriz. Você pode usar um subrecurso (um nível mipmap, combinação de índice de matriz) para vincular a qualquer matriz de subrecursos. Assim, você pode vincular ao segundo nível de mipmap e apenas atualizar esse nível de mipmap específico se desejar, como na ilustração a seguir.

ilustração da ligação apenas ao segundo nível MIPMAP de uma matriz de textura

Diferenças entre o Direct3D 9 e o Direct3D 10:

  • No Direct3D 10, você não vincula mais um recurso diretamente ao pipeline, cria um modo de exibição de um recurso e define o modo de exibição para o pipeline. Isso permite que a validação e o mapeamento no tempo de execução e no driver ocorram na criação da exibição, minimizando a verificação de tipo em tempo de ligação.

 

Recursos (Direct3D 10)