mirror of
				https://github.com/halpz/re3.git
				synced 2025-10-27 22:17:03 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			1724 lines
		
	
	
		
			58 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			1724 lines
		
	
	
		
			58 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| //////////////////////////////////////////////////////////////////////////////
 | |
| //
 | |
| //  Copyright (C) Microsoft Corporation.  All Rights Reserved.
 | |
| //
 | |
| //  File:       d3dx9tex.h
 | |
| //  Content:    D3DX texturing APIs
 | |
| //
 | |
| //////////////////////////////////////////////////////////////////////////////
 | |
| 
 | |
| #include "d3dx9.h"
 | |
| 
 | |
| #ifndef __D3DX9TEX_H__
 | |
| #define __D3DX9TEX_H__
 | |
| 
 | |
| 
 | |
| //----------------------------------------------------------------------------
 | |
| // D3DX_FILTER flags:
 | |
| // ------------------
 | |
| //
 | |
| // A valid filter must contain one of these values:
 | |
| //
 | |
| //  D3DX_FILTER_NONE
 | |
| //      No scaling or filtering will take place.  Pixels outside the bounds
 | |
| //      of the source image are assumed to be transparent black.
 | |
| //  D3DX_FILTER_POINT
 | |
| //      Each destination pixel is computed by sampling the nearest pixel
 | |
| //      from the source image.
 | |
| //  D3DX_FILTER_LINEAR
 | |
| //      Each destination pixel is computed by linearly interpolating between
 | |
| //      the nearest pixels in the source image.  This filter works best 
 | |
| //      when the scale on each axis is less than 2.
 | |
| //  D3DX_FILTER_TRIANGLE
 | |
| //      Every pixel in the source image contributes equally to the
 | |
| //      destination image.  This is the slowest of all the filters.
 | |
| //  D3DX_FILTER_BOX
 | |
| //      Each pixel is computed by averaging a 2x2(x2) box pixels from 
 | |
| //      the source image. Only works when the dimensions of the 
 | |
| //      destination are half those of the source. (as with mip maps)
 | |
| //
 | |
| // And can be OR'd with any of these optional flags:
 | |
| //
 | |
| //  D3DX_FILTER_MIRROR_U
 | |
| //      Indicates that pixels off the edge of the texture on the U-axis
 | |
| //      should be mirrored, not wraped.
 | |
| //  D3DX_FILTER_MIRROR_V
 | |
| //      Indicates that pixels off the edge of the texture on the V-axis
 | |
| //      should be mirrored, not wraped.
 | |
| //  D3DX_FILTER_MIRROR_W
 | |
| //      Indicates that pixels off the edge of the texture on the W-axis
 | |
| //      should be mirrored, not wraped.
 | |
| //  D3DX_FILTER_MIRROR
 | |
| //      Same as specifying D3DX_FILTER_MIRROR_U | D3DX_FILTER_MIRROR_V |
 | |
| //      D3DX_FILTER_MIRROR_V
 | |
| //  D3DX_FILTER_DITHER
 | |
| //      Dithers the resulting image using a 4x4 order dither pattern.
 | |
| //  D3DX_FILTER_SRGB_IN
 | |
| //      Denotes that the input data is in sRGB (gamma 2.2) colorspace.
 | |
| //  D3DX_FILTER_SRGB_OUT
 | |
| //      Denotes that the output data is in sRGB (gamma 2.2) colorspace.
 | |
| //  D3DX_FILTER_SRGB
 | |
| //      Same as specifying D3DX_FILTER_SRGB_IN | D3DX_FILTER_SRGB_OUT
 | |
| //
 | |
| //----------------------------------------------------------------------------
 | |
| 
 | |
| #define D3DX_FILTER_NONE             (1 << 0)
 | |
| #define D3DX_FILTER_POINT            (2 << 0)
 | |
| #define D3DX_FILTER_LINEAR           (3 << 0)
 | |
| #define D3DX_FILTER_TRIANGLE         (4 << 0)
 | |
| #define D3DX_FILTER_BOX              (5 << 0)
 | |
| 
 | |
| #define D3DX_FILTER_MIRROR_U         (1 << 16)
 | |
| #define D3DX_FILTER_MIRROR_V         (2 << 16)
 | |
| #define D3DX_FILTER_MIRROR_W         (4 << 16)
 | |
| #define D3DX_FILTER_MIRROR           (7 << 16)
 | |
| 
 | |
| #define D3DX_FILTER_DITHER           (1 << 19)
 | |
| #define D3DX_FILTER_DITHER_DIFFUSION (2 << 19)
 | |
| 
 | |
| #define D3DX_FILTER_SRGB_IN          (1 << 21)
 | |
| #define D3DX_FILTER_SRGB_OUT         (2 << 21)
 | |
| #define D3DX_FILTER_SRGB             (3 << 21)
 | |
| 
 | |
| 
 | |
| //----------------------------------------------------------------------------
 | |
| // D3DX_NORMALMAP flags:
 | |
| // ---------------------
 | |
| // These flags are used to control how D3DXComputeNormalMap generates normal
 | |
| // maps.  Any number of these flags may be OR'd together in any combination.
 | |
| //
 | |
| //  D3DX_NORMALMAP_MIRROR_U
 | |
| //      Indicates that pixels off the edge of the texture on the U-axis
 | |
| //      should be mirrored, not wraped.
 | |
| //  D3DX_NORMALMAP_MIRROR_V
 | |
| //      Indicates that pixels off the edge of the texture on the V-axis
 | |
| //      should be mirrored, not wraped.
 | |
| //  D3DX_NORMALMAP_MIRROR
 | |
| //      Same as specifying D3DX_NORMALMAP_MIRROR_U | D3DX_NORMALMAP_MIRROR_V
 | |
| //  D3DX_NORMALMAP_INVERTSIGN
 | |
| //      Inverts the direction of each normal 
 | |
| //  D3DX_NORMALMAP_COMPUTE_OCCLUSION
 | |
| //      Compute the per pixel Occlusion term and encodes it into the alpha.
 | |
| //      An Alpha of 1 means that the pixel is not obscured in anyway, and
 | |
| //      an alpha of 0 would mean that the pixel is completly obscured.
 | |
| //
 | |
| //----------------------------------------------------------------------------
 | |
| 
 | |
| //----------------------------------------------------------------------------
 | |
| 
 | |
| #define D3DX_NORMALMAP_MIRROR_U     (1 << 16)
 | |
| #define D3DX_NORMALMAP_MIRROR_V     (2 << 16)
 | |
| #define D3DX_NORMALMAP_MIRROR       (3 << 16)
 | |
| #define D3DX_NORMALMAP_INVERTSIGN   (8 << 16)
 | |
| #define D3DX_NORMALMAP_COMPUTE_OCCLUSION (16 << 16)
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| //----------------------------------------------------------------------------
 | |
| // D3DX_CHANNEL flags:
 | |
| // -------------------
 | |
| // These flags are used by functions which operate on or more channels
 | |
| // in a texture.
 | |
| //
 | |
| // D3DX_CHANNEL_RED
 | |
| //     Indicates the red channel should be used
 | |
| // D3DX_CHANNEL_BLUE
 | |
| //     Indicates the blue channel should be used
 | |
| // D3DX_CHANNEL_GREEN
 | |
| //     Indicates the green channel should be used
 | |
| // D3DX_CHANNEL_ALPHA
 | |
| //     Indicates the alpha channel should be used
 | |
| // D3DX_CHANNEL_LUMINANCE
 | |
| //     Indicates the luminaces of the red green and blue channels should be 
 | |
| //     used.
 | |
| //
 | |
| //----------------------------------------------------------------------------
 | |
| 
 | |
| #define D3DX_CHANNEL_RED            (1 << 0)
 | |
| #define D3DX_CHANNEL_BLUE           (1 << 1)
 | |
| #define D3DX_CHANNEL_GREEN          (1 << 2)
 | |
| #define D3DX_CHANNEL_ALPHA          (1 << 3)
 | |
| #define D3DX_CHANNEL_LUMINANCE      (1 << 4)
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| //----------------------------------------------------------------------------
 | |
| // D3DXIMAGE_FILEFORMAT:
 | |
| // ---------------------
 | |
| // This enum is used to describe supported image file formats.
 | |
| //
 | |
| //----------------------------------------------------------------------------
 | |
| 
 | |
| typedef enum _D3DXIMAGE_FILEFORMAT
 | |
| {
 | |
|     D3DXIFF_BMP         = 0,
 | |
|     D3DXIFF_JPG         = 1,
 | |
|     D3DXIFF_TGA         = 2,
 | |
|     D3DXIFF_PNG         = 3,
 | |
|     D3DXIFF_DDS         = 4,
 | |
|     D3DXIFF_PPM         = 5,
 | |
|     D3DXIFF_DIB         = 6,
 | |
|     D3DXIFF_HDR         = 7,       //high dynamic range formats
 | |
|     D3DXIFF_PFM         = 8,       //
 | |
|     D3DXIFF_FORCE_DWORD = 0x7fffffff
 | |
| 
 | |
| } D3DXIMAGE_FILEFORMAT;
 | |
| 
 | |
| 
 | |
| //----------------------------------------------------------------------------
 | |
| // LPD3DXFILL2D and LPD3DXFILL3D:
 | |
| // ------------------------------
 | |
| // Function types used by the texture fill functions.
 | |
| //
 | |
| // Parameters:
 | |
| //  pOut
 | |
| //      Pointer to a vector which the function uses to return its result.
 | |
| //      X,Y,Z,W will be mapped to R,G,B,A respectivly. 
 | |
| //  pTexCoord
 | |
| //      Pointer to a vector containing the coordinates of the texel currently 
 | |
| //      being evaluated.  Textures and VolumeTexture texcoord components 
 | |
| //      range from 0 to 1. CubeTexture texcoord component range from -1 to 1.
 | |
| //  pTexelSize
 | |
| //      Pointer to a vector containing the dimensions of the current texel.
 | |
| //  pData
 | |
| //      Pointer to user data.
 | |
| //
 | |
| //----------------------------------------------------------------------------
 | |
| 
 | |
| typedef VOID (WINAPI *LPD3DXFILL2D)(D3DXVECTOR4 *pOut, 
 | |
|     CONST D3DXVECTOR2 *pTexCoord, CONST D3DXVECTOR2 *pTexelSize, LPVOID pData);
 | |
| 
 | |
| typedef VOID (WINAPI *LPD3DXFILL3D)(D3DXVECTOR4 *pOut, 
 | |
|     CONST D3DXVECTOR3 *pTexCoord, CONST D3DXVECTOR3 *pTexelSize, LPVOID pData);
 | |
