Partilhar via


Manipulando recursos (Direct3D 9)

Seu aplicativo manipula recursos para renderizar uma cena. Primeiro, um aplicativo precisa criar um recurso de textura com um dos seguintes métodos:

Em vez disso, um recurso de textura pode ser criado com uma das funções de texturização D3DXCreatexxx.

Os objetos de textura retornados pelos métodos de criação de textura são contêineres para superfícies ou volumes; esses contêineres são genericamente conhecidos como buffers. Os buffers pertencentes ao recurso herdam os usos, o formato e o pool do recurso, mas têm seu próprio tipo. Para obter mais informações, consulte Propriedades do recurso (Direct3D 9).

O aplicativo obtém acesso às superfícies contidas, com a finalidade de carregar obras de arte, chamando os métodos a seguir. Para obter detalhes, consulte Recursos de bloqueio (Direct3D 9).

Os métodos de bloqueio assumem argumentos que denotam a superfície contida – por exemplo, o subnível mipmap ou a face do cubo da textura – e retornam ponteiros para os pixels. O aplicativo típico nunca usa um objeto surface diretamente.

Crie recursos orientados à geometria chamando IDirect3DDevice9::CreateIndexBuffer ou IDirect3DDevice9::CreateVertexBuffer.

Bloqueie e preencha os recursos do buffer chamando IDirect3DIndexBuffer9::Lock ou IDirect3DVertexBuffer9::Lock, dependendo do recurso.

Para recursos de textura gerenciada, o processo de criação de recursos termina aqui. Para recursos de textura não gerenciados, um aplicativo promove recursos de memória do sistema para recursos acessíveis ao dispositivo (para aceleração de hardware) chamando IDirect3DDevice9::UpdateTexture.

Para apresentar imagens renderizadas de recursos, o aplicativo também precisa de buffers de cor e estêncil de profundidade. Para aplicativos típicos, o buffer de cores pertence à cadeia de troca do dispositivo, que é uma coleção de superfícies de back-buffer e é criada implicitamente com o dispositivo. Superfícies de estêncil de profundidade podem ser criadas implicitamente ou criadas explicitamente usando o método IDirect3DDevice9::CreateDepthStencilSurface . O aplicativo associa um dispositivo e seu buffer de profundidade e cor a uma chamada para IDirect3DDevice9::SetRenderTarget ou IDirect3DDevice9::SetDepthStencilSurface.

Para obter detalhes sobre como apresentar a imagem final, consulte Apresentando uma cena (Direct3D 9).

Recursos do Direct3D