Funzione D3DXCreateCubeTextureFromFileEx
Crea una trama del cubo da un file. Questa è una funzione più avanzata di D3DXCreateCubeTextureFromFile.
Sintassi
HRESULT D3DXCreateCubeTextureFromFileEx(
_In_ LPDIRECT3DDEVICE9 pDevice,
_In_ LPCTSTR pSrcFile,
_In_ UINT Size,
_In_ UINT MipLevels,
_In_ DWORD Usage,
_In_ D3DFORMAT Format,
_In_ D3DPOOL Pool,
_In_ DWORD Filter,
_In_ DWORD MipFilter,
_In_ D3DCOLOR ColorKey,
_Out_ D3DXIMAGE_INFO *pSrcInfo,
_Out_ PALETTEENTRY *pPalette,
_Out_ LPDIRECT3DCUBETEXTURE9 *ppCubeTexture
);
Parametri
-
pDevice [in]
-
Tipo: LPDIRECT3DDEVICE9
Puntatore a un'interfaccia IDirect3DDevice9 che rappresenta il dispositivo da associare alla trama del cubo.
-
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.
-
Dimensioni [in]
-
Tipo: UINT
Larghezza e altezza della trama del cubo, in pixel. Ad esempio, se la trama del cubo è un cubo a 8 pixel, il valore per questo parametro deve essere 8. Se questo valore è 0 o D3DX_DEFAULT, le dimensioni vengono prese dal file.
-
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 o 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, 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 [in]
-
Tipo: D3DFORMAT
Membro del tipo enumerato D3DFORMAT , che descrive il formato pixel richiesto per la trama del cubo. La trama del cubo restituita potrebbe avere un formato diverso da quello specificato da Format. Le applicazioni devono controllare il formato della trama del cubo 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 del cubo.
-
Filtro [in]
-
Tipo: DWORD
Combinazione di una o più costanti D3DX_FILTER , controllando 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 una o più costanti D3DX_FILTER che controllano 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 [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.
-
ppCubeTexture [out]
-
Tipo: LPDIRECT3DCUBETEXTURE9*
Indirizzo di un puntatore a un'interfaccia IDirect3DCubeTexture9 che rappresenta l'oggetto trama del cubo 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_INVALIDCALL, D3DERR_NOTAVAILABLE, D3DERR_OUTOFVIDEOMEMORY, 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 D3DXCreateCubeTextureFromFileExW. In caso contrario, la chiamata alla funzione viene risolta in D3DXCreateCubeTextureFromFileExA 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 del cubo differiscono da altre superfici in cui sono raccolte di superfici. Per chiamare SetRenderTarget con una trama del cubo, è necessario selezionare un singolo viso usando GetCubeMapSurface e passare la superficie risultante a SetRenderTarget.
D3DXCreateCubeTextureFromFileEx usa il formato di file DDS (DirectDraw Surface). L'editor di trame DirectX (Dxtex.exe) consente di generare una mappa del cubo da altri formati di file e salvarla nel formato di file DDS. È possibile ottenere Dxtex.exe e scoprirlo da DirectX SDK. Per informazioni su DirectX SDK, vedere Dove è DirectX SDK?.
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 |
|
Libreria |
|
Vedi anche