|  
 | |
| 
 | |
| 
 | |
| //----------------------------------------------------------------------------
 | |
| // D3DXIMAGE_INFO:
 | |
| // ---------------
 | |
| // This structure is used to return a rough description of what the
 | |
| // the original contents of an image file looked like.
 | |
| // 
 | |
| //  Width
 | |
| //      Width of original image in pixels
 | |
| //  Height
 | |
| //      Height of original image in pixels
 | |
| //  Depth
 | |
| //      Depth of original image in pixels
 | |
| //  MipLevels
 | |
| //      Number of mip levels in original image
 | |
| //  Format
 | |
| //      D3D format which most closely describes the data in original image
 | |
| //  ResourceType
 | |
| //      D3DRESOURCETYPE representing the type of texture stored in the file.
 | |
| //      D3DRTYPE_TEXTURE, D3DRTYPE_VOLUMETEXTURE, or D3DRTYPE_CUBETEXTURE.
 | |
| //  ImageFileFormat
 | |
| //      D3DXIMAGE_FILEFORMAT representing the format of the image file.
 | |
| //
 | |
| //----------------------------------------------------------------------------
 | |
| 
 | |
| typedef struct _D3DXIMAGE_INFO
 | |
| {
 | |
|     UINT                    Width;
 | |
|     UINT                    Height;
 | |
|     UINT                    Depth;
 | |
|     UINT                    MipLevels;
 | |
|     D3DFORMAT               Format;
 | |
|     D3DRESOURCETYPE         ResourceType;
 | |
|     D3DXIMAGE_FILEFORMAT    ImageFileFormat;
 | |
| 
 | |
| } D3DXIMAGE_INFO;
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| #ifdef __cplusplus
 | |
| extern "C" {
 | |
| #endif //__cplusplus
 | |
| 
 | |
| 
 | |
| 
 | |
| //////////////////////////////////////////////////////////////////////////////
 | |
| // Image File APIs ///////////////////////////////////////////////////////////
 | |
| //////////////////////////////////////////////////////////////////////////////
 | |
| ;
 | |
| //----------------------------------------------------------------------------
 | |
| // GetImageInfoFromFile/Resource:
 | |
| // ------------------------------
 | |
| // Fills in a D3DXIMAGE_INFO struct with information about an image file.
 | |
| //
 | |
| // Parameters:
 | |
| //  pSrcFile
 | |
| //      File name of the source image.
 | |
| //  pSrcModule
 | |
| //      Module where resource is located, or NULL for module associated
 | |
| //      with image the os used to create the current process.
 | |
| //  pSrcResource
 | |
| //      Resource name
 | |
| //  pSrcData
 | |
| //      Pointer to file in memory.
 | |
| //  SrcDataSize
 | |
| //      Size in bytes of file in memory.
 | |
| //  pSrcInfo
 | |
| //      Pointer to a D3DXIMAGE_INFO structure to be filled in with the 
 | |
| //      description of the data in the source image file.
 | |
| //
 | |
| //----------------------------------------------------------------------------
 | |
| 
 | |
| HRESULT WINAPI
 | |
|     D3DXGetImageInfoFromFileA(
 | |
|         LPCSTR                    pSrcFile,
 | |
|         D3DXIMAGE_INFO*           pSrcInfo);
 | |
| 
 | |
| HRESULT WINAPI
 | |
|     D3DXGetImageInfoFromFileW(
 | |
|         LPCWSTR                   pSrcFile,
 | |
|         D3DXIMAGE_INFO*           pSrcInfo);
 | |
| 
 | |
| #ifdef UNICODE
 | |
| #define D3DXGetImageInfoFromFile D3DXGetImageInfoFromFileW
 | |
| #else
 | |
| #define D3DXGetImageInfoFromFile D3DXGetImageInfoFromFileA
 | |
| #endif
 | |
| 
 | |
| 
 | |
| HRESULT WINAPI
 | |
|     D3DXGetImageInfoFromResourceA(
 | |
|         HMODULE                   hSrcModule,
 | |
|         LPCSTR                    pSrcResource,
 | |
|         D3DXIMAGE_INFO*           pSrcInfo);
 | |
| 
 | |
| HRESULT WINAPI
 | |
|     D3DXGetImageInfoFromResourceW(
 | |
|         HMODULE                   hSrcModule,
 | |
|         LPCWSTR                   pSrcResource,
 | |
|         D3DXIMAGE_INFO*           pSrcInfo);
 | |
| 
 | |
| #ifdef UNICODE
 | |
| #define D3DXGetImageInfoFromResource D3DXGetImageInfoFromResourceW
 | |
| #else
 | |
| #define D3DXGetImageInfoFromResource D3DXGetImageInfoFromResourceA
 | |
| #endif
 | |
| 
 | |
| 
 | |
| HRESULT WINAPI
 | |
|     D3DXGetImageInfoFromFileInMemory(
 | |
|         LPCVOID                   pSrcData,
 | |
|         UINT                      SrcDataSize,
 | |
|         D3DXIMAGE_INFO*           pSrcInfo);
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| //////////////////////////////////////////////////////////////////////////////
 | |
| // Load/Save Surface APIs ////////////////////////////////////////////////////
 | |
| //////////////////////////////////////////////////////////////////////////////
 | |
| 
 | |
| //----------------------------------------------------------------------------
 | |
| // D3DXLoadSurfaceFromFile/Resource:
 | |
| // ---------------------------------
 | |
| // Load surface from a file or resource
 | |
| //
 | |
| // Parameters:
 | |
| //  pDestSurface
 | |
| //      Destination surface, which will receive the image.
 | |
| //  pDestPalette
 | |
| //      Destination palette of 256 colors, or NULL
 | |
| //  pDestRect
 | |
| //      Destination rectangle, or NULL for entire surface
 | |
| //  pSrcFile
 | |
| //      File name of the source image.
 | |
| //  pSrcModule
 | |
| //      Module where resource is located, or NULL for module associated
 | |
| //      with image the os used to create the current process.
 | |
| //  pSrcResource
 | |
| //      Resource name
 | |
| //  pSrcData
 | |
| //      Pointer to file in memory.
 | |
| //  SrcDataSize
 | |
| //      Size in bytes of file in memory.
 | |
| //  pSrcRect
 | |
| //      Source rectangle, or NULL for entire image
 | |
| //  Filter
 | |
| //      D3DX_FILTER flags controlling how the image is filtered.
 | |
| //      Or D3DX_DEFAULT for D3DX_FILTER_TRIANGLE.
 | |
| //  ColorKey
 | |
| //      Color to replace with transparent black, or 0 to disable colorkey.
 | |
| //      This is always a 32-bit ARGB color, independent of the source image
 | |
| //      format.  Alpha is significant, and should usually be set to FF for 
 | |
| //      opaque colorkeys.  (ex. Opaque black == 0xff000000)
 | |
| //  pSrcInfo
 | |
| //      Pointer to a D3DXIMAGE_INFO structure to be filled in with the 
 | |
| //      description of the data in the source image file, or NULL.
 | |
| //
 | |
| //----------------------------------------------------------------------------
 | |
| 
 | |
| HRESULT WINAPI
 | |
|     D3DXLoadSurfaceFromFileA(
 | |
|         LPDIRECT3DSURFACE9        pDestSurface,
 | |
|         CONST PALETTEENTRY*       pDestPalette,
 | |
|         CONST RECT*               pDestRect,
 | |
|         LPCSTR                    pSrcFile,
 | |
|         CONST RECT*               pSrcRect,
 | |
|         DWORD                     Filter,
 | |
|         D3DCOLOR                  ColorKey,
 | |
|         D3DXIMAGE_INFO*           pSrcInfo);
 | |
| 
 | |
| HRESULT WINAPI
 | |
|     D3DXLoadSurfaceFromFileW(
 | |
|         LPDIRECT3DSURFACE9        pDestSurface,
 | |
|         CONST PALETTEENTRY*       pDestPalette,
 | |
|         CONST RECT*               pDestRect,
 | |
|         LPCWSTR                   pSrcFile,
 | |
|         CONST RECT*               pSrcRect,
 | |
|         DWORD                     Filter,
 | |
|         D3DCOLOR                  ColorKey,
 | |
|         D3DXIMAGE_INFO*           pSrcInfo);
 | |
| 
 | |
| #ifdef UNICODE
 | |
| #define D3DXLoadSurfaceFromFile D3DXLoadSurfaceFromFileW
 | |
| #else
 | |
| #define D3DXLoadSurfaceFromFile D3DXLoadSurfaceFromFileA
 | |
| #endif
 | |
| 
 | |
| 
 | |
| 
 | |
| HRESULT WINAPI
 | |
|     D3DXLoadSurfaceFromResourceA(
 | |
|         LPDIRECT3DSURFACE9        pDestSurface,
 | |
|         CONST PALETTEENTRY*       pDestPalette,
 | |
|         CONST RECT*               pDestRect,
 | |
|         HMODULE                   hSrcModule,
 | |
|         LPCSTR                    pSrcResource,
 | |
|         CONST RECT*               pSrcRect,
 | |
|         DWORD                     Filter,
 | |
|         D3DCOLOR                  ColorKey,
 | |
|         D3DXIMAGE_INFO*           pSrcInfo);
 | |
| 
 | |
| HRESULT WINAPI
 | |
|     D3DXLoadSurfaceFromResourceW(
 | |
|         LPDIRECT3DSURFACE9        pDestSurface,
 | |
|         CONST PALETTEENTRY*       pDestPalette,
 | |
|         CONST RECT*               pDestRect,
 | |
|         HMODULE                   hSrcModule,
 | |
|         LPCWSTR                   pSrcResource,
 | |
|         CONST RECT*               pSrcRect,
 | |
|         DWORD                     Filter,
 | |
|         D3DCOLOR                  ColorKey,
 | |
|         D3DXIMAGE_INFO*           pSrcInfo);
 | |
| 
 | |
| 
 | |
| #ifdef UNICODE
 | |
| #define D3DXLoadSurfaceFromResource D3DXLoadSurfaceFromResourceW
 | |
| #else
 | |
| #define D3DXLoadSurfaceFromResource D3DXLoadSurfaceFromResourceA
 | |
| #endif
 | |
| 
 | |
| 
 | |
| 
 | |
| HRESULT WINAPI
 | |
|     D3DXLoadSurfaceFromFileInMemory(
 | |
|         LPDIRECT3DSURFACE9        pDestSurface,
 | |
|         CONST PALETTEENTRY*       pDestPalette,
 | |
|         CONST RECT*               pDestRect,
 | |
|         LPCVOID                   pSrcData,
 | |
|         UINT                      SrcDataSize,
 | |
|         CONST RECT*               pSrcRect,
 | |
|         DWORD                     Filter,
 | |
|         D3DCOLOR                  ColorKey,
 | |
|         D3DXIMAGE_INFO*           pSrcInfo);
 | |
| 
 | |
| 
 | |
| 
 | |
| //----------------------------------------------------------------------------
 | |
| // D3DXLoadSurfaceFromSurface:
 | |
| // ---------------------------
 | |
| // Load surface from another surface (with color conversion)
 | |
| //
 | |
| // Parameters:
 | |
| //  pDestSurface
 | |
| //      Destination surface, which will receive the image.
 | |
| //  pDestPalette
 | |
| //      Destination palette of 256 colors, or NULL
 | |
| //  pDestRect
 | |
| //      Destination rectangle, or NULL for entire surface
 | |
| //  pSrcSurface
 | |
| //      Source surface
 | |
| //  pSrcPalette
 | |
| //      Source palette of 256 colors, or NULL
 | |
| //  pSrcRect
 | |
| //      Source rectangle, or NULL for entire surface
 | |
| //  Filter
 | |
| //      D3DX_FILTER flags controlling how the image is filtered.
 | |
| //      Or D3DX_DEFAULT for D3DX_FILTER_TRIANGLE.
 | |
| //  ColorKey
 | |
| //      Color to replace with transparent black, or 0 to disable colorkey.
 | |
| //      This is always a 32-bit ARGB color, independent of the source image
 | |
| //      format.  Alpha is significant, and should usually be set to FF for 
 | |
| //      opaque colorkeys.  (ex. Opaque black == 0xff000000)
 | |
| //
 | |
| //----------------------------------------------------------------------------
 | |
| 
 | |
| HRESULT WINAPI
 | |
|     D3DXLoadSurfaceFromSurface(
 | |
|         LPDIRECT3DSURFACE9        pDestSurface,
 | |
|         CONST PALETTEENTRY*       pDestPalette,
 | |
|         CONST RECT*               pDestRect,
 | |
|         LPDIRECT3DSURFACE9        pSrcSurface,
 | |
|         CONST PALETTEENTRY*       pSrcPalette,
 | |
|         CONST RECT*               pSrcRect,
 | |
|         DWORD                     Filter,
 | |
|         D3DCOLOR                  ColorKey);
 | |
| 
 | |
| 
 | |
| //----------------------------------------------------------------------------
 | |
| // D3DXLoadSurfaceFromMemory:
 | |
| // --------------------------
 | |
| // Load surface from memory.
 | |
| //
 | |
| // Parameters:
 | |
| //  pDestSurface
 | |
| //      Destination surface, which will receive the image.
 | |
| //  pDestPalette
 | |
| //      Destination palette of 256 colors, or NULL
 | |
| //  pDestRect
 | |
| //      Destination rectangle, or NULL for entire surface
 | |
| //  pSrcMemory
 | |
| //      Pointer to the top-left corner of the source image in memory
 | |
| //  SrcFormat
 | |
| //      Pixel format of the source image.
 | |
| //  SrcPitch
 | |
| //      Pitch of source image, in bytes.  For DXT formats, this number
 | |
| //      should represent the width of one row of cells, in bytes.
 | |
| //  pSrcPalette
 | |
| //      Source palette of 256 colors, or NULL
 | |
| //  pSrcRect
 | |
| //      Source rectangle.
 | |
| //  Filter
 | |
| //      D3DX_FILTER flags controlling how the image is filtered.
 | |
| //      Or D3DX_DEFAULT for D3DX_FILTER_TRIANGLE.
 | |
| //  ColorKey
 | |
| //      Color to replace with transparent black, or 0 to disable colorkey.
 | |
| //      This is always a 32-bit ARGB color, independent of the source image
 | |
| //      format.  Alpha is significant, and should usually be set to FF for 
 | |
| //      opaque colorkeys.  (ex. Opaque black == 0xff000000)
 | |
| //
 | |
| //----------------------------------------------------------------------------
 | |
| 
 | |
| HRESULT WINAPI
 | |
|     D3DXLoadSurfaceFromMemory(
 | |
|         LPDIRECT3DSURFACE9        pDestSurface,
 | |
|         CONST PALETTEENTRY*       pDestPalette,
 | |
|         CONST RECT*               pDestRect,
 | |
|         LPCVOID                   pSrcMemory,
 | |
|         D3DFORMAT                 SrcFormat,
 | |
|         UINT                      SrcPitch,
 | |
|         CONST PALETTEENTRY*       pSrcPalette,
 | |
|         CONST RECT*               pSrcRect,
 | |
|         DWORD                     Filter,
 | |
|         D3DCOLOR                  ColorKey);
 | |
| 
 | |
| 
 | |
| //----------------------------------------------------------------------------
 | |
| // D3DXSaveSurfaceToFile:
 | |
| // ----------------------
 | |
| // Save a surface to a image file.
 | |
| //
 | |
| // Parameters:
 | |
| //  pDestFile
 | |
| //      File name of the destination file
 | |
| //  DestFormat
 | |
| //      D3DXIMAGE_FILEFORMAT specifying file format to use when saving.
 | |
| //  pSrcSurface
 | |
| //      Source surface, containing the image to be saved
 | |
| //  pSrcPalette
 | |
| //      Source palette of 256 colors, or NULL
 | |
| //  pSrcRect
 | |
| //      Source rectangle, or NULL for the entire image
 | |
| //
 | |
| //----------------------------------------------------------------------------
 | |
| 
 | |
| HRESULT WINAPI
 | |
|     D3DXSaveSurfaceToFileA(
 | |
|         LPCSTR                    pDestFile,
 | |
|         D3DXIMAGE_FILEFORMAT      DestFormat,
 | |
|         LPDIRECT3DSURFACE9        pSrcSurface,
 | |
|         CONST PALETTEENTRY*       pSrcPalette,
 | |
|         CONST RECT*               pSrcRect);
 | |
| 
 | |
| HRESULT WINAPI
 | |
|     D3DXSaveSurfaceToFileW(
 | |
|         LPCWSTR                   pDestFile,
 | |
|         D3DXIMAGE_FILEFORMAT      DestFormat,
 | |
|         LPDIRECT3DSURFACE9        pSrcSurface,
 | |
|         CONST PALETTEENTRY*       pSrcPalette,
 | |
|         CONST RECT*               pSrcRect);
 | |
| 
 | |
| #ifdef UNICODE
 | |
| #define D3DXSaveSurfaceToFile D3DXSaveSurfaceToFileW
 | |
| #else
 | |
| #define D3DXSaveSurfaceToFile D3DXSaveSurfaceToFileA
 | |
| #endif
 | |
| 
 | |
| //----------------------------------------------------------------------------
 | |
| // D3DXSaveSurfaceToFileInMemory:
 | |
| // ----------------------
 | |
| // Save a surface to a image file.
 | |
| //
 | |
| // Parameters:
 | |
| //  ppDestBuf
 | |
| //      address of pointer to d3dxbuffer for returning data bits
 | |
| //  DestFormat
 | |
| //      D3DXIMAGE_FILEFORMAT specifying file format to use when saving.
 | |
| //  pSrcSurface
 | |
| //      Source surface, containing the image to be saved
 | |
| //  pSrcPalette
 | |
| //      Source palette of 256 colors, or NULL
 | |
| //  pSrcRect
 | |
| //      Source rectangle, or NULL for the entire image
 | |
| //
 | |
| //----------------------------------------------------------------------------
 | |
| 
 | |
| HRESULT WINAPI
 | |
|     D3DXSaveSurfaceToFileInMemory(
 | |
|         LPD3DXBUFFER*             ppDestBuf,
 | |
|         D3DXIMAGE_FILEFORMAT      DestFormat,
 | |
|         LPDIRECT3DSURFACE9        pSrcSurface,
 | |
|         CONST PALETTEENTRY*       pSrcPalette,
 | |
|         CONST RECT*               pSrcRect);
 | |
| 
 | |
| 
 | |
| //////////////////////////////////////////////////////////////////////////////
 | |
| // Load/Save Volume APIs /////////////////////////////////////////////////////
 | |
| //////////////////////////////////////////////////////////////////////////////
 | |
| 
 | |
| //----------------------------------------------------------------------------
 | |
| // D3DXLoadVolumeFromFile/Resource:
 | |
| // --------------------------------
 | |
| // Load volume from a file or resource
 | |
| //
 | |
| // Parameters:
 | |
| //  pDestVolume
 | |
| //      Destination volume, which will receive the image.
 | |
| //  pDestPalette
 | |
| //      Destination palette of 256 colors, or NULL
 | |
| //  pDestBox
 | |
| //      Destination box, or NULL for entire volume
 | |
| //  pSrcFile
 | |
| //      File name of the source image.
 | |
| //  pSrcModule
 | |
| //      Module where resource is located, or NULL for module associated
 | |
| //      with image the os used to create the current process.
 | |
| //  pSrcResource
 | |
| //      Resource name
 | |
| //  pSrcData
 | |
| //      Pointer to file in memory.
 | |
| //  SrcDataSize
 | |
| //      Size in bytes of file in memory.
 | |
| //  pSrcBox
 | |
| //      Source box, or NULL for entire image
 | |
| //  Filter
 | |
| //      D3DX_FILTER flags controlling how the image is filtered.
 | |
| //      Or D3DX_DEFAULT for D3DX_FILTER_TRIANGLE.
 | |
| //  ColorKey
 | |
| //      Color to replace with transparent black, or 0 to disable colorkey.
 | |
| //      This is always a 32-bit ARGB color, independent of the source image
 | |
| //      format.  Alpha is significant, and should usually be set to FF for 
 | |
| //      opaque colorkeys.  (ex. Opaque black == 0xff000000)
 | |
| //  pSrcInfo
 | |
| //      Pointer to a D3DXIMAGE_INFO structure to be filled in with the 
 | |
| //      description of the data in the source image file, or NULL.
 | |
| //
 | |
| //----------------------------------------------------------------------------
 | |
| 
 | |
| HRESULT WINAPI
 | |
|     D3DXLoadVolumeFromFileA(
 | |
|         LPDIRECT3DVOLUME9         pDestVolume,
 | |
|         CONST PALETTEENTRY*       pDestPalette,
 | |
|         CONST D3DBOX*             pDestBox,
 | |
|         LPCSTR                    pSrcFile,
 | |
|         CONST D3DBOX*             pSrcBox,
 | |
|         DWORD                     Filter,
 | |
|         D3DCOLOR                  ColorKey,
 | |
|         D3DXIMAGE_INFO*           pSrcInfo);
 | |
| 
 | |
| HRESULT WINAPI
 | |
|     D3DXLoadVolumeFromFileW(
 | |
|         LPDIRECT3DVOLUME9         pDestVolume,
 | |
|         CONST PALETTEENTRY*       pDestPalette,
 | |
|         CONST D3DBOX*             pDestBox,
 | |
|         LPCWSTR                   pSrcFile,
 | |
|         CONST D3DBOX*             pSrcBox,
 | |
|         DWORD                     Filter,
 | |
|         D3DCOLOR                  ColorKey,
 | |
|         D3DXIMAGE_INFO*           pSrcInfo);
 | |
| 
 | |
| #ifdef UNICODE
 | |
| #define D3DXLoadVolumeFromFile D3DXLoadVolumeFromFileW
 | |
| #else
 | |
| #define D3DXLoadVolumeFromFile D3DXLoadVolumeFromFileA
 | |
| #endif
 | |
| 
 | |
| 
 | |
| HRESULT WINAPI
 | |
|     D3DXLoadVolumeFromResourceA(
 | |
|         LPDIRECT3DVOLUME9         pDestVolume,
 | |
|         CONST PALETTEENTRY*       pDestPalette,
 | |
|         CONST D3DBOX*             pDestBox,
 | |
|         HMODULE                   hSrcModule,
 | |
|         LPCSTR                    pSrcResource,
 | |
|         CONST D3DBOX*             pSrcBox,
 | |
|         DWORD                     Filter,
 | |
|         D3DCOLOR                  ColorKey,
 | |
|         D3DXIMAGE_INFO*           pSrcInfo);
 | |
| 
 | |
| HRESULT WINAPI
 | |
|     D3DXLoadVolumeFromResourceW(
 | |
|         LPDIRECT3DVOLUME9         pDestVolume,
 | |
|         CONST PALETTEENTRY*       pDestPalette,
 | |
|         CONST D3DBOX*             pDestBox,
 | |
|         HMODULE                   hSrcModule,
 | |
|         LPCWSTR                   pSrcResource,
 | |
|         CONST D3DBOX*             pSrcBox,
 | |
|         DWORD                     Filter,
 | |
|         D3DCOLOR                  ColorKey,
 | |
|         D3DXIMAGE_INFO*           pSrcInfo);
 | |
| 
 | |
| #ifdef UNICODE
 | |
| #define D3DXLoadVolumeFromResource D3DXLoadVolumeFromResourceW
 | |
| #else
 | |
| #define D3DXLoadVolumeFromResource D3DXLoadVolumeFromResourceA
 | |
| #endif
 | |
| 
 | |
| 
 | |
| 
 | |
| HRESULT WINAPI
 | |
|     D3DXLoadVolumeFromFileInMemory(
 | |
|         LPDIRECT3DVOLUME9         pDestVolume,
 | |
|         CONST PALETTEENTRY*       pDestPalette,
 | |
|         CONST D3DBOX*             pDestBox,
 | |
|         LPCVOID                   pSrcData,
 | |
|         UINT                      SrcDataSize,
 | |
|         CONST D3DBOX*             pSrcBox,
 | |
|         DWORD                     Filter,
 | |
|         D3DCOLOR                  ColorKey,
 | |
|         D3DXIMAGE_INFO*           pSrcInfo);
 | |
| 
 | |
| 
 | |
| 
 | |
| //----------------------------------------------------------------------------
 | |
| // D3DXLoadVolumeFromVolume:
 | |
| // -------------------------
 | |
| // Load volume from another volume (with color conversion)
 | |
| //
 | |
| // Parameters:
 | |
| //  pDestVolume
 | |
| //      Destination volume, which will receive the image.
 | |
| //  pDestPalette
 | |
| //      Destination palette of 256 colors, or NULL
 | |
| //  pDestBox
 | |
| //      Destination box, or NULL for entire volume
 | |
| //  pSrcVolume
 | |
| //      Source volume
 | |
| //  pSrcPalette
 | |
| //      Source palette of 256 colors, or NULL
 | |
| //  pSrcBox
 | |
| //      Source box, or NULL for entire volume
 | |
| //  Filter
 | |
| //      D3DX_FILTER flags controlling how the image is filtered.
 | |
| //      Or D3DX_DEFAULT for D3DX_FILTER_TRIANGLE.
 | |
| //  ColorKey
 | |
| //      Color to replace with transparent black, or 0 to disable colorkey.
 | |
| //      This is always a 32-bit ARGB color, independent of the source image
 | |
| //      format.  Alpha is significant, and should usually be set to FF for 
 | |
| //      opaque colorkeys.  (ex. Opaque black == 0xff000000)
 | |
| //
 | |
| //----------------------------------------------------------------------------
 | |
| 
 | |
| HRESULT WINAPI
 | |
|     D3DXLoadVolumeFromVolume(
 | |
|         LPDIRECT3DVOLUME9         pDestVolume,
 | |
|         CONST PALETTEENTRY*       pDestPalette,
 | |
|         CONST D3DBOX*             pDestBox,
 | |
|         LPDIRECT3DVOLUME9         pSrcVolume,
 | |
|         CONST PALETTEENTRY*       pSrcPalette,
 | |
|         CONST D3DBOX*             pSrcBox,
 | |
|         DWORD                     Filter,
 | |
|         D3DCOLOR                  ColorKey);
 | |
| 
 | |
| 
 | |
| 
 | |
| //----------------------------------------------------------------------------
 | |
| // D3DXLoadVolumeFromMemory:
 | |
| // -------------------------
 | |
| // Load volume from memory.
 | |
| //
 | |
| // Parameters:
 | |
| //  pDestVolume
 | |
| //      Destination volume, which will receive the image.
 | |
| //  pDestPalette
 | |
| //      Destination palette of 256 colors, or NULL
 | |
| //  pDestBox
 | |
| //      Destination box, or NULL for entire volume
 | |
| //  pSrcMemory
 | |
| //      Pointer to the top-left corner of the source volume in memory
 | |
| //  SrcFormat
 | |
| //      Pixel format of the source volume.
 | |
| //  SrcRowPitch
 | |
| //      Pitch of source image, in bytes.  For DXT formats, this number
 | |
| //      should represent the size of one row of cells, in bytes.
 | |
| //  SrcSlicePitch
 | |
| //      Pitch of source image, in bytes.  For DXT formats, this number
 | |
| //      should represent the size of one slice of cells, in bytes.
 | |
| //  pSrcPalette
 | |
| //      Source palette of 256 colors, or NULL
 | |
| //  pSrcBox
 | |
| //      Source box.
 | |
| //  Filter
 | |
| //      D3DX_FILTER flags controlling how the image is filtered.
 | |
| //      Or D3DX_DEFAULT for D3DX_FILTER_TRIANGLE.
 | |
| //  ColorKey
 | |
| //      Color to replace with transparent black, or 0 to disable colorkey.
 | |
| //      This is always a 32-bit ARGB color, independent of the source image
 | |
| //      format.  Alpha is significant, and should usually be set to FF for 
 | |
| //      opaque colorkeys.  (ex. Opaque black == 0xff000000)
 | |
| //
 | |
| //----------------------------------------------------------------------------
 | |
| 
 | |
| HRESULT WINAPI
 | |
|     D3DXLoadVolumeFromMemory(
 | |
|         LPDIRECT3DVOLUME9         pDestVolume,
 | |
|         CONST PALETTEENTRY*       pDestPalette,
 | |
|         CONST D3DBOX*             pDestBox,
 | |
|         LPCVOID                   pSrcMemory,
 | |
|         D3DFORMAT                 SrcFormat,
 | |
|         UINT                      SrcRowPitch,
 | |
|         UINT                      SrcSlicePitch,
 | |
|         CONST PALETTEENTRY*       pSrcPalette,
 | |
|         CONST D3DBOX*             pSrcBox,
 | |
|         DWORD                     Filter,
 | |
|         D3DCOLOR                  ColorKey);
 | |
| 
 | |
| 
 | |
| 
 | |
| //----------------------------------------------------------------------------
 | |
| // D3DXSaveVolumeToFile:
 | |
| // ---------------------
 | |
| // Save a volume to a image file.
 | |
| //
 | |
| // Parameters:
 | |
| //  pDestFile
 | |
| //      File name of the destination file
 | |
| //  DestFormat
 | |
| //      D3DXIMAGE_FILEFORMAT specifying file format to use when saving.
 | |
| //  pSrcVolume
 | |
| //      Source volume, containing the image to be saved
 | |
| //  pSrcPalette
 | |
| //      Source palette of 256 colors, or NULL
 | |
| //  pSrcBox
 | |
| //      Source box, or NULL for the entire volume
 | |
| //
 | |
| //----------------------------------------------------------------------------
 | |
| 
 | |
| HRESULT WINAPI
 | |
|     D3DXSaveVolumeToFileA(
 | |
|         LPCSTR                    pDestFile,
 | |
|         D3DXIMAGE_FILEFORMAT      DestFormat,
 | |
|         LPDIRECT3DVOLUME9         pSrcVolume,
 | |
|         CONST PALETTEENTRY*       pSrcPalette,
 | |
|         CONST D3DBOX*             pSrcBox);
 | |
| 
 | |
| HRESULT WINAPI
 | |
|     D3DXSaveVolumeToFileW(
 | |
|         LPCWSTR                   pDestFile,
 | |
|         D3DXIMAGE_FILEFORMAT      DestFormat,
 | |
|         LPDIRECT3DVOLUME9         pSrcVolume,
 | |
|         CONST PALETTEENTRY*       pSrcPalette,
 | |
|         CONST D3DBOX*             pSrcBox);
 | |
| 
 | |
| #ifdef UNICODE
 | |
| #define D3DXSaveVolumeToFile D3DXSaveVolumeToFileW
 | |
| #else
 | |
| #define D3DXSaveVolumeToFile D3DXSaveVolumeToFileA
 | |
| #endif
 | |
| 
 | |
| 
 | |
| //----------------------------------------------------------------------------
 | |
| // D3DXSaveVolumeToFileInMemory:
 | |
| // ---------------------
 | |
| // Save a volume to a image file.
 | |
| //
 | |
| // Parameters:
 | |
| //  pDestFile
 | |
| //      File name of the destination file
 | |
| //  DestFormat
 | |
| //      D3DXIMAGE_FILEFORMAT specifying file format to use when saving.
 | |
| //  pSrcVolume
 | |
| //      Source volume, containing the image to be saved
 | |
| //  pSrcPalette
 | |
| //      Source palette of 256 colors, or NULL
 | |
| //  pSrcBox
 | |
| //      Source box, or NULL for the entire volume
 | |
| //
 | |
| //----------------------------------------------------------------------------
 | |
| 
 | |
| HRESULT WINAPI
 | |
|     D3DXSaveVolumeToFileInMemory(
 | |
|         LPD3DXBUFFER*             ppDestBuf,
 | |
|         D3DXIMAGE_FILEFORMAT      DestFormat,
 | |
|         LPDIRECT3DVOLUME9         pSrcVolume,
 | |
|         CONST PALETTEENTRY*       pSrcPalette,
 | |
|         CONST D3DBOX*             pSrcBox);
 | |
| 
 | |
| //////////////////////////////////////////////////////////////////////////////
 | |
| // Create/Save Texture APIs //////////////////////////////////////////////////
 | |
| //////////////////////////////////////////////////////////////////////////////
 | |
| 
 | |
| //----------------------------------------------------------------------------
 | |
| // D3DXCheckTextureRequirements:
 | |
| // -----------------------------
 | |
| // Checks texture creation parameters.  If parameters are invalid, this
 | |
| // function returns corrected parameters.
 | |
| //
 | |
| // Parameters:
 | |
| //
 | |
| //  pDevice
 | |
| //      The D3D device to be used
 | |
| //  pWidth, pHeight, pDepth, pSize
 | |
| //      Desired size in pixels, or NULL.  Returns corrected size.
 | |
| //  pNumMipLevels
 | |
| //      Number of desired mipmap levels, or NULL.  Returns corrected number.
 | |
| //  Usage
 | |
| //      Texture usage flags
 | |
| //  pFormat
 | |
| //      Desired pixel format, or NULL.  Returns corrected format.
 | |
| //  Pool
 | |
| //      Memory pool to be used to create texture
 | |
| //
 | |
| //----------------------------------------------------------------------------
 | |
| 
 | |
| HRESULT WINAPI
 | |
|     D3DXCheckTextureRequirements(
 | |
|         LPDIRECT3DDEVICE9         pDevice,
 | |
|         UINT*                     pWidth,
 | |
|         UINT*                     pHeight,
 | |
|         UINT*                     pNumMipLevels,
 | |
|         DWORD                     Usage,
 | |
|         D3DFORMAT*                pFormat,
 | |
|         D3DPOOL                   Pool);
 | |
| 
 | |
| HRESULT WINAPI
 | |
|     D3DXCheckCubeTextureRequirements(
 | |
|         LPDIRECT3DDEVICE9         pDevice,
 | |
|         UINT*                     pSize,
 | |
|         UINT*                     pNumMipLevels,
 | |
|         DWORD                     Usage,
 | |
|         D3DFORMAT*                pFormat,
 | |
|         D3DPOOL                   Pool);
 | |
| 
 | |
| HRESULT WINAPI
 | |
|     D3DXCheckVolumeTextureRequirements(
 | |
|         LPDIRECT3DDEVICE9         pDevice,
 | |
|         UINT*                     pWidth,
 | |
|         UINT*                     pHeight,
 | |
|         UINT*                     pDepth,
 | |
|         UINT*                     pNumMipLevels,
 | |
|         DWORD                     Usage,
 | |
|         D3DFORMAT*                pFormat,
 | |
|         D3DPOOL                   Pool);
 | |
| 
 | |
| 
 | |
| //----------------------------------------------------------------------------
 | |
| // D3DXCreateTexture:
 | |
| // ------------------
 | |
| // Create an empty texture
 | |
| //
 | |
| // Parameters:
 | |
| //
 | |
| //  pDevice
 | |
| //      The D3D device with which the texture is going to be used.
 | |
| //  Width, Height, Depth, Size
 | |
| //      size in pixels. these must be non-zero
 | |
| //  MipLevels
 | |
| //      number of mip levels desired. if zero or D3DX_DEFAULT, a complete
 | |
| //      mipmap chain will be created.
 | |
| //  Usage
 | |
| //      Texture usage flags
 | |
| //  Format
 | |
| //      Pixel format.
 | |
| //  Pool
 | |
| //      Memory pool to be used to create texture
 | |
| //  ppTexture, ppCubeTexture, ppVolumeTexture
 | |
| //      The texture object that will be created
 | |
| //
 | |
| //----------------------------------------------------------------------------
 | |
| 
 | |
| HRESULT WINAPI
 | |
|     D3DXCreateTexture(
 | |
|         LPDIRECT3DDEVICE9         pDevice,
 | |
|         UINT                      Width,
 | |
|         UINT                      Height,
 | |
|         UINT                      MipLevels,
 | |
|         DWORD                     Usage,
 | |
|         D3DFORMAT                 Format,
 | |
|         D3DPOOL                   Pool,
 | |
|         LPDIRECT3DTEXTURE9*       ppTexture);
 | |
| 
 | |
| HRESULT WINAPI
 | |
|     D3DXCreateCubeTexture(
 | |
|         LPDIRECT3DDEVICE9         pDevice,
 | |
|         UINT                      Size,
 | |
|         UINT                      MipLevels,
 | |
|         DWORD                     Usage,
 | |
|         D3DFORMAT                 Format,
 | |
|         D3DPOOL                   Pool,
 | |
|         LPDIRECT3DCUBETEXTURE9*   ppCubeTexture);
 | |
| 
 | |
| HRESULT WINAPI
 | |
|     D3DXCreateVolumeTexture(
 | |
|         LPDIRECT3DDEVICE9         pDevice,
 | |
|         UINT                      Width,
 | |
|         UINT                      Height,
 | |
|         UINT                      Depth,
 | |
|         UINT                      MipLevels,
 | |
|         DWORD                     Usage,
 | |
|         D3DFORMAT                 Format,
 | |
|         D3DPOOL                   Pool,
 | |
|         LPDIRECT3DVOLUMETEXTURE9* ppVolumeTexture);
 | |
| 
 | |
| 
 | |
| 
 | |
| //----------------------------------------------------------------------------
 | |
| // D3DXCreateTextureFromFile/Resource:
 | |
| // -----------------------------------
 | |
| // Create a texture object from a file or resource.
 | |
| //
 | |
| // Parameters:
 | |
| //
 | |
| //  pDevice
 | |
| //      The D3D device with which the texture is going to be used.
 | |
| //  pSrcFile
 | |
| //      File name.
 | |
| //  hSrcModule
 | |
| //      Module handle. if NULL, current module will be used.
 | |
| //  pSrcResource
 | |
| //      Resource name in module
 | |
| //  pvSrcData
 | |
| //      Pointer to file in memory.
 | |
| //  SrcDataSize
 | |
| //      Size in bytes of file in memory.
 | |
| //  Width, Height, Depth, Size
 | |
| //      Size in pixels.  If zero or D3DX_DEFAULT, the size will be taken from 
 | |
| //      the file and rounded up to a power of two.  If D3DX_DEFAULT_NONPOW2, 
 | |
| //      and the device supports NONPOW2 textures, the size will not be rounded.
 | |
| //      If D3DX_FROM_FILE, the size will be taken exactly as it is in the file, 
 | |
| //      and the call will fail if this violates device capabilities.
 | |
| //  MipLevels
 | |
| //      Number of mip levels.  If zero or D3DX_DEFAULT, a complete mipmap
 | |
| //      chain will be created.  If D3DX_FROM_FILE, the size will be taken 
 | |
| //      exactly as it is in the file, and the call will fail if this violates 
 | |
| //      device capabilities.
 | |
| //  Usage
 | |
| //      Texture usage flags
 | |
| //  Format
 | |
| //      Desired pixel format.  If D3DFMT_UNKNOWN, the format will be
 | |
| //      taken from the file.  If D3DFMT_FROM_FILE, the format will be taken
 | |
| //      exactly as it is in the file, and the call will fail if the device does
 | |
| //      not support the given format.
 | |
| //  Pool
 | |
| //      Memory pool to be used to create texture
 | |
| //  Filter
 | |
| //      D3DX_FILTER flags controlling how the image is filtered.
 | |
| //      Or D3DX_DEFAULT for D3DX_FILTER_TRIANGLE.
 | |
| //  MipFilter
 | |
| //      D3DX_FILTER flags controlling how each miplevel is filtered.
 | |
| //      Or D3DX_DEFAULT for D3DX_FILTER_BOX,
 | |
| //  ColorKey
 | |
| //      Color to replace with transparent black, or 0 to disable colorkey.
 | |
| //      This is always a 32-bit ARGB color, independent of the source image
 | |
| //      format.  Alpha is significant, and should usually be set to FF for 
 | |
| //      opaque colorkeys.  (ex. Opaque black == 0xff000000)
 | |
| //  pSrcInfo
 | |
| //      Pointer to a D3DXIMAGE_INFO structure to be filled in with the 
 | |
| //      description of the data in the source image file, or NULL.
 | |
| //  pPalette
 | |
| //      256 color palette to be filled in, or NULL
 | |
| //  ppTexture, ppCubeTexture, ppVolumeTexture
 | |
| //      The texture object that will be created
 | |
| //
 | |
| //----------------------------------------------------------------------------
 | |
| 
 | |
| 
 | |
| // FromFile
 | |
| 
 | |
| HRESULT WINAPI
 | |
|     D3DXCreateTextureFromFileA(
 | |
|         LPDIRECT3DDEVICE9         pDevice,
 | |
|         LPCSTR                    pSrcFile,
 | |
|         LPDIRECT3DTEXTURE9*       ppTexture);
 | |
| 
 | |
| HRESULT WINAPI
 | |
|     D3DXCreateTextureFromFileW(
 | |
|         LPDIRECT3DDEVICE9         pDevice,
 | |
|         LPCWSTR                   pSrcFile,
 | |
|         LPDIRECT3DTEXTURE9*       ppTexture);
 | |
| 
 | |
| #ifdef UNICODE
 | |
| #define D3DXCreateTextureFromFile D3DXCreateTextureFromFileW
 | |
| #else
 | |
| #define D3DXCreateTextureFromFile D3DXCreateTextureFromFileA
 | |
| #endif
 | |
| 
 | |
| 
 | |
| HRESULT WINAPI
 | |
|     D3DXCreateCubeTextureFromFileA(
 | |
|         LPDIRECT3DDEVICE9         pDevice,
 | |
|         LPCSTR                    pSrcFile,
 | |
|         LPDIRECT3DCUBETEXTURE9*   ppCubeTexture);
 | |
| 
 | |
| HRESULT WINAPI
 | |
|     D3DXCreateCubeTextureFromFileW(
 | |
|         LPDIRECT3DDEVICE9         pDevice,
 | |
|         LPCWSTR                   pSrcFile,
 | |
|         LPDIRECT3DCUBETEXTURE9*   ppCubeTexture);
 | |
| 
 | |
| #ifdef UNICODE
 | |
| #define D3DXCreateCubeTextureFromFile D3DXCreateCubeTextureFromFileW
 | |
| #else
 | |
| #define D3DXCreateCubeTextureFromFile D3DXCreateCubeTextureFromFileA
 | |
| #endif
 | |
| 
 | |
| 
 | |
| HRESULT WINAPI
 | |
|     D3DXCreateVolumeTextureFromFileA(
 | |
|         LPDIRECT3DDEVICE9         pDevice,
 | |
|         LPCSTR                    pSrcFile,
 | |
|         LPDIRECT3DVOLUMETEXTURE9* ppVolumeTexture);
 | |
| 
 | |
| HRESULT WINAPI
 | |
|     D3DXCreateVolumeTextureFromFileW(
 | |
|         LPDIRECT3DDEVICE9         pDevice,
 | |
|         LPCWSTR                   pSrcFile,
 | |
|         LPDIRECT3DVOLUMETEXTURE9* ppVolumeTexture);
 | |
| 
 | |
| #ifdef UNICODE
 | |
| #define D3DXCreateVolumeTextureFromFile D3DXCreateVolumeTextureFromFileW
 | |
| #else
 | |
| #define D3DXCreateVolumeTextureFromFile D3DXCreateVolumeTextureFromFileA
 | |
| #endif
 | |
| 
 | |
| 
 | |
| // FromResource
 | |
| 
 | |
| HRESULT WINAPI
 | |
|     D3DXCreateTextureFromResourceA(
 | |
|         LPDIRECT3DDEVICE9         pDevice,
 | |
|         HMODULE                   hSrcModule,
 | |
|         LPCSTR                    pSrcResource,
 | |
|         LPDIRECT3DTEXTURE9*       ppTexture);
 | |
| 
 | |
| HRESULT WINAPI
 | |
|     D3DXCreateTextureFromResourceW(
 | |
|         LPDIRECT3DDEVICE9         pDevice,
 | |
|         HMODULE                   hSrcModule,
 | |
|         LPCWSTR                   pSrcResource,
 | |
|         LPDIRECT3DTEXTURE9*       ppTexture);
 | |
| 
 | |
| #ifdef UNICODE
 | |
| #define D3DXCreateTextureFromResource D3DXCreateTextureFromResourceW
 | |
| #else
 | |
| #define D3DXCreateTextureFromResource D3DXCreateTextureFromResourceA
 | |
| #endif
 | |
| 
 | |
| 
 | |
| HRESULT WINAPI
 | |
|     D3DXCreateCubeTextureFromResourceA(
 | |
|         LPDIRECT3DDEVICE9         pDevice,
 | |
|         HMODULE                   hSrcModule,
 | |
|         LPCSTR                    pSrcResource,
 | |
|         LPDIRECT3DCUBETEXTURE9*   ppCubeTexture);
 | |
| 
 | |
| HRESULT WINAPI
 | |
|     D3DXCreateCubeTextureFromResourceW(
 | |
|         LPDIRECT3DDEVICE9         pDevice,
 | |
|         HMODULE                   hSrcModule,
 | |
|         LPCWSTR                   pSrcResource,
 | |
|         LPDIRECT3DCUBETEXTURE9*   ppCubeTexture);
 | |
| 
 | |
| #ifdef UNICODE
 | |
| #define D3DXCreateCubeTextureFromResource D3DXCreateCubeTextureFromResourceW
 | |
| #else
 | |
| #define D3DXCreateCubeTextureFromResource D3DXCreateCubeTextureFromResourceA
 | |
| #endif
 | |
| 
 | |
| 
 | |
| HRESULT WINAPI
 | |
|     D3DXCreateVolumeTextureFromResourceA(
 | |
|         LPDIRECT3DDEVICE9         pDevice,
 | |
|         HMODULE                   hSrcModule,
 | |
|         LPCSTR                    pSrcResource,
 | |
|         LPDIRECT3DVOLUMETEXTURE9* ppVolumeTexture);
 | |
| 
 | |
| HRESULT WINAPI
 | |
|     D3DXCreateVolumeTextureFromResourceW(
 | |
|         LPDIRECT3DDEVICE9         pDevice,
 | |
|         HMODULE                   hSrcModule,
 | |
|         LPCWSTR                   pSrcResource,
 | |
|         LPDIRECT3DVOLUMETEXTURE9* ppVolumeTexture);
 | |
| 
 | |
| #ifdef UNICODE
 | |
| #define D3DXCreateVolumeTextureFromResource D3DXCreateVolumeTextureFromResourceW
 | |
| #else
 | |
| #define D3DXCreateVolumeTextureFromResource D3DXCreateVolumeTextureFromResourceA
 | |
| #endif
 | |
| 
 | |
| 
 | |
| // FromFileEx
 | |
| 
 | |
| HRESULT WINAPI
 | |
|     D3DXCreateTextureFromFileExA(
 | |
|         LPDIRECT3DDEVICE9         pDevice,
 | |
|         LPCSTR                    pSrcFile,
 | |
|         UINT                      Width,
 | |
|         UINT                      Height,
 | |
|         UINT                      MipLevels,
 | |
|         DWORD                     Usage,
 | |
|         D3DFORMAT                 Format,
 | |
|         D3DPOOL                   Pool,
 | |
|         DWORD                     Filter,
 | |
|         DWORD                     MipFilter,
 | |
|         D3DCOLOR                  ColorKey,
 | |
|         D3DXIMAGE_INFO*           pSrcInfo,
 | |
|         PALETTEENTRY*             pPalette,
 | |
|         LPDIRECT3DTEXTURE9*       ppTexture);
 | |
| 
 | |
| HRESULT WINAPI
 | |
|     D3DXCreateTextureFromFileExW(
 | |
|         LPDIRECT3DDEVICE9         pDevice,
 | |
|         LPCWSTR                   pSrcFile,
 | |
|         UINT                      Width,
 | |
|         UINT                      Height,
 | |
|         UINT                      MipLevels,
 | |
|         DWORD                     Usage,
 | |
|         D3DFORMAT                 Format,
 | |
|         D3DPOOL                   Pool,
 | |
|         DWORD                     Filter,
 | |
|         DWORD                     MipFilter,
 | |
|         D3DCOLOR                  ColorKey,
 | |
|         D3DXIMAGE_INFO*           pSrcInfo,
 | |
|         PALETTEENTRY*             pPalette,
 | |
|         LPDIRECT3DTEXTURE9*       ppTexture);
 | |
| 
 | |
| #ifdef UNICODE
 | |
| #define D3DXCreateTextureFromFileEx D3DXCreateTextureFromFileExW
 | |
| #else
 | |
| #define D3DXCreateTextureFromFileEx D3DXCreateTextureFromFileExA
 | |
| #endif
 | |
| 
 | |
| 
 | |
| HRESULT WINAPI
 | |
|     D3DXCreateCubeTextureFromFileExA(
 | |
|         LPDIRECT3DDEVICE9         pDevice,
 | |
|         LPCSTR                    pSrcFile,
 | |
|         UINT                      Size,
 | |
|         UINT                      MipLevels,
 | |
|         DWORD                     Usage,
 | |
|         D3DFORMAT                 Format,
 | |
|         D3DPOOL                   Pool,
 | |
|         DWORD                     Filter,
 | |
|         DWORD                     MipFilter,
 | |
|         D3DCOLOR                  ColorKey,
 | |
|         D3DXIMAGE_INFO*           pSrcInfo,
 | |
|         PALETTEENTRY*             pPalette,
 | |
|         LPDIRECT3DCUBETEXTURE9*   ppCubeTexture);
 | |
| 
 | |
| HRESULT WINAPI
 | |
|     D3DXCreateCubeTextureFromFileExW(
 | |
|         LPDIRECT3DDEVICE9         pDevice,
 | |
|         LPCWSTR                   pSrcFile,
 | |
|         UINT                      Size,
 | |
|         UINT                      MipLevels,
 | |
|         DWORD                     Usage,
 | |
|         D3DFORMAT                 Format,
 | |
|         D3DPOOL                   Pool,
 | |
|         DWORD                     Filter,
 | |
|         DWORD                     MipFilter,
 | |
|         D3DCOLOR                  ColorKey,
 | |
|         D3DXIMAGE_INFO*           pSrcInfo,
 | |
|         PALETTEENTRY*             pPalette,
 | |
|         LPDIRECT3DCUBETEXTURE9*   ppCubeTexture);
 | |
| 
 | |
| #ifdef UNICODE
 | |
| #define D3DXCreateCubeTextureFromFileEx D3DXCreateCubeTextureFromFileExW
 | |
| #else
 | |
| #define D3DXCreateCubeTextureFromFileEx D3DXCreateCubeTextureFromFileExA
 | |
| #endif
 | |
| 
 | |
| 
 | |
| HRESULT WINAPI
 | |
|     D3DXCreateVolumeTextureFromFileExA(
 | |
|         LPDIRECT3DDEVICE9         pDevice,
 | |
|         LPCSTR                    pSrcFile,
 | |
|         UINT                      Width,
 | |
|         UINT                      Height,
 | |
|         UINT                      Depth,
 | |
|         UINT                      MipLevels,
 | |
|         DWORD                     Usage,
 | |
|         D3DFORMAT                 Format,
 | |
|         D3DPOOL                   Pool,
 | |
|         DWORD                     Filter,
 | |
|         DWORD                     MipFilter,
 | |
|         D3DCOLOR                  ColorKey,
 | |
|         D3DXIMAGE_INFO*           pSrcInfo,
 | |
|         PALETTEENTRY*             pPalette,
 | |
|         LPDIRECT3DVOLUMETEXTURE9* ppVolumeTexture);
 | |
| 
 | |
| HRESULT WINAPI
 | |
|     D3DXCreateVolumeTextureFromFileExW(
 | |
|         LPDIRECT3DDEVICE9         pDevice,
 | |
|         LPCWSTR                   pSrcFile,
 | |
|         UINT                      Width,
 | |
|         UINT                      Height,
 | |
|         UINT                      Depth,
 | |
|         UINT                      MipLevels,
 | |
|         DWORD                     Usage,
 | |
|         D3DFORMAT                 Format,
 | |
|         D3DPOOL                   Pool,
 | |
|         DWORD                     Filter,
 | |
|         DWORD                     MipFilter,
 | |
|         D3DCOLOR                  ColorKey,
 | |
|         D3DXIMAGE_INFO*           pSrcInfo,
 | |
|         PALETTEENTRY*             pPalette,
 | |
|         LPDIRECT3DVOLUMETEXTURE9* ppVolumeTexture);
 | |
| 
 | |
| #ifdef UNICODE
 | |
| #define D3DXCreateVolumeTextureFromFileEx D3DXCreateVolumeTextureFromFileExW
 | |
| #else
 | |
| #define D3DXCreateVolumeTextureFromFileEx D3DXCreateVolumeTextureFromFileExA
 | |
| #endif
 | |
| 
 | |
| 
 | |
| // FromResourceEx
 | |
| 
 | |
| HRESULT WINAPI
 | |
|     D3DXCreateTextureFromResourceExA(
 | |
|         LPDIRECT3DDEVICE9         pDevice,
 | |
|         HMODULE                   hSrcModule,
 | |
|         LPCSTR                    pSrcResource,
 | |
|         UINT                      Width,
 | |
|         UINT                      Height,
 | |
|         UINT                      MipLevels,
 | |
|         DWORD                     Usage,
 | |
|         D3DFORMAT                 Format,
 | |
|         D3DPOOL                   Pool,
 | |
|         DWORD                     Filter,
 | |
|         DWORD                     MipFilter,
 | |
|         D3DCOLOR                  ColorKey,
 | |
|         D3DXIMAGE_INFO*           pSrcInfo,
 | |
|         PALETTEENTRY*             pPalette,
 | |
|         LPDIRECT3DTEXTURE9*       ppTexture);
 | |
| 
 | |
| HRESULT WINAPI
 | |
|     D3DXCreateTextureFromResourceExW(
 | |
|         LPDIRECT3DDEVICE9         pDevice,
 | |
|         HMODULE                   hSrcModule,
 | |
|         LPCWSTR                   pSrcResource,
 | |
|         UINT                      Width,
 | |
|         UINT                      Height,
 | |
|         UINT                      MipLevels,
 | |
|         DWORD                     Usage,
 | |
|         D3DFORMAT                 Format,
 | |
|         D3DPOOL                   Pool,
 | |
|         DWORD                     Filter,
 | |
|         DWORD                     MipFilter,
 | |
|         D3DCOLOR                  ColorKey,
 | |
|         D3DXIMAGE_INFO*           pSrcInfo,
 | |
|         PALETTEENTRY*             pPalette,
 | |
|         LPDIRECT3DTEXTURE9*       ppTexture);
 | |
| 
 | |
| #ifdef UNICODE
 | |
| #define D3DXCreateTextureFromResourceEx D3DXCreateTextureFromResourceExW
 | |
| #else
 | |
| #define D3DXCreateTextureFromResourceEx D3DXCreateTextureFromResourceExA
 | |
| #endif
 | |
| 
 | |
| 
 | |
| HRESULT WINAPI
 | |
|     D3DXCreateCubeTextureFromResourceExA(
 | |
|         LPDIRECT3DDEVICE9         pDevice,
 | |
|         HMODULE                   hSrcModule,
 | |
|         LPCSTR                    pSrcResource,
 | |
|         UINT                      Size,
 | |
|         UINT                      MipLevels,
 | |
|         DWORD                     Usage,
 | |
|         D3DFORMAT                 Format,
 | |
|         D3DPOOL                   Pool,
 | |
|         DWORD                     Filter,
 | |
|         DWORD                     MipFilter,
 | |
|         D3DCOLOR                  ColorKey,
 | |
|         D3DXIMAGE_INFO*           pSrcInfo,
 | |
|         PALETTEENTRY*             pPalette,
 | |
|         LPDIRECT3DCUBETEXTURE9*   ppCubeTexture);
 | |
| 
 | |
| HRESULT WINAPI
 | |
|     D3DXCreateCubeTextureFromResourceExW(
 | |
|         LPDIRECT3DDEVICE9         pDevice,
 | |
|         HMODULE                   hSrcModule,
 | |
|         LPCWSTR                   pSrcResource,
 | |
|         UINT                      Size,
 | |
|         UINT                      MipLevels,
 | |
|         DWORD                     Usage,
 | |
|         D3DFORMAT                 Format,
 | |
|         D3DPOOL                   Pool,
 | |
|         DWORD                     Filter,
 | |
|         DWORD                     MipFilter,
 | |
|         D3DCOLOR                  ColorKey,
 | |
|         D3DXIMAGE_INFO*           pSrcInfo,
 | |
|         PALETTEENTRY*             pPalette,
 | |
|         LPDIRECT3DCUBETEXTURE9*   ppCubeTexture);
 | |
| 
 | |
| #ifdef UNICODE
 | |
| #define D3DXCreateCubeTextureFromResourceEx D3DXCreateCubeTextureFromResourceExW
 | |
| #else
 | |
| #define D3DXCreateCubeTextureFromResourceEx D3DXCreateCubeTextureFromResourceExA
 | |
| #endif
 | |
| 
 | |
| 
 | |
| HRESULT WINAPI
 | |
|     D3DXCreateVolumeTextureFromResourceExA(
 | |
|         LPDIRECT3DDEVICE9         pDevice,
 | |
|         HMODULE                   hSrcModule,
 | |
|         LPCSTR                    pSrcResource,
 | |
|         UINT                      Width,
 | |
|         UINT                      Height,
 | |
|         UINT                      Depth,
 | |
|         UINT                      MipLevels,
 | |
|         DWORD                     Usage,
 | |
|         D3DFORMAT                 Format,
 | |
|         D3DPOOL                   Pool,
 | |
|         DWORD                     Filter,
 | |
|         DWORD                     MipFilter,
 | |
|         D3DCOLOR                  ColorKey,
 | |
|         D3DXIMAGE_INFO*           pSrcInfo,
 | |
|         PALETTEENTRY*             pPalette,
 | |
|         LPDIRECT3DVOLUMETEXTURE9* ppVolumeTexture);
 | |
| 
 | |
| HRESULT WINAPI
 | |
|     D3DXCreateVolumeTextureFromResourceExW(
 | |
|         LPDIRECT3DDEVICE9         pDevice,
 | |
|         HMODULE                   hSrcModule,
 | |
|         LPCWSTR                   pSrcResource,
 | |
|         UINT                      Width,
 | |
|         UINT                      Height,
 | |
|         UINT                      Depth,
 | |
|         UINT                      MipLevels,
 | |
|         DWORD                     Usage,
 | |
|         D3DFORMAT                 Format,
 | |
|         D3DPOOL                   Pool,
 | |
|         DWORD                     Filter,
 | |
|         DWORD                     MipFilter,
 | |
|         D3DCOLOR                  ColorKey,
 | |
|         D3DXIMAGE_INFO*           pSrcInfo,
 | |
|         PALETTEENTRY*             pPalette,
 | |
|         LPDIRECT3DVOLUMETEXTURE9* ppVolumeTexture);
 | |
| 
 | |
| #ifdef UNICODE
 | |
| #define D3DXCreateVolumeTextureFromResourceEx D3DXCreateVolumeTextureFromResourceExW
 | |
| #else
 | |
| #define D3DXCreateVolumeTextureFromResourceEx D3DXCreateVolumeTextureFromResourceExA
 | |
| #endif
 | |
| 
 | |
| 
 | |
| // FromFileInMemory
 | |
| 
 | |
| HRESULT WINAPI
 | |
|     D3DXCreateTextureFromFileInMemory(
 | |
|         LPDIRECT3DDEVICE9         pDevice,
 | |
|         LPCVOID                   pSrcData,
 | |
|         UINT                      SrcDataSize,
 | |
|         LPDIRECT3DTEXTURE9*       ppTexture);
 | |
| 
 | |
| HRESULT WINAPI
 | |
|     D3DXCreateCubeTextureFromFileInMemory(
 | |
|         LPDIRECT3DDEVICE9         pDevice,
 | |
|         LPCVOID                   pSrcData,
 | |
|         UINT                      SrcDataSize,
 | |
|         LPDIRECT3DCUBETEXTURE9*   ppCubeTexture);
 | |
| 
 | |
| HRESULT WINAPI
 | |
|     D3DXCreateVolumeTextureFromFileInMemory(
 | |
|         LPDIRECT3DDEVICE9         pDevice,
 | |
|         LPCVOID                   pSrcData,
 | |
|         UINT                      SrcDataSize,
 | |
|         LPDIRECT3DVOLUMETEXTURE9* ppVolumeTexture);
 | |
| 
 | |
| 
 | |
| // FromFileInMemoryEx
 | |
| 
 | |
| HRESULT WINAPI
 | |
|     D3DXCreateTextureFromFileInMemoryEx(
 | |
|         LPDIRECT3DDEVICE9         pDevice,
 | |
|         LPCVOID                   pSrcData,
 | |
|         UINT                      SrcDataSize,
 | |
|         UINT                      Width,
 | |
|         UINT                      Height,
 | |
|         UINT                      MipLevels,
 | |
|         DWORD                     Usage,
 | |
|         D3DFORMAT                 Format,
 | |
|         D3DPOOL                   Pool,
 | |
|         DWORD                     Filter,
 | |
|         DWORD                     MipFilter,
 | |
|         D3DCOLOR                  ColorKey,
 | |
|         D3DXIMAGE_INFO*           pSrcInfo,
 | |
|         PALETTEENTRY*             pPalette,
 | |
|         LPDIRECT3DTEXTURE9*       ppTexture);
 | |
| 
 | |
| HRESULT WINAPI
 | |
|     D3DXCreateCubeTextureFromFileInMemoryEx(
 | |
|         LPDIRECT3DDEVICE9         pDevice,
 | |
|         LPCVOID                   pSrcData,
 | |
|         UINT                      SrcDataSize,
 | |
|         UINT                      Size,
 | |
|         UINT                      MipLevels,
 | |
|         DWORD                     Usage,
 | |
|         D3DFORMAT                 Format,
 | |
|         D3DPOOL                   Pool,
 | |
|         DWORD                     Filter,
 | |
|         DWORD                     MipFilter,
 | |
|         D3DCOLOR                  ColorKey,
 | |
|         D3DXIMAGE_INFO*           pSrcInfo,
 | |
|         PALETTEENTRY*             pPalette,
 | |
|         LPDIRECT3DCUBETEXTURE9*   ppCubeTexture);
 | |
| 
 | |
| HRESULT WINAPI
 | |
|     D3DXCreateVolumeTextureFromFileInMemoryEx(
 | |
|         LPDIRECT3DDEVICE9         pDevice,
 | |
|         LPCVOID                   pSrcData,
 | |
|         UINT                      SrcDataSize,
 | |
|         UINT                      Width,
 | |
|         UINT                      Height,
 | |
|         UINT                      Depth,
 | |
|         UINT                      MipLevels,
 | |
|         DWORD                     Usage,
 | |
|         D3DFORMAT                 Format,
 | |
|         D3DPOOL                   Pool,
 | |
|         DWORD                     Filter,
 | |
|         DWORD                     MipFilter,
 | |
|         D3DCOLOR                  ColorKey,
 | |
|         D3DXIMAGE_INFO*           pSrcInfo,
 | |
|         PALETTEENTRY*             pPalette,
 | |
|         LPDIRECT3DVOLUMETEXTURE9* ppVolumeTexture);
 | |
| 
 | |
| 
 | |
| 
 | |
| //----------------------------------------------------------------------------
 | |
| // D3DXSaveTextureToFile:
 | |
| // ----------------------
 | |
| // Save a texture to a file.
 | |
| //
 | |
| // Parameters:
 | |
| //  pDestFile
 | |
| //      File name of the destination file
 | |
| //  DestFormat
 | |
| //      D3DXIMAGE_FILEFORMAT specifying file format to use when saving.
 | |
| //  pSrcTexture
 | |
| //      Source texture, containing the image to be saved
 | |
| //  pSrcPalette
 | |
| //      Source palette of 256 colors, or NULL
 | |
| //
 | |
| //----------------------------------------------------------------------------
 | |
| 
 | |
| 
 | |
| HRESULT WINAPI
 | |
|     D3DXSaveTextureToFileA(
 | |
|         LPCSTR                    pDestFile,
 | |
|         D3DXIMAGE_FILEFORMAT      DestFormat,
 | |
|         LPDIRECT3DBASETEXTURE9    pSrcTexture,
 | |
|         CONST PALETTEENTRY*       pSrcPalette);
 | |
| 
 | |
| HRESULT WINAPI
 | |
|     D3DXSaveTextureToFileW(
 | |
|         LPCWSTR                   pDestFile,
 | |
|         D3DXIMAGE_FILEFORMAT      DestFormat,
 | |
|         LPDIRECT3DBASETEXTURE9    pSrcTexture,
 | |
|         CONST PALETTEENTRY*       pSrcPalette);
 | |
| 
 | |
| #ifdef UNICODE
 | |
| #define D3DXSaveTextureToFile D3DXSaveTextureToFileW
 | |
| #else
 | |
| #define D3DXSaveTextureToFile D3DXSaveTextureToFileA
 | |
| #endif
 | |
| 
 | |
| 
 | |
| //----------------------------------------------------------------------------
 | |
| // D3DXSaveTextureToFileInMemory:
 | |
| // ----------------------
 | |
| // Save a texture to a file.
 | |
| //
 | |
| // Parameters:
 | |
| //  ppDestBuf
 | |
| //      address of a d3dxbuffer pointer to return the image data
 | |
| //  DestFormat
 | |
| //      D3DXIMAGE_FILEFORMAT specifying file format to use when saving.
 | |
| //  pSrcTexture
 | |
| //      Source texture, containing the image to be saved
 | |
| //  pSrcPalette
 | |
| //      Source palette of 256 colors, or NULL
 | |
| //
 | |
| //----------------------------------------------------------------------------
 | |
| 
 | |
| HRESULT WINAPI
 | |
|     D3DXSaveTextureToFileInMemory(
 | |
|         LPD3DXBUFFER*             ppDestBuf,
 | |
|         D3DXIMAGE_FILEFORMAT      DestFormat,
 | |
|         LPDIRECT3DBASETEXTURE9    pSrcTexture,
 | |
|         CONST PALETTEENTRY*       pSrcPalette);
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| //////////////////////////////////////////////////////////////////////////////
 | |
| // Misc Texture APIs /////////////////////////////////////////////////////////
 | |
| //////////////////////////////////////////////////////////////////////////////
 | |
| 
 | |
| //----------------------------------------------------------------------------
 | |
| // D3DXFilterTexture:
 | |
| // ------------------
 | |
| // Filters mipmaps levels of a texture.
 | |
| //
 | |
| // Parameters:
 | |
| //  pBaseTexture
 | |
| //      The texture object to be filtered
 | |
| //  pPalette
 | |
| //      256 color palette to be used, or NULL for non-palettized formats
 | |
| //  SrcLevel
 | |
| //      The level whose image is used to generate the subsequent levels. 
 | |
| //  Filter
 | |
| //      D3DX_FILTER flags controlling how each miplevel is filtered.
 | |
| //      Or D3DX_DEFAULT for D3DX_FILTER_BOX,
 | |
| //
 | |
| //----------------------------------------------------------------------------
 | |
| 
 | |
| HRESULT WINAPI
 | |
|     D3DXFilterTexture(
 | |
|         LPDIRECT3DBASETEXTURE9    pBaseTexture,
 | |
|         CONST PALETTEENTRY*       pPalette,
 | |
|         UINT                      SrcLevel,
 | |
|         DWORD                     Filter);
 | |
| 
 | |
| #define D3DXFilterCubeTexture D3DXFilterTexture
 | |
| #define D3DXFilterVolumeTexture D3DXFilterTexture
 | |
| 
 | |
| 
 | |
| 
 | |
| //----------------------------------------------------------------------------
 | |
| // D3DXFillTexture:
 | |
| // ----------------
 | |
| // Uses a user provided function to fill each texel of each mip level of a
 | |
| // given texture.
 | |
| //
 | |
| // Paramters:
 | |
| //  pTexture, pCubeTexture, pVolumeTexture
 | |
| //      Pointer to the texture to be filled.
 | |
| //  pFunction
 | |
| //      Pointer to user provided evalutor function which will be used to 
 | |
| //      compute the value of each texel.
 | |
| //  pData
 | |
| //      Pointer to an arbitrary block of user defined data.  This pointer 
 | |
| //      will be passed to the function provided in pFunction
 | |
| //-----------------------------------------------------------------------------
 | |
| 
 | |
| HRESULT WINAPI
 | |
|     D3DXFillTexture(
 | |
|         LPDIRECT3DTEXTURE9        pTexture,
 | |
|         LPD3DXFILL2D              pFunction,
 | |
|         LPVOID                    pData);
 | |
| 
 | |
| HRESULT WINAPI
 | |
|     D3DXFillCubeTexture(
 | |
|         LPDIRECT3DCUBETEXTURE9    pCubeTexture,
 | |
|         LPD3DXFILL3D              pFunction,
 | |
|         LPVOID                    pData);
 | |
| 
 | |
| HRESULT WINAPI
 | |
|     D3DXFillVolumeTexture(
 | |
|         LPDIRECT3DVOLUMETEXTURE9  pVolumeTexture,
 | |
|         LPD3DXFILL3D              pFunction,
 | |
|         LPVOID                    pData);
 | |
| 
 | |
| //---------------------------------------------------------------------------
 | |
| // D3DXFillTextureTX:
 | |
| // ------------------
 | |
| // Uses a TX Shader target to function to fill each texel of each mip level
 | |
| // of a given texture. The TX Shader target should be a compiled function 
 | |
| // taking 2 paramters and returning a float4 color.
 | |
| //
 | |
| // Paramters:
 | |
| //  pTexture, pCubeTexture, pVolumeTexture
 | |
| //      Pointer to the texture to be filled.
 | |
| //  pTextureShader
 | |
| //      Pointer to the texture shader to be used to fill in the texture
 | |
| //----------------------------------------------------------------------------
 | |
| 
 | |
| HRESULT WINAPI 
 | |
|     D3DXFillTextureTX(
 | |
|         LPDIRECT3DTEXTURE9        pTexture,
 | |
|         LPD3DXTEXTURESHADER       pTextureShader);
 | |
| 
 | |
| 
 | |
| HRESULT WINAPI
 | |
|     D3DXFillCubeTextureTX(
 | |
|         LPDIRECT3DCUBETEXTURE9    pCubeTexture,
 | |
|         LPD3DXTEXTURESHADER       pTextureShader);
 | |
|                                                 
 | |
|                                                         
 | |
| HRESULT WINAPI 
 | |
|     D3DXFillVolumeTextureTX(
 | |
|         LPDIRECT3DVOLUMETEXTURE9  pVolumeTexture,
 | |
|         LPD3DXTEXTURESHADER       pTextureShader);
 | |
| 
 | |
| 
 | |
| 
 | |
| //----------------------------------------------------------------------------
 | |
| // D3DXComputeNormalMap:
 | |
| // ---------------------
 | |
| // Converts a height map into a normal map.  The (x,y,z) components of each
 | |
| // normal are mapped to the (r,g,b) channels of the output texture.
 | |
| //
 | |
| // Parameters
 | |
| //  pTexture
 | |
| //      Pointer to the destination texture
 | |
| //  pSrcTexture
 | |
| //      Pointer to the source heightmap texture 
 | |
| //  pSrcPalette
 | |
| //      Source palette of 256 colors, or NULL
 | |
| //  Flags
 | |
| //      D3DX_NORMALMAP flags
 | |
| //  Channel
 | |
| //      D3DX_CHANNEL specifying source of height information
 | |
| //  Amplitude
 | |
| //      The constant value which the height information is multiplied by.
 | |
| //---------------------------------------------------------------------------
 | |
| 
 | |
| HRESULT WINAPI
 | |
|     D3DXComputeNormalMap(
 | |
|         LPDIRECT3DTEXTURE9        pTexture,
 | |
|         LPDIRECT3DTEXTURE9        pSrcTexture,
 | |
|         CONST PALETTEENTRY*       pSrcPalette,
 | |
|         DWORD                     Flags,
 | |
|         DWORD                     Channel,
 | |
|         FLOAT                     Amplitude);
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| #ifdef __cplusplus
 | |
| }
 | |
| #endif //__cplusplus
 | |
| 
 | |
| #endif //__D3DX9TEX_H__
 | |
| 
 |