Manipular recursos (Direct3D 9)
La aplicación manipula los recursos para representar una escena. En primer lugar, una aplicación debe crear un recurso de textura con uno de los métodos siguientes:
- IDirect3DDevice9::CreateCubeTexture
- IDirect3DDevice9::CreateTexture
- IDirect3DDevice9::CreateVolumeTexture
En su lugar, se puede crear un recurso de textura con una de las funciones de texturing D3DXCreatexxx.
Los objetos de textura devueltos por los métodos de creación de texturas son contenedores para superficies o volúmenes; estos contenedores se conocen genéricamente como búferes. Los búferes que pertenecen al recurso heredan los usos, el formato y el grupo del recurso, pero tienen su propio tipo. Para obtener más información, vea Propiedades de recursos (Direct3D 9).
La aplicación obtiene acceso a las superficies contenidas, con el fin de cargar ilustraciones, llamando a los métodos siguientes. Para obtener más información, consulte Bloquear recursos (Direct3D 9).
Los métodos de bloqueo toman argumentos que denotan la superficie contenida (por ejemplo, el subnilo de mapa mip o la cara del cubo de la textura) y devuelven punteros a los píxeles. La aplicación típica nunca usa directamente un objeto surface.
Cree recursos orientados a geometría llamando a IDirect3DDevice9::CreateIndexBuffer o IDirect3DDevice9::CreateVertexBuffer.
Bloquee y rellene los recursos del búfer llamando a IDirect3DIndexBuffer9::Lock o IDirect3DVertexBuffer9::Lock, dependiendo del recurso.
Para los recursos de textura administrados, el proceso de creación de recursos finaliza aquí. En el caso de los recursos de textura no administrados, una aplicación promueve los recursos de memoria del sistema a los recursos accesibles para dispositivos (para la aceleración de hardware) mediante una llamada a IDirect3DDevice9::UpdateTexture.
Para presentar imágenes representadas a partir de recursos, la aplicación también necesita búferes de galería de símbolos de color y profundidad. En el caso de las aplicaciones típicas, el búfer de color es propiedad de la cadena de intercambio del dispositivo, que es una colección de superficies de búfer de reserva y se crea implícitamente con el dispositivo. Las superficies de galería de símbolos de profundidad se pueden crear implícitamente o crear explícitamente mediante el método IDirect3DDevice9::CreateDepthStencilSurface . La aplicación asocia un dispositivo y su búfer de profundidad y color con una llamada a IDirect3DDevice9::SetRenderTarget o IDirect3DDevice9::SetDepthStencilSurface.
Para obtener más información sobre cómo presentar la imagen final, consulte Presentación de una escena (Direct3D 9).
Temas relacionados