Método IDirect3DDevice9::CreateTexture (d3d9helper.h)
Cria um recurso de textura.
Sintaxe
HRESULT CreateTexture(
[in] UINT Width,
[in] UINT Height,
[in] UINT Levels,
[in] DWORD Usage,
[in] D3DFORMAT Format,
[in] D3DPOOL Pool,
[out, retval] IDirect3DTexture9 **ppTexture,
[in] HANDLE *pSharedHandle
);
Parâmetros
[in] Width
Tipo: UINT
Largura do nível superior da textura, em pixels. As dimensões de pixel dos níveis subsequentes serão o valor truncado de metade da dimensão de pixel do nível anterior (independentemente). Cada dimensão é fixada em um tamanho de 1 pixel. Assim, se a divisão por 2 resultar em 0, 1 será tomada em vez disso.
[in] Height
Tipo: UINT
Altura do nível superior da textura, em pixels. As dimensões de pixel dos níveis subsequentes serão o valor truncado de metade da dimensão de pixel do nível anterior (independentemente). Cada dimensão é fixada em um tamanho de 1 pixel. Assim, se a divisão por 2 resultar em 0, 1 será tomada em vez disso.
[in] Levels
Tipo: UINT
Número de níveis na textura. Se for zero, o Direct3D gerará todos os subnível de textura até 1 por 1 pixels para hardware que dá suporte a texturas mipmapped. Chame IDirect3DBaseTexture9::GetLevelCount para ver o número de níveis gerados.
[in] Usage
Tipo: DWORD
O uso pode ser 0, o que indica nenhum valor de uso. No entanto, se o uso for desejado, use uma combinação de uma ou mais constantes D3DUSAGE . É uma boa prática corresponder o parâmetro de uso com os sinalizadores de comportamento em IDirect3D9::CreateDevice.
[in] Format
Tipo: D3DFORMAT
Membro do D3DFORMAT tipo enumerado, descrevendo o formato de todos os níveis na textura.
[in] Pool
Tipo: D3DPOOL
Membro do D3DPOOL tipo enumerado, descrevendo a classe de memória na qual a textura deve ser colocada.
[out, retval] ppTexture
Tipo: IDirect3DTexture9**
Ponteiro para uma interface IDirect3DTexture9 , representando o recurso de textura criado.
[in] pSharedHandle
Tipo: HANDLE*
Reservado. Defina esse parâmetro como NULL. Esse parâmetro pode ser usado no Direct3D 9 para o Windows Vista compartilhar recursos.
Retornar valor
Tipo: HRESULT
Se o método for bem-sucedido, o valor retornado será D3D_OK. Se o método falhar, o valor retornado poderá ser um dos seguintes: D3DERR_INVALIDCALL, D3DERR_OUTOFVIDEOMEMORY E_OUTOFMEMORY.
Comentários
Um aplicativo pode descobrir o suporte para a Geração Automática de Mipmaps (Direct3D 9) em um formato específico chamando IDirect3D9::CheckDeviceFormat com D3DUSAGE_AUTOGENMIPMAP. Se IDirect3D9::CheckDeviceFormat retornar D3DOK_NOAUTOGEN, IDirect3DDevice9::CreateTexture terá êxito, mas retornará uma textura de um nível.
No Windows Vista CreateTexture pode criar uma textura de um ponteiro de memória do sistema, permitindo ao aplicativo mais flexibilidade sobre o uso, alocação e exclusão da memória do sistema. Por exemplo, um aplicativo pode passar um ponteiro de bitmap de memória do sistema GDI e obter uma interface de textura Direct3D em torno dele. O uso de um ponteiro de memória do sistema com CreateTexture tem as seguintes restrições.
- O tom da textura deve ser igual à largura multiplicada pelo número de bytes por pixel.
- Há suporte apenas para texturas com um único nível de mipmap. O argumento Levels deve ser 1.
- O argumento Pool deve ser D3DPOOL_SYSTEMMEM.
- O argumento pSharedHandle deve ser um ponteiro válido para um buffer que possa conter o ponto de memória do sistema; *pSharedHandle deve ser um ponteiro válido para a memória do sistema com um tamanho em bytes de largura da textura * altura da textura * bytes por pixel do formato de textura.
Requisitos
Requisito | Valor |
---|---|
Plataforma de Destino | Windows |
Cabeçalho | d3d9helper.h (inclua D3D9.h) |
Biblioteca | D3D9.lib |
Confira também
D3DXCreateTextureFromFileInMemory
D3DXCreateTextureFromFileInMemoryEx