Condividi tramite


Funzione D3DXCreateVolumeTextureFromFileEx

Crea una trama del volume da un file.

Sintassi

HRESULT D3DXCreateVolumeTextureFromFileEx(
  _In_    LPDIRECT3DDEVICE9        pDevice,
  _In_    LPCTSTR                  pSrcFile,
  _In_    UINT                     Width,
  _In_    UINT                     Height,
  _In_    UINT                     Depth,
  _In_    UINT                     MipLevels,
  _In_    DWORD                    Usage,
          D3DFORMAT                Format,
  _In_    D3DPOOL                  Pool,
  _In_    DWORD                    Filter,
  _In_    DWORD                    MipFilter,
  _In_    D3DCOLOR                 ColorKey,
  _Inout_ D3DXIMAGE_INFO           *pSrcInfo,
  _Out_   PALETTEENTRY             *pPalette,
  _Out_   LPDIRECT3DVOLUMETEXTURE9 *ppTexture
);

Parametri

pDevice [in]

Tipo: LPDIRECT3DDEVICE9

Puntatore a un'interfaccia IDirect3DDevice9 che rappresenta il dispositivo da associare alla trama.

pSrcFile [in]

Tipo: LPCTSTR

Puntatore a una stringa che specifica il nome file. Se le impostazioni del compilatore richiedono Unicode, il tipo di dati LPCTSTR viene risolto in LPCWSTR. In caso contrario, il tipo di dati stringa viene risolto in LPCSTR. Vedere la sezione Osservazioni.

Larghezza [in]

Tipo: UINT

Larghezza in pixel. Se questo valore è zero o D3DX_DEFAULT, le dimensioni vengono prese dal file. La dimensione massima supportata da un driver (per larghezza, altezza e profondità) è disponibile in MaxVolumeExtent in D3DCAPS9.

Altezza [in]

Tipo: UINT

Altezza, in pixel. Se questo valore è zero o D3DX_DEFAULT, le dimensioni vengono prese dal file. La dimensione massima supportata da un driver (per larghezza, altezza e profondità) è disponibile in MaxVolumeExtent in D3DCAPS9.

Profondità [in]

Tipo: UINT

Profondità, in pixel. Se questo valore è zero o D3DX_DEFAULT, le dimensioni vengono prese dal file. La dimensione massima supportata da un driver (per larghezza, altezza e profondità) è disponibile in MaxVolumeExtent in D3DCAPS9.

MipLevels [in]

Tipo: UINT

Numero di livelli di mip richiesti. Se questo valore è zero o D3DX_DEFAULT, viene creata una catena di mipmap completa.

Utilizzo [in]

Tipo: DWORD

0, D3DUSAGE_RENDERTARGET o D3DUSAGE_DYNAMIC. L'impostazione di questo flag su D3DUSAGE_RENDERTARGET indica che la superficie deve essere usata come destinazione di rendering. La risorsa può quindi essere passata al parametro pNewRenderTarget del metodo SetRenderTarget . Se viene specificato D3DUSAGE_RENDERTARGET o D3DUSAGE_DYNAMIC, il pool deve essere impostato su D3DPOOL_DEFAULT e l'applicazione deve verificare che il dispositivo supporti questa operazione chiamando CheckDeviceFormat. D3DUSAGE_DYNAMIC indica che la superficie deve essere gestita dinamicamente. Per altre informazioni sull'uso di trame dinamiche, vedere Uso di trame dinamiche.

Formato

Tipo: D3DFORMAT

Membro del tipo enumerato D3DFORMAT , che descrive il formato pixel richiesto per la trama. La trama restituita potrebbe avere un formato diverso da quello specificato da Format. Le applicazioni devono controllare il formato della trama restituita. Se D3DFMT_UNKNOWN, il formato viene tratto dal file. Se D3DFMT_FROM_FILE, il formato viene preso esattamente come si trova nel file e la chiamata avrà esito negativo se questa viola le funzionalità del dispositivo.

Pool [in]

Tipo: D3DPOOL

