Metodo IDirect3DDevice9::CreateTexture (d3d9helper.h)
Crea una risorsa trama.
Sintassi
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
);
Parametri
[in] Width
Tipo: UINT
Larghezza del livello superiore della trama, in pixel. Le dimensioni in pixel dei livelli successivi saranno il valore troncato della metà della dimensione pixel del livello precedente (indipendentemente). Ogni dimensione si blocca a una dimensione di 1 pixel. Pertanto, se la divisione di 2 restituisce 0, verrà invece preso 1.
[in] Height
Tipo: UINT
Altezza del livello superiore della trama, in pixel. Le dimensioni in pixel dei livelli successivi saranno il valore troncato della metà della dimensione pixel del livello precedente (indipendentemente). Ogni dimensione si blocca a una dimensione di 1 pixel. Pertanto, se la divisione di 2 restituisce 0, verrà invece preso 1.
[in] Levels
Tipo: UINT
Numero di livelli nella trama. Se questo è zero, Direct3D genererà tutti i sublevel della trama fino a 1 per 1 pixel per l'hardware che supporta le trame non crittografate. Chiamare IDirect3DBaseTexture9::GetLevelCount per visualizzare il numero di livelli generati.
[in] Usage
Tipo: DWORD
L'utilizzo può essere 0, che indica nessun valore di utilizzo. Tuttavia, se si vuole usare, usare una combinazione di una o più costanti D3DUSAGE . È consigliabile associare il parametro di utilizzo ai flag di comportamento in IDirect3D9::CreateDevice.
[in] Format
Tipo: D3DFORMAT
Membro del D3DFORMAT tipo enumerato, che descrive il formato di tutti i livelli nella trama.
[in] Pool
Tipo: D3DPOOL
Membro del D3DPOOL tipo enumerato, che descrive la classe di memoria in cui deve essere posizionata la trama.
[out, retval] ppTexture
Tipo: IDirect3DTexture9**
Puntatore a un'interfaccia IDirect3DTexture9 che rappresenta la risorsa trama creata.
[in] pSharedHandle
Tipo: HANDLE*
Riservato. Impostare questo parametro su NULL. Questo parametro può essere usato in Direct3D 9 per Windows Vista per condividere le risorse.
Valore restituito
Tipo: HRESULT
Se il metodo ha esito positivo, il valore restituito viene D3D_OK. Se il metodo ha esito negativo, il valore restituito può essere uno dei seguenti: D3DERR_INVALIDCALL, D3DERR_OUTOFVIDEOMEMORY E_OUTOFMEMORY.
Commenti
Un'applicazione può individuare il supporto per la generazione automatica di Mipmap (Direct3D 9) in un particolare formato chiamando IDirect3D9::CheckDeviceFormat con D3DUSAGE_AUTOGENMIPMAP. Se IDirect3D9::CheckDeviceFormat restituisce D3DOK_NOAUTOGEN, IDirect3DDevice9::CreateTexture avrà esito positivo, ma restituirà una trama di un livello.
In Windows Vista CreateTexture è possibile creare una trama da un puntatore alla memoria di sistema, consentendo all'applicazione una maggiore flessibilità rispetto all'uso, all'allocazione e all'eliminazione della memoria di sistema. Ad esempio, un'applicazione potrebbe passare un puntatore bitmap della memoria di sistema GDI e ottenere un'interfaccia trama Direct3D intorno a essa. L'uso di un puntatore alla memoria di sistema con CreateTexture presenta le restrizioni seguenti.
- L'inclinazione della trama deve essere uguale alla larghezza moltiplicata per il numero di byte per pixel.
- Sono supportate solo le trame con un singolo livello mipmap. L'argomento Levels deve essere 1.
- L'argomento Pool deve essere D3DPOOL_SYSTEMMEM.
- L'argomento pSharedHandle deve essere un puntatore valido a un buffer che può contenere il punto di memoria di sistema; *pSharedHandle deve essere un puntatore valido alla memoria di sistema con dimensioni in byte di larghezza trama * altezza trama * byte per pixel del formato di trama.
Requisiti
Requisito | Valore |
---|---|
Piattaforma di destinazione | Windows |
Intestazione | d3d9helper.h (include D3D9.h) |
Libreria | D3D9.lib |
Vedi anche
D3DXCreateTextureFromFileInMemory
D3DXCreateTextureFromFileInMemoryEx