Condividi tramite


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

D3DXCreateTexture

D3DXCreateTextureFromFile

D3DXCreateTextureFromFileEx

D3DXCreateTextureFromFileInMemory

D3DXCreateTextureFromFileInMemoryEx

D3DXCreateTextureFromResource

D3DXCreateTextureFromResourceEx

IDirect3DDevice9