Membro del tipo enumerato D3DPOOL , che descrive la classe di memoria in cui deve essere posizionata la trama.

Filtro [in]

Tipo: DWORD

Combinazione di uno o più D3DX_FILTER controllare il modo in cui l'immagine viene filtrata. Se si specifica D3DX_DEFAULT per questo parametro, è l'equivalente di specificare D3DX_FILTER_TRIANGLE | D3DX_FILTER_DITHER.

MipFilter [in]

Tipo: DWORD

Combinazione di uno o più D3DX_FILTER controllare il modo in cui l'immagine viene filtrata. Se si specifica D3DX_DEFAULT per questo parametro, è l'equivalente di specificare D3DX_FILTER_BOX. Inoltre, usa bit da 27 a 31 per specificare il numero di livelli mip da ignorare (dall'inizio della catena mipmap) quando una trama dds viene caricata in memoria; ciò consente di saltare fino a 32 livelli.

ColorKey [in]

Tipo: D3DCOLOR

Valore D3DCOLOR da sostituire con nero trasparente o 0 per disabilitare la chiave di colore. Si tratta sempre di un colore ARGB a 32 bit, indipendentemente dal formato dell'immagine di origine. Alfa è significativo e in genere deve essere impostato su FF per chiavi di colore opache. Pertanto, per il nero opaco, il valore sarebbe uguale a 0xFF000000.

pSrcInfo [in, out]

Tipo: D3DXIMAGE_INFO*

Puntatore a una struttura D3DXIMAGE_INFO da compilare con una descrizione dei dati nel file di immagine di origine o NULL.

pPalette [out]

Tipo: PALETTEENTRY*

Puntatore a una struttura PALETTEENTRY , che rappresenta una tavolozza a 256 colori da inserire o NULL.

ppTexture [out]

Tipo: LPDIRECT3DVOLUMETEXTURE9*

Indirizzo di un puntatore a un'interfaccia IDirect3DVolumeTexture9 che rappresenta l'oggetto trama creato.

Valore restituito

Tipo: HRESULT

Se la funzione ha esito positivo, il valore restituito è D3D_OK. Se la funzione ha esito negativo, il valore restituito può essere uno dei seguenti: D3DERR_NOTAVAILABLE, D3DERR_OUTOFVIDEOMEMORY, D3DERR_INVALIDCALL, D3DXERR_INVALIDDATA, E_OUTOFMEMORY.

Commenti

L'impostazione del compilatore determina anche la versione della funzione. Se Unicode è definito, la chiamata alla funzione viene risolta in D3DXCreateVolumeTextureFromFileExW. In caso contrario, la chiamata alla funzione viene risolta in D3DXCreateVolumeTextureFromFileExA perché vengono usate stringhe ANSI.

Questa funzione supporta i formati di file seguenti: .bmp, .dds, .dib, .hdr, .jpg, .pfm, .png, .ppm e tga. Vedere D3DXIMAGE_FILEFORMAT.

Le trame mipmapped hanno automaticamente ogni livello riempito con la trama del volume caricata. Quando si caricano immagini in trame mipmapped, alcuni dispositivi non possono passare a un'immagine 1x1 e questa funzione avrà esito negativo. In questo caso, le immagini devono essere caricate manualmente.

Quando si ignorano i livelli di mipmap durante il caricamento di un file con estensione dds, usare la macro D3DX_SKIP_DDS_MIP_LEVELS per generare il valore MipFilter . Questa macro accetta il numero di livelli da ignorare e il tipo di filtro e restituisce il valore del filtro, che verrà quindi passato al parametro MipFilter .

Requisiti

Requisito Valore
Intestazione
D3dx9tex.h
Libreria
D3dx9.lib

Vedi anche

D3DXCreateVolumeTextureFromFile

D3DXCreateVolumeTextureFromFileInMemory

D3DXCreateVolumeTextureFromFileInMemoryEx

D3DXCreateVolumeTextureFromResource

D3DXCreateVolumeTextureFromResourceEx

Funzioni trama in D3DX 9