Ada计算机图形DirectX之d3dx9tex

----------------------------------------
-- File : d3dx9tex.ads                --
-- Translator:Dongfeng.Gu,2018/10/19  --
-- Mail: 515639@qq.com                --
-- Progress:100%                      --
----------------------------------------

with interfaces.C;

with win32;               use win32;
with win32.windef;        use win32.windef;
with win32.Objbase;       use win32.Objbase;
with win32.Wingdi;        use win32.Wingdi;

with d3d9;                use d3d9;
with d3d9types;           use d3d9types;
with d3dx9core;           use d3dx9core;
with d3dx9shader;         use d3dx9shader;



package d3dx9tex is
   
   subtype LPUINT  is win32.PUINT;
   
   function Shift_Left(A:dword;B:Natural) return dword with import,convention=>Intrinsic;
   function Lsh(A:dword;B:Natural) return dword is (Shift_Left(A,B));
   
   function Shift_Right(A:dword;B:Natural) return dword with import,convention=>Intrinsic;
   function Rsh(A:dword;B:Natural) return dword is (Shift_Right(A,B));

   D3DX_FILTER_NONE : constant dword:= Lsh(1,0);

   D3DX_FILTER_POINT : constant dword:= Lsh(2,0);

   D3DX_FILTER_LINEAR : constant dword:= Lsh(3,0);

   D3DX_FILTER_TRIANGLE : constant dword:= Lsh(4,0);

   D3DX_FILTER_BOX : constant dword:= Lsh(5,0);

   D3DX_FILTER_MIRROR_U : constant dword:= Lsh(1,16);

   D3DX_FILTER_MIRROR_V : constant dword:= Lsh(2,16);

   D3DX_FILTER_MIRROR_W : constant dword:= Lsh(4,16);

   D3DX_FILTER_MIRROR : constant dword:= Lsh(7,16);

   D3DX_FILTER_DITHER : constant dword:= Lsh(1,19);

   D3DX_FILTER_DITHER_DIFFUSION : constant dword:= Lsh(2,19);

   D3DX_FILTER_SRGB_IN : constant dword:= Lsh(1,21);

   D3DX_FILTER_SRGB_OUT : constant dword:= Lsh(2,21);

   D3DX_FILTER_SRGB : constant dword:= Lsh(3,21);

   D3DX_SKIP_DDS_MIP_LEVELS_MASK : constant := 16#1F#;

   D3DX_SKIP_DDS_MIP_LEVELS_SHIFT : constant := 26;
   
   
   use type Interfaces.C.unsigned_long;
   
   -- Macro function
   function D3DX_SKIP_DDS_MIP_LEVELS(levels, filter:dword) return DWORD is (Lsh((levels and D3DX_SKIP_DDS_MIP_LEVELS_MASK),D3DX_SKIP_DDS_MIP_LEVELS_SHIFT) or (if filter=16#FFFFFFFF# then D3DX_FILTER_BOX else filter));
   
   D3DX_NORMALMAP_MIRROR_U : constant dword:= Lsh(1,16);

   D3DX_NORMALMAP_MIRROR_V : constant dword:= Lsh(2,16);

   D3DX_NORMALMAP_MIRROR : constant dword:= Lsh(3,16);

   D3DX_NORMALMAP_INVERTSIGN : constant dword:= Lsh(8,16);

   D3DX_NORMALMAP_COMPUTE_OCCLUSION : constant dword:= Lsh(16,16);

   D3DX_CHANNEL_RED : constant dword:= Lsh(1,0);

   D3DX_CHANNEL_BLUE : constant dword:= Lsh(1,1);

   D3DX_CHANNEL_GREEN : constant dword:= Lsh(1,2);

   D3DX_CHANNEL_ALPHA : constant dword:= Lsh(1,3);

   D3DX_CHANNEL_LUMINANCE : constant dword:= Lsh(1,4);

   type tagD3DXIMAGE_FILEFORMAT is (D3DXIFF_BMP,
                                    D3DXIFF_JPG,
                                    D3DXIFF_TGA,
                                    D3DXIFF_PNG,
                                    D3DXIFF_DDS,
                                    D3DXIFF_PPM,
                                    D3DXIFF_DIB,
                                    D3DXIFF_HDR,
                                    D3DXIFF_PFM,
                                    D3DXIFF_FORCE_DWORD);
   for tagD3DXIMAGE_FILEFORMAT use (D3DXIFF_BMP=>0,
                                    D3DXIFF_JPG=>1,
                                    D3DXIFF_TGA=>2,
                                    D3DXIFF_PNG=>3,
                                    D3DXIFF_DDS=>4,
                                    D3DXIFF_PPM=>5,
                                    D3DXIFF_DIB=>6,
                                    D3DXIFF_HDR=>7,
                                    D3DXIFF_PFM=>8,
                                    D3DXIFF_FORCE_DWORD=>16#7fffffff#);

   subtype D3DXIMAGE_FILEFORMAT is tagD3DXIMAGE_FILEFORMAT;

   type LPD3DXFILL2D is access function(pOut:LPD3DXVECTOR4;pTexCoord:LPD3DXVECTOR2;pTexelSize:LPD3DXVECTOR2;pData:LPVOID) return VOID with Convention=>Stdcall;

   type LPD3DXFILL3D is access function(pOut:LPD3DXVECTOR4;pTexCoord:LPD3DXVECTOR3;pTexelSize:LPD3DXVECTOR3;pData:LPVOID) return VOID with Convention=>Stdcall;

   type tagD3DXIMAGE_INFO is record
      Width:UINT;
      Height:UINT;
      Depth:UINT;
      MipLevels:UINT;
      Format:D3DFORMAT;
      ResourceType:D3DRESOURCETYPE;
      ImageFileFormat:D3DXIMAGE_FILEFORMAT;
   end record;

   subtype D3DXIMAGE_INFO is tagD3DXIMAGE_INFO;
   type LPD3DXIMAGE_INFO is access all D3DXIMAGE_INFO;

   function D3DXGetImageInfoFromFileA(pSrcFile:LPCSTR;pSrcInfo:LPD3DXIMAGE_INFO) return HRESULT with Import,Convention=>stdcall,external_name=>"D3DXGetImageInfoFromFileA";
   function D3DXGetImageInfoFromFile(pSrcFile:LPCSTR;pSrcInfo:LPD3DXIMAGE_INFO) return HRESULT with Import,Convention=>stdcall,external_name=>"D3DXGetImageInfoFromFileA";

   function D3DXGetImageInfoFromFileW(pSrcFile:LPCWSTR;pSrcInfo:LPD3DXIMAGE_INFO) return HRESULT with Import,Convention=>stdcall,external_name=>"D3DXGetImageInfoFromFileW";

   
   function D3DXGetImageInfoFromResourceA(hSrcModule:HMODULE;pSrcResource:LPCSTR;pSrcInfo:LPD3DXIMAGE_INFO) return HRESULT with Import,Convention=>stdcall,external_name=>"D3DXGetImageInfoFromResourceA";
   function D3DXGetImageInfoFromResource(hSrcModule:HMODULE;pSrcResource:LPCSTR;pSrcInfo:LPD3DXIMAGE_INFO) return HRESULT with Import,Convention=>stdcall,external_name=>"D3DXGetImageInfoFromResourceA";

   function D3DXGetImageInfoFromResourceW(hSrcModule:HMODULE;pSrcResource:LPCWSTR;pSrcInfo:LPD3DXIMAGE_INFO) return HRESULT with Import,Convention=>stdcall,external_name=>"D3DXGetImageInfoFromResourceW";


   function D3DXGetImageInfoFromFileInMemory(pSrcData:LPCVOID;SrcDataSize:UINT;pSrcInfo:LPD3DXIMAGE_INFO) return HRESULT with Import,Convention=>stdcall,external_name=>"D3DXGetImageInfoFromFileInMemory";

   function D3DXLoadSurfaceFromFileA(pDestSurface:LPDIRECT3DSURFACE9;pDestPalette:access constant PALETTEENTRY;pDestRect:LPCRECT;pSrcFile:LPCSTR;pSrcRect:LPCRECT;Filter:DWORD;ColorKey:D3DCOLOR;pSrcInfo:LPD3DXIMAGE_INFO) return HRESULT with Import,Convention=>stdcall,external_name=>"D3DXLoadSurfaceFromFileA";
   function D3DXLoadSurfaceFromFile(pDestSurface:LPDIRECT3DSURFACE9;pDestPalette:access constant PALETTEENTRY;pDestRect:LPCRECT;pSrcFile:LPCSTR;pSrcRect:LPCRECT;Filter:DWORD;ColorKey:D3DCOLOR;pSrcInfo:LPD3DXIMAGE_INFO) return HRESULT with Import,Convention=>stdcall,external_name=>"D3DXLoadSurfaceFromFileA";

   function D3DXLoadSurfaceFromFileW(pDestSurface:LPDIRECT3DSURFACE9;pDestPalette:access constant PALETTEENTRY;pDestRect:LPCRECT;pSrcFile:LPCWSTR;pSrcRect:LPCRECT;Filter:DWORD;ColorKey:D3DCOLOR;pSrcInfo:LPD3DXIMAGE_INFO) return HRESULT with Import,Convention=>stdcall,external_name=>"D3DXLoadSurfaceFromFileW";


   function D3DXLoadSurfaceFromResourceA(pDestSurface:LPDIRECT3DSURFACE9;pDestPalette:access constant PALETTEENTRY;pDestRect:LPCRECT;hSrcModule:HMODULE;pSrcResource:LPCSTR;pSrcRect:LPCRECT;Filter:DWORD;ColorKey:D3DCOLOR;pSrcInfo:LPD3DXIMAGE_INFO) return HRESULT with Import,Convention=>stdcall,external_name=>"D3DXLoadSurfaceFromResourceA";
   function D3DXLoadSurfaceFromResource(pDestSurface:LPDIRECT3DSURFACE9;pDestPalette:access constant PALETTEENTRY;pDestRect:LPCRECT;hSrcModule:HMODULE;pSrcResource:LPCSTR;pSrcRect:LPCRECT;Filter:DWORD;ColorKey:D3DCOLOR;pSrcInfo:LPD3DXIMAGE_INFO) return HRESULT with Import,Convention=>stdcall,external_name=>"D3DXLoadSurfaceFromResourceA";

   function D3DXLoadSurfaceFromResourceW(pDestSurface:LPDIRECT3DSURFACE9;pDestPalette:access constant PALETTEENTRY;pDestRect:LPCRECT;hSrcModule:HMODULE;pSrcResource:LPCWSTR;pSrcRect:LPCRECT;Filter:DWORD;ColorKey:D3DCOLOR;pSrcInfo:LPD3DXIMAGE_INFO) return HRESULT with Import,Convention=>stdcall,external_name=>"D3DXLoadSurfaceFromResourceW";


   function D3DXLoadSurfaceFromFileInMemory(pDestSurface:LPDIRECT3DSURFACE9;pDestPalette:access constant PALETTEENTRY;pDestRect:LPCRECT;pSrcData:LPCVOID;SrcDataSize:UINT;pSrcRect:LPCRECT;Filter:DWORD;ColorKey:D3DCOLOR;pSrcInfo:LPD3DXIMAGE_INFO) return HRESULT with Import,Convention=>stdcall,external_name=>"D3DXLoadSurfaceFromFileInMemory";

   function D3DXLoadSurfaceFromSurface(pDestSurface:LPDIRECT3DSURFACE9;pDestPalette:access constant PALETTEENTRY;pDestRect:LPCRECT;pSrcSurface:LPDIRECT3DSURFACE9;pSrcPalette:access constant PALETTEENTRY;pSrcRect:LPCRECT;Filter:DWORD;ColorKey:D3DCOLOR) return HRESULT with Import,Convention=>stdcall,external_name=>"D3DXLoadSurfaceFromSurface";

   function D3DXLoadSurfaceFromMemory(pDestSurface:LPDIRECT3DSURFACE9;pDestPalette:access constant PALETTEENTRY;pDestRect:LPCRECT;pSrcMemory:LPCVOID;SrcFormat:D3DFORMAT;SrcPitch:UINT;pSrcPalette:access constant PALETTEENTRY;pSrcRect:LPCRECT;Filter:DWORD;ColorKey:D3DCOLOR) return HRESULT with Import,Convention=>stdcall,external_name=>"D3DXLoadSurfaceFromMemory";

   function D3DXSaveSurfaceToFileA(pDestFile:LPCSTR;DestFormat:D3DXIMAGE_FILEFORMAT;pSrcSurface:LPDIRECT3DSURFACE9;pSrcPalette:access constant PALETTEENTRY;pSrcRect:LPCRECT) return HRESULT with Import,Convention=>stdcall,external_name=>"D3DXSaveSurfaceToFileA";
   function D3DXSaveSurfaceToFile(pDestFile:LPCSTR;DestFormat:D3DXIMAGE_FILEFORMAT;pSrcSurface:LPDIRECT3DSURFACE9;pSrcPalette:access constant PALETTEENTRY;pSrcRect:LPCRECT) return HRESULT with Import,Convention=>stdcall,external_name=>"D3DXSaveSurfaceToFileA";

   function D3DXSaveSurfaceToFileW(pDestFile:LPCWSTR;DestFormat:D3DXIMAGE_FILEFORMAT;pSrcSurface:LPDIRECT3DSURFACE9;pSrcPalette:access constant PALETTEENTRY;pSrcRect:LPCRECT) return HRESULT with Import,Convention=>stdcall,external_name=>"D3DXSaveSurfaceToFileW";


   function D3DXSaveSurfaceToFileInMemory(ppDestBuf:access LPD3DXBUFFER;DestFormat:D3DXIMAGE_FILEFORMAT;pSrcSurface:LPDIRECT3DSURFACE9;pSrcPalette:access constant PALETTEENTRY;pSrcRect:LPCRECT) return HRESULT with Import,Convention=>stdcall,external_name=>"D3DXSaveSurfaceToFileInMemory";

   function D3DXLoadVolumeFromFileA(pDestVolume:LPDIRECT3DVOLUME9;pDestPalette:access constant PALETTEENTRY;pDestBox:access constant D3DBOX;pSrcFile:LPCSTR;pSrcBox:access constant D3DBOX;Filter:DWORD;ColorKey:D3DCOLOR;pSrcInfo:LPD3DXIMAGE_INFO) return HRESULT with Import,Convention=>stdcall,external_name=>"D3DXLoadVolumeFromFileA";
   function D3DXLoadVolumeFromFile(pDestVolume:LPDIRECT3DVOLUME9;pDestPalette:access constant PALETTEENTRY;pDestBox:access constant D3DBOX;pSrcFile:LPCSTR;pSrcBox:access constant D3DBOX;Filter:DWORD;ColorKey:D3DCOLOR;pSrcInfo:LPD3DXIMAGE_INFO) return HRESULT with Import,Convention=>stdcall,external_name=>"D3DXLoadVolumeFromFileA";

   function D3DXLoadVolumeFromFileW(pDestVolume:LPDIRECT3DVOLUME9;pDestPalette:access constant PALETTEENTRY;pDestBox:access constant D3DBOX;pSrcFile:LPCWSTR;pSrcBox:access constant D3DBOX;Filter:DWORD;ColorKey:D3DCOLOR;pSrcInfo:LPD3DXIMAGE_INFO) return HRESULT with Import,Convention=>stdcall,external_name=>"D3DXLoadVolumeFromFileW";

   function D3DXLoadVolumeFromResourceA(pDestVolume:LPDIRECT3DVOLUME9;pDestPalette:access constant PALETTEENTRY;pDestBox:access constant D3DBOX;hSrcModule:HMODULE;pSrcResource:LPCSTR;pSrcBox:LPCD3DBOX;Filter:DWORD;ColorKey:D3DCOLOR;pSrcInfo:LPD3DXIMAGE_INFO) return HRESULT with Import,Convention=>stdcall,external_name=>"D3DXLoadVolumeFromResourceA";
   function D3DXLoadVolumeFromResource(pDestVolume:LPDIRECT3DVOLUME9;pDestPalette:access constant PALETTEENTRY;pDestBox:access constant D3DBOX;hSrcModule:HMODULE;pSrcResource:LPCSTR;pSrcBox:LPCD3DBOX;Filter:DWORD;ColorKey:D3DCOLOR;pSrcInfo:LPD3DXIMAGE_INFO) return HRESULT with Import,Convention=>stdcall,external_name=>"D3DXLoadVolumeFromResourceA";

   function D3DXLoadVolumeFromResourceW(pDestVolume:LPDIRECT3DVOLUME9;pDestPalette:access constant PALETTEENTRY;pDestBox:access constant D3DBOX;hSrcModule:HMODULE;pSrcResource:LPCWSTR;pSrcBox:LPCD3DBOX;Filter:DWORD;ColorKey:D3DCOLOR;pSrcInfo:LPD3DXIMAGE_INFO) return HRESULT with Import,Convention=>stdcall,external_name=>"D3DXLoadVolumeFromResourceW";



   function D3DXLoadVolumeFromFileInMemory(pDestVolume:LPDIRECT3DVOLUME9;pDestPalette:access constant PALETTEENTRY;pDestBox:LPCD3DBOX;pSrcData:LPCVOID;SrcDataSize:UINT;pSrcBox:LPCD3DBOX;Filter:DWORD;ColorKey:D3DCOLOR;pSrcInfo:LPD3DXIMAGE_INFO) return HRESULT with Import,Convention=>stdcall,external_name=>"D3DXLoadVolumeFromFileInMemory";

   function D3DXLoadVolumeFromVolume(pDestVolume:LPDIRECT3DVOLUME9;pDestPalette:access constant PALETTEENTRY;pDestBox:LPCD3DBOX;pSrcVolume:LPDIRECT3DVOLUME9;pSrcPalette:access constant PALETTEENTRY;pSrcBox:LPCD3DBOX;Filter:DWORD;ColorKey:D3DCOLOR) return HRESULT with Import,Convention=>stdcall,external_name=>"D3DXLoadVolumeFromVolume";

   function D3DXLoadVolumeFromMemory(pDestVolume:LPDIRECT3DVOLUME9;pDestPalette:access constant PALETTEENTRY;pDestBox:LPCD3DBOX;pSrcMemory:LPCVOID;SrcFormat:D3DFORMAT;SrcRowPitch:UINT;SrcSlicePitch:UINT;pSrcPalette:access constant PALETTEENTRY;pSrcBox:LPCD3DBOX;Filter:DWORD;ColorKey:D3DCOLOR) return HRESULT with Import,Convention=>stdcall,external_name=>"D3DXLoadVolumeFromMemory";

   function D3DXSaveVolumeToFileA(pDestFile:LPCSTR;DestFormat:D3DXIMAGE_FILEFORMAT;pSrcVolume:LPDIRECT3DVOLUME9;pSrcPalette:access constant PALETTEENTRY;pSrcBox:LPCD3DBOX) return HRESULT with Import,Convention=>stdcall,external_name=>"D3DXSaveVolumeToFileA";
   function D3DXSaveVolumeToFile(pDestFile:LPCSTR;DestFormat:D3DXIMAGE_FILEFORMAT;pSrcVolume:LPDIRECT3DVOLUME9;pSrcPalette:access constant PALETTEENTRY;pSrcBox:LPCD3DBOX) return HRESULT with Import,Convention=>stdcall,external_name=>"D3DXSaveVolumeToFileA";

   function D3DXSaveVolumeToFileW(pDestFile:LPCWSTR;DestFormat:D3DXIMAGE_FILEFORMAT;pSrcVolume:LPDIRECT3DVOLUME9;pSrcPalette:access constant PALETTEENTRY;pSrcBox:LPCD3DBOX) return HRESULT with Import,Convention=>stdcall,external_name=>"D3DXSaveVolumeToFileW";



   function D3DXSaveVolumeToFileInMemory(ppDestBuf:LPLPD3DXBUFFER;DestFormat:D3DXIMAGE_FILEFORMAT;pSrcVolume:LPDIRECT3DVOLUME9;pSrcPalette:access constant PALETTEENTRY;pSrcBox:LPCD3DBOX) return HRESULT with Import,Convention=>stdcall,external_name=>"D3DXSaveVolumeToFileInMemory";

   function D3DXCheckTextureRequirements(pDevice:LPDIRECT3DDEVICE9;pWidth:LPUINT;pHeight:LPUINT;pNumMipLevels:LPUINT;Usage:DWORD;pFormat:LPD3DFORMAT;Pool:D3DPOOL) return HRESULT with Import,Convention=>stdcall,external_name=>"D3DXCheckTextureRequirements";

   function D3DXCheckCubeTextureRequirements(pDevice:LPDIRECT3DDEVICE9;pSize:LPUINT;pNumMipLevels:LPUINT;Usage:DWORD;pFormat:LPD3DFORMAT;Pool:D3DPOOL) return HRESULT with Import,Convention=>stdcall,external_name=>"D3DXCheckCubeTextureRequirements";

   function D3DXCheckVolumeTextureRequirements(pDevice:LPDIRECT3DDEVICE9;pWidth:LPUINT;pHeight:LPUINT;pDepth:LPUINT;pNumMipLevels:LPUINT;Usage:DWORD;pFormat:LPD3DFORMAT;Pool:D3DPOOL) return HRESULT with Import,Convention=>stdcall,external_name=>"D3DXCheckVolumeTextureRequirements";

   function D3DXCreateTexture(pDevice:LPDIRECT3DDEVICE9;Width:UINT;Height:UINT;MipLevels:UINT;Usage:DWORD;Format:D3DFORMAT;Pool:D3DPOOL;ppTexture:LPLPDIRECT3DTEXTURE9) return HRESULT with Import,Convention=>stdcall,external_name=>"D3DXCreateTexture";

   function D3DXCreateCubeTexture(pDevice:LPDIRECT3DDEVICE9;Size:UINT;MipLevels:UINT;Usage:DWORD;Format:D3DFORMAT;Pool:D3DPOOL;ppCubeTexture:LPLPIDIRECT3DCUBETEXTURE9) return HRESULT with Import,Convention=>stdcall,external_name=>"D3DXCreateCubeTexture";

   function D3DXCreateVolumeTexture(pDevice:LPDIRECT3DDEVICE9;Width:UINT;Height:UINT;Depth:UINT;MipLevels:UINT;Usage:DWORD;Format:D3DFORMAT;Pool:D3DPOOL;ppVolumeTexture:LPLPIDIRECT3DVOLUMETEXTURE9) return HRESULT with Import,Convention=>stdcall,external_name=>"D3DXCreateVolumeTexture";

   function D3DXCreateTextureFromFileA(pDevice:LPDIRECT3DDEVICE9;pSrcFile:LPCSTR;ppTexture:LPLPDIRECT3DTEXTURE9) return HRESULT with Import,Convention=>stdcall,external_name=>"D3DXCreateTextureFromFileA";
   function D3DXCreateTextureFromFile(pDevice:LPDIRECT3DDEVICE9;pSrcFile:LPCSTR;ppTexture:LPLPDIRECT3DTEXTURE9) return HRESULT with Import,Convention=>stdcall,external_name=>"D3DXCreateTextureFromFileA";

   function D3DXCreateTextureFromFileW(pDevice:LPDIRECT3DDEVICE9;pSrcFile:LPCWSTR;ppTexture:LPLPDIRECT3DTEXTURE9) return HRESULT with Import,Convention=>stdcall,external_name=>"D3DXCreateTextureFromFileW";



   function D3DXCreateCubeTextureFromFileA(pDevice:LPDIRECT3DDEVICE9;pSrcFile:LPCSTR;ppCubeTexture:LPLPIDIRECT3DCUBETEXTURE9) return HRESULT with Import,Convention=>stdcall,external_name=>"D3DXCreateCubeTextureFromFileA";
   function D3DXCreateCubeTextureFromFile(pDevice:LPDIRECT3DDEVICE9;pSrcFile:LPCSTR;ppCubeTexture:LPLPIDIRECT3DCUBETEXTURE9) return HRESULT with Import,Convention=>stdcall,external_name=>"D3DXCreateCubeTextureFromFileA";

   function D3DXCreateCubeTextureFromFileW(pDevice:LPDIRECT3DDEVICE9;pSrcFile:LPCWSTR;ppCubeTexture:LPLPIDIRECT3DCUBETEXTURE9) return HRESULT with Import,Convention=>stdcall,external_name=>"D3DXCreateCubeTextureFromFileW";


   function D3DXCreateVolumeTextureFromFileA(pDevice:LPDIRECT3DDEVICE9;pSrcFile:LPCSTR;ppVolumeTexture:LPLPIDIRECT3DVOLUMETEXTURE9) return HRESULT with Import,Convention=>stdcall,external_name=>"D3DXCreateVolumeTextureFromFileA";
   function D3DXCreateVolumeTextureFromFile(pDevice:LPDIRECT3DDEVICE9;pSrcFile:LPCSTR;ppVolumeTexture:LPLPIDIRECT3DVOLUMETEXTURE9) return HRESULT with Import,Convention=>stdcall,external_name=>"D3DXCreateVolumeTextureFromFileA";

   function D3DXCreateVolumeTextureFromFileW(pDevice:LPDIRECT3DDEVICE9;pSrcFile:LPCWSTR;ppVolumeTexture:LPLPIDIRECT3DVOLUMETEXTURE9) return HRESULT with Import,Convention=>stdcall,external_name=>"D3DXCreateVolumeTextureFromFileW";



   function D3DXCreateTextureFromResourceA(pDevice:LPDIRECT3DDEVICE9;hSrcModule:HMODULE;pSrcResource:LPCSTR;ppTexture:LPLPDIRECT3DTEXTURE9) return HRESULT with Import,Convention=>stdcall,external_name=>"D3DXCreateTextureFromResourceA";
   function D3DXCreateTextureFromResource(pDevice:LPDIRECT3DDEVICE9;hSrcModule:HMODULE;pSrcResource:LPCSTR;ppTexture:LPLPDIRECT3DTEXTURE9) return HRESULT with Import,Convention=>stdcall,external_name=>"D3DXCreateTextureFromResourceA";

   function D3DXCreateTextureFromResourceW(pDevice:LPDIRECT3DDEVICE9;hSrcModule:HMODULE;pSrcResource:LPCWSTR;ppTexture:LPLPDIRECT3DTEXTURE9) return HRESULT with Import,Convention=>stdcall,external_name=>"D3DXCreateTextureFromResourceW";



   function D3DXCreateCubeTextureFromResourceA(pDevice:LPDIRECT3DDEVICE9;hSrcModule:HMODULE;pSrcResource:LPCSTR;ppCubeTexture:LPLPDIRECT3DCUBETEXTURE9) return HRESULT with Import,Convention=>stdcall,external_name=>"D3DXCreateCubeTextureFromResourceA";
   function D3DXCreateCubeTextureFromResource(pDevice:LPDIRECT3DDEVICE9;hSrcModule:HMODULE;pSrcResource:LPCSTR;ppCubeTexture:LPLPDIRECT3DCUBETEXTURE9) return HRESULT with Import,Convention=>stdcall,external_name=>"D3DXCreateCubeTextureFromResourceA";

   function D3DXCreateCubeTextureFromResourceW(pDevice:LPDIRECT3DDEVICE9;hSrcModule:HMODULE;pSrcResource:LPCWSTR;ppCubeTexture:LPLPDIRECT3DCUBETEXTURE9) return HRESULT with Import,Convention=>stdcall,external_name=>"D3DXCreateCubeTextureFromResourceW";

   function D3DXCreateVolumeTextureFromResourceA(pDevice:LPDIRECT3DDEVICE9;hSrcModule:HMODULE;pSrcResource:LPCSTR;ppVolumeTexture:LPLPDIRECT3DVOLUMETEXTURE9) return HRESULT with Import,Convention=>stdcall,external_name=>"D3DXCreateVolumeTextureFromResourceA";
   function D3DXCreateVolumeTextureFromResource(pDevice:LPDIRECT3DDEVICE9;hSrcModule:HMODULE;pSrcResource:LPCSTR;ppVolumeTexture:LPLPDIRECT3DVOLUMETEXTURE9) return HRESULT with Import,Convention=>stdcall,external_name=>"D3DXCreateVolumeTextureFromResourceA";

   function D3DXCreateVolumeTextureFromResourceW(pDevice:LPDIRECT3DDEVICE9;hSrcModule:HMODULE;pSrcResource:LPCWSTR;ppVolumeTexture:LPLPDIRECT3DVOLUMETEXTURE9) return HRESULT with Import,Convention=>stdcall,external_name=>"D3DXCreateVolumeTextureFromResourceW";


   function D3DXCreateTextureFromFileExA(pDevice:LPDIRECT3DDEVICE9;pSrcFile:LPCSTR;Width:UINT;Height:UINT;MipLevels:UINT;Usage:DWORD;Format:D3DFORMAT;Pool:D3DPOOL;Filter:DWORD;MipFilter:DWORD;ColorKey:D3DCOLOR;pSrcInfo:LPD3DXIMAGE_INFO;pPalette:LPPALETTEENTRY;ppTexture:LPLPDIRECT3DTEXTURE9) return HRESULT with Import,Convention=>stdcall,external_name=>"D3DXCreateTextureFromFileExA";
   function D3DXCreateTextureFromFileEx(pDevice:LPDIRECT3DDEVICE9;pSrcFile:LPCSTR;Width:UINT;Height:UINT;MipLevels:UINT;Usage:DWORD;Format:D3DFORMAT;Pool:D3DPOOL;Filter:DWORD;MipFilter:DWORD;ColorKey:D3DCOLOR;pSrcInfo:LPD3DXIMAGE_INFO;pPalette:LPPALETTEENTRY;ppTexture:LPLPDIRECT3DTEXTURE9) return HRESULT with Import,Convention=>stdcall,external_name=>"D3DXCreateTextureFromFileExA";

   function D3DXCreateTextureFromFileExW(pDevice:LPDIRECT3DDEVICE9;pSrcFile:LPCWSTR;Width:UINT;Height:UINT;MipLevels:UINT;Usage:DWORD;Format:D3DFORMAT;Pool:D3DPOOL;Filter:DWORD;MipFilter:DWORD;ColorKey:D3DCOLOR;pSrcInfo:LPD3DXIMAGE_INFO;pPalette:LPPALETTEENTRY;ppTexture:LPLPDIRECT3DTEXTURE9) return HRESULT with Import,Convention=>stdcall,external_name=>"D3DXCreateTextureFromFileExW";

   
   function D3DXCreateCubeTextureFromFileExA(pDevice:LPDIRECT3DDEVICE9;pSrcFile:LPCSTR;Size:UINT;MipLevels:UINT;Usage:DWORD;Format:D3DFORMAT;Pool:D3DPOOL;Filter:DWORD;MipFilter:DWORD;ColorKey:D3DCOLOR;pSrcInfo:LPD3DXIMAGE_INFO;pPalette:LPPALETTEENTRY;ppCubeTexture:LPLPDIRECT3DCUBETEXTURE9) return HRESULT with Import,Convention=>stdcall,external_name=>"D3DXCreateCubeTextureFromFileExA";
   function D3DXCreateCubeTextureFromFileEx(pDevice:LPDIRECT3DDEVICE9;pSrcFile:LPCSTR;Size:UINT;MipLevels:UINT;Usage:DWORD;Format:D3DFORMAT;Pool:D3DPOOL;Filter:DWORD;MipFilter:DWORD;ColorKey:D3DCOLOR;pSrcInfo:LPD3DXIMAGE_INFO;pPalette:LPPALETTEENTRY;ppCubeTexture:LPLPDIRECT3DCUBETEXTURE9) return HRESULT with Import,Convention=>stdcall,external_name=>"D3DXCreateCubeTextureFromFileExA";

   function D3DXCreateCubeTextureFromFileExW(pDevice:LPDIRECT3DDEVICE9;pSrcFile:LPCWSTR;Size:UINT;MipLevels:UINT;Usage:DWORD;Format:D3DFORMAT;Pool:D3DPOOL;Filter:DWORD;MipFilter:DWORD;ColorKey:D3DCOLOR;pSrcInfo:LPD3DXIMAGE_INFO;pPalette:LPPALETTEENTRY;ppCubeTexture:LPLPDIRECT3DCUBETEXTURE9) return HRESULT with Import,Convention=>stdcall,external_name=>"D3DXCreateCubeTextureFromFileExW";


   function D3DXCreateVolumeTextureFromFileExA(pDevice:LPDIRECT3DDEVICE9;pSrcFile:LPCSTR;Width:UINT;Height:UINT;Depth:UINT;MipLevels:UINT;Usage:DWORD;Format:D3DFORMAT;Pool:D3DPOOL;Filter:DWORD;MipFilter:DWORD;ColorKey:D3DCOLOR;pSrcInfo:LPD3DXIMAGE_INFO;pPalette:LPPALETTEENTRY;ppVolumeTexture:LPLPDIRECT3DVOLUMETEXTURE9) return HRESULT with Import,Convention=>stdcall,external_name=>"D3DXCreateVolumeTextureFromFileExA";
   function D3DXCreateVolumeTextureFromFileEx(pDevice:LPDIRECT3DDEVICE9;pSrcFile:LPCSTR;Width:UINT;Height:UINT;Depth:UINT;MipLevels:UINT;Usage:DWORD;Format:D3DFORMAT;Pool:D3DPOOL;Filter:DWORD;MipFilter:DWORD;ColorKey:D3DCOLOR;pSrcInfo:LPD3DXIMAGE_INFO;pPalette:LPPALETTEENTRY;ppVolumeTexture:LPLPDIRECT3DVOLUMETEXTURE9) return HRESULT with Import,Convention=>stdcall,external_name=>"D3DXCreateVolumeTextureFromFileExA";

   function D3DXCreateVolumeTextureFromFileExW(pDevice:LPDIRECT3DDEVICE9;pSrcFile:LPCWSTR;Width:UINT;Height:UINT;Depth:UINT;MipLevels:UINT;Usage:DWORD;Format:D3DFORMAT;Pool:D3DPOOL;Filter:DWORD;MipFilter:DWORD;ColorKey:D3DCOLOR;pSrcInfo:LPD3DXIMAGE_INFO;pPalette:LPPALETTEENTRY;ppVolumeTexture:LPLPDIRECT3DVOLUMETEXTURE9) return HRESULT with Import,Convention=>stdcall,external_name=>"D3DXCreateVolumeTextureFromFileExW";


   function D3DXCreateTextureFromResourceExA(pDevice:LPDIRECT3DDEVICE9;hSrcModule:HMODULE;pSrcResource:LPCSTR;Width:UINT;Height:UINT;MipLevels:UINT;Usage:DWORD;Format:D3DFORMAT;Pool:D3DPOOL;Filter:DWORD;MipFilter:DWORD;ColorKey:D3DCOLOR;pSrcInfo:LPD3DXIMAGE_INFO;pPalette:LPPALETTEENTRY;ppTexture:LPLPDIRECT3DTEXTURE9) return HRESULT with Import,Convention=>stdcall,external_name=>"D3DXCreateTextureFromResourceExA";
   function D3DXCreateTextureFromResourceEx(pDevice:LPDIRECT3DDEVICE9;hSrcModule:HMODULE;pSrcResource:LPCSTR;Width:UINT;Height:UINT;MipLevels:UINT;Usage:DWORD;Format:D3DFORMAT;Pool:D3DPOOL;Filter:DWORD;MipFilter:DWORD;ColorKey:D3DCOLOR;pSrcInfo:LPD3DXIMAGE_INFO;pPalette:LPPALETTEENTRY;ppTexture:LPLPDIRECT3DTEXTURE9) return HRESULT with Import,Convention=>stdcall,external_name=>"D3DXCreateTextureFromResourceExA";

   function D3DXCreateTextureFromResourceExW(pDevice:LPDIRECT3DDEVICE9;hSrcModule:HMODULE;pSrcResource:LPCWSTR;Width:UINT;Height:UINT;MipLevels:UINT;Usage:DWORD;Format:D3DFORMAT;Pool:D3DPOOL;Filter:DWORD;MipFilter:DWORD;ColorKey:D3DCOLOR;pSrcInfo:LPD3DXIMAGE_INFO;pPalette:LPPALETTEENTRY;ppTexture:LPLPDIRECT3DTEXTURE9) return HRESULT with Import,Convention=>stdcall,external_name=>"D3DXCreateTextureFromResourceExW";


   function D3DXCreateCubeTextureFromResourceExA(pDevice:LPDIRECT3DDEVICE9;hSrcModule:HMODULE;pSrcResource:LPCSTR;Size:UINT;MipLevels:UINT;Usage:DWORD;Format:D3DFORMAT;Pool:D3DPOOL;Filter:DWORD;MipFilter:DWORD;ColorKey:D3DCOLOR;pSrcInfo:LPD3DXIMAGE_INFO;pPalette:LPPALETTEENTRY;ppCubeTexture:LPLPDIRECT3DCUBETEXTURE9) return HRESULT with Import,Convention=>stdcall,external_name=>"D3DXCreateCubeTextureFromResourceExA";
   function D3DXCreateCubeTextureFromResourceEx(pDevice:LPDIRECT3DDEVICE9;hSrcModule:HMODULE;pSrcResource:LPCSTR;Size:UINT;MipLevels:UINT;Usage:DWORD;Format:D3DFORMAT;Pool:D3DPOOL;Filter:DWORD;MipFilter:DWORD;ColorKey:D3DCOLOR;pSrcInfo:LPD3DXIMAGE_INFO;pPalette:LPPALETTEENTRY;ppCubeTexture:LPLPDIRECT3DCUBETEXTURE9) return HRESULT with Import,Convention=>stdcall,external_name=>"D3DXCreateCubeTextureFromResourceExA";

   function D3DXCreateCubeTextureFromResourceExW(pDevice:LPDIRECT3DDEVICE9;hSrcModule:HMODULE;pSrcResource:LPCWSTR;Size:UINT;MipLevels:UINT;Usage:DWORD;Format:D3DFORMAT;Pool:D3DPOOL;Filter:DWORD;MipFilter:DWORD;ColorKey:D3DCOLOR;pSrcInfo:LPD3DXIMAGE_INFO;pPalette:LPPALETTEENTRY;ppCubeTexture:LPLPDIRECT3DCUBETEXTURE9) return HRESULT with Import,Convention=>stdcall,external_name=>"D3DXCreateCubeTextureFromResourceExW";


   function D3DXCreateVolumeTextureFromResourceExA(pDevice:LPDIRECT3DDEVICE9;hSrcModule:HMODULE;pSrcResource:LPCSTR;Width:UINT;Height:UINT;Depth:UINT;MipLevels:UINT;Usage:DWORD;Format:D3DFORMAT;Pool:D3DPOOL;Filter:DWORD;MipFilter:DWORD;ColorKey:D3DCOLOR;pSrcInfo:LPD3DXIMAGE_INFO;pPalette:LPPALETTEENTRY;ppVolumeTexture:LPLPDIRECT3DVOLUMETEXTURE9) return HRESULT with Import,Convention=>stdcall,external_name=>"D3DXCreateVolumeTextureFromResourceExA";
   function D3DXCreateVolumeTextureFromResourceEx(pDevice:LPDIRECT3DDEVICE9;hSrcModule:HMODULE;pSrcResource:LPCSTR;Width:UINT;Height:UINT;Depth:UINT;MipLevels:UINT;Usage:DWORD;Format:D3DFORMAT;Pool:D3DPOOL;Filter:DWORD;MipFilter:DWORD;ColorKey:D3DCOLOR;pSrcInfo:LPD3DXIMAGE_INFO;pPalette:LPPALETTEENTRY;ppVolumeTexture:LPLPDIRECT3DVOLUMETEXTURE9) return HRESULT with Import,Convention=>stdcall,external_name=>"D3DXCreateVolumeTextureFromResourceExA";

   function D3DXCreateVolumeTextureFromResourceExW(pDevice:LPDIRECT3DDEVICE9;hSrcModule:HMODULE;pSrcResource:LPCWSTR;Width:UINT;Height:UINT;Depth:UINT;MipLevels:UINT;Usage:DWORD;Format:D3DFORMAT;Pool:D3DPOOL;Filter:DWORD;MipFilter:DWORD;ColorKey:D3DCOLOR;pSrcInfo:LPD3DXIMAGE_INFO;pPalette:LPPALETTEENTRY;ppVolumeTexture:LPLPDIRECT3DVOLUMETEXTURE9) return HRESULT with Import,Convention=>stdcall,external_name=>"D3DXCreateVolumeTextureFromResourceExW";


   function D3DXCreateTextureFromFileInMemory(pDevice:LPDIRECT3DDEVICE9;pSrcData:LPCVOID;SrcDataSize:UINT;ppTexture:LPLPDIRECT3DTEXTURE9) return HRESULT with Import,Convention=>stdcall,external_name=>"D3DXCreateTextureFromFileInMemory";

   function D3DXCreateCubeTextureFromFileInMemory(pDevice:LPDIRECT3DDEVICE9;pSrcData:LPCVOID;SrcDataSize:UINT;ppCubeTexture:LPLPDIRECT3DCUBETEXTURE9) return HRESULT with Import,Convention=>stdcall,external_name=>"D3DXCreateCubeTextureFromFileInMemory";

   function D3DXCreateVolumeTextureFromFileInMemory(pDevice:LPDIRECT3DDEVICE9;pSrcData:LPCVOID;SrcDataSize:UINT;ppVolumeTexture:LPLPDIRECT3DVOLUMETEXTURE9) return HRESULT with Import,Convention=>stdcall,external_name=>"D3DXCreateVolumeTextureFromFileInMemory";

   function D3DXCreateTextureFromFileInMemoryEx(pDevice:LPDIRECT3DDEVICE9;pSrcData:LPCVOID;SrcDataSize:UINT;Width:UINT;Height:UINT;MipLevels:UINT;Usage:DWORD;Format:D3DFORMAT;Pool:D3DPOOL;Filter:DWORD;MipFilter:DWORD;ColorKey:D3DCOLOR;pSrcInfo:LPD3DXIMAGE_INFO;pPalette:LPPALETTEENTRY;ppTexture:LPLPDIRECT3DTEXTURE9) return HRESULT with Import,Convention=>stdcall,external_name=>"D3DXCreateTextureFromFileInMemoryEx";

   function D3DXCreateCubeTextureFromFileInMemoryEx(pDevice:LPDIRECT3DDEVICE9;pSrcData:LPCVOID;SrcDataSize:UINT;Size:UINT;MipLevels:UINT;Usage:DWORD;Format:D3DFORMAT;Pool:D3DPOOL;Filter:DWORD;MipFilter:DWORD;ColorKey:D3DCOLOR;pSrcInfo:LPD3DXIMAGE_INFO;pPalette:LPPALETTEENTRY;ppCubeTexture:LPLPDIRECT3DCUBETEXTURE9) return HRESULT with Import,Convention=>stdcall,external_name=>"D3DXCreateCubeTextureFromFileInMemoryEx";

   function D3DXCreateVolumeTextureFromFileInMemoryEx(pDevice:LPDIRECT3DDEVICE9;pSrcData:LPCVOID;SrcDataSize:UINT;Width:UINT;Height:UINT;Depth:UINT;MipLevels:UINT;Usage:DWORD;Format:D3DFORMAT;Pool:D3DPOOL;Filter:DWORD;MipFilter:DWORD;ColorKey:D3DCOLOR;pSrcInfo:LPD3DXIMAGE_INFO;pPalette:LPPALETTEENTRY;ppVolumeTexture:LPLPDIRECT3DVOLUMETEXTURE9) return HRESULT with Import,Convention=>stdcall,external_name=>"D3DXCreateVolumeTextureFromFileInMemoryEx";

   function D3DXSaveTextureToFileA(pDestFile:LPCSTR;DestFormat:D3DXIMAGE_FILEFORMAT;pSrcTexture:LPDIRECT3DBASETEXTURE9;pSrcPalette:access constant PALETTEENTRY) return HRESULT with Import,Convention=>stdcall,external_name=>"D3DXSaveTextureToFileA";
   function D3DXSaveTextureToFile(pDestFile:LPCSTR;DestFormat:D3DXIMAGE_FILEFORMAT;pSrcTexture:LPDIRECT3DBASETEXTURE9;pSrcPalette:access constant PALETTEENTRY) return HRESULT with Import,Convention=>stdcall,external_name=>"D3DXSaveTextureToFileA";

   function D3DXSaveTextureToFileW(pDestFile:LPCWSTR;DestFormat:D3DXIMAGE_FILEFORMAT;pSrcTexture:LPDIRECT3DBASETEXTURE9;pSrcPalette:access constant PALETTEENTRY) return HRESULT with Import,Convention=>stdcall,external_name=>"D3DXSaveTextureToFileW";


   function D3DXSaveTextureToFileInMemory(ppDestBuf:LPLPD3DXBUFFER;DestFormat:D3DXIMAGE_FILEFORMAT;pSrcTexture:LPDIRECT3DBASETEXTURE9;pSrcPalette:access constant PALETTEENTRY) return HRESULT with Import,Convention=>stdcall,external_name=>"D3DXSaveTextureToFileInMemory";

   function D3DXFilterTexture(pBaseTexture:LPDIRECT3DBASETEXTURE9;pPalette:access constant PALETTEENTRY;SrcLevel:UINT;Filter:DWORD) return HRESULT with Import,Convention=>stdcall,external_name=>"D3DXFilterTexture";
   function D3DXFilterCubeTexture(pBaseTexture:LPDIRECT3DBASETEXTURE9;pPalette:access constant PALETTEENTRY;SrcLevel:UINT;Filter:DWORD) return HRESULT with Import,Convention=>stdcall,external_name=>"D3DXFilterTexture";

   function D3DXFilterVolumeTexture(pBaseTexture:LPDIRECT3DBASETEXTURE9;pPalette:access constant PALETTEENTRY;SrcLevel:UINT;Filter:DWORD) return HRESULT with Import,Convention=>stdcall,external_name=>"D3DXFilterTexture";

   function D3DXFillTexture(pTexture:LPDIRECT3DTEXTURE9;pFunction:LPD3DXFILL2D;pData:LPVOID) return HRESULT with Import,Convention=>stdcall,external_name=>"D3DXFillTexture";

   function D3DXFillCubeTexture(pCubeTexture:LPDIRECT3DCUBETEXTURE9;pFunction:LPD3DXFILL3D;pData:LPVOID) return HRESULT with Import,Convention=>stdcall,external_name=>"D3DXFillCubeTexture";

   function D3DXFillVolumeTexture(pVolumeTexture:LPDIRECT3DVOLUMETEXTURE9;pFunction:LPD3DXFILL3D;pData:LPVOID) return HRESULT with Import,Convention=>stdcall,external_name=>"D3DXFillVolumeTexture";

   function D3DXFillTextureTX(pTexture:LPDIRECT3DTEXTURE9;pTextureShader:LPD3DXTEXTURESHADER) return HRESULT with Import,Convention=>stdcall,external_name=>"D3DXFillTextureTX";

   function D3DXFillCubeTextureTX(pCubeTexture:LPDIRECT3DCUBETEXTURE9;pTextureShader:LPD3DXTEXTURESHADER) return HRESULT with Import,Convention=>stdcall,external_name=>"D3DXFillCubeTextureTX";

   function D3DXFillVolumeTextureTX(pVolumeTexture:LPDIRECT3DVOLUMETEXTURE9;pTextureShader:LPD3DXTEXTURESHADER) return HRESULT with Import,Convention=>stdcall,external_name=>"D3DXFillVolumeTextureTX";

   function D3DXComputeNormalMap(pTexture:LPDIRECT3DTEXTURE9;pSrcTexture:LPDIRECT3DTEXTURE9;pSrcPalette:access constant PALETTEENTRY;Flags:DWORD;Channel:DWORD;Amplitude:FLOAT) return HRESULT with Import,Convention=>stdcall,external_name=>"D3DXComputeNormalMap";






   --
   -- THE END
   --


end d3dx9tex;








 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值