1 /***********************************************************************\ 2 * d3dx10tex.d * 3 * * 4 * Windows API header module * 5 * * 6 * Placed into public domain * 7 \***********************************************************************/ 8 module win32.directx.d3dx10tex; 9 version(Windows): 10 11 private import win32.windows; 12 private import win32.directx.d3d10; 13 private import win32.directx.d3dx10core; 14 15 enum D3DX10_FILTER_FLAG { 16 D3DX10_FILTER_NONE = 0x000001, 17 D3DX10_FILTER_POINT = 0x000002, 18 D3DX10_FILTER_LINEAR = 0x000003, 19 D3DX10_FILTER_TRIANGLE = 0x000004, 20 D3DX10_FILTER_BOX = 0x000005, 21 D3DX10_FILTER_MIRROR_U = 0x010000, 22 D3DX10_FILTER_MIRROR_V = 0x020000, 23 D3DX10_FILTER_MIRROR_W = 0x040000, 24 D3DX10_FILTER_MIRROR = 0x070000, 25 D3DX10_FILTER_DITHER = 0x080000, 26 D3DX10_FILTER_DITHER_DIFFUSION = 0x100000, 27 D3DX10_FILTER_SRGB_IN = 0x200000, 28 D3DX10_FILTER_SRGB_OUT = 0x400000, 29 D3DX10_FILTER_SRGB = 0x600000 30 } 31 32 enum D3DX10_NORMALMAP_FLAG { 33 D3DX10_NORMALMAP_MIRROR_U = 0x010000, 34 D3DX10_NORMALMAP_MIRROR_V = 0x020000, 35 D3DX10_NORMALMAP_MIRROR = 0x030000, 36 D3DX10_NORMALMAP_INVERTSIGN = 0x080000, 37 D3DX10_NORMALMAP_COMPUTE_OCCLUSION = 0x100000 38 } 39 40 enum D3DX10_CHANNEL_FLAG { 41 D3DX10_CHANNEL_RED = 1, 42 D3DX10_CHANNEL_BLUE = 2, 43 D3DX10_CHANNEL_GREEN = 4, 44 D3DX10_CHANNEL_ALPHA = 8, 45 D3DX10_CHANNEL_LUMINANCE = 16 46 } 47 48 enum D3DX10_IMAGE_FILE_FORMAT { 49 D3DX10_IFF_BMP = 0, 50 D3DX10_IFF_JPG = 1, 51 D3DX10_IFF_PNG = 3, 52 D3DX10_IFF_DDS = 4, 53 D3DX10_IFF_TIFF = 10, 54 D3DX10_IFF_GIF = 11, 55 D3DX10_IFF_WMP = 12, 56 D3DX10_IFF_FORCE_DWORD = 0x7fffffff 57 } 58 59 enum D3DX10_SAVE_TEXTURE_FLAG { 60 D3DX10_STF_USEINPUTBLOB = 1 61 } 62 63 struct D3DX10_IMAGE_INFO { 64 UINT Width; 65 UINT Height; 66 UINT Depth; 67 UINT ArraySize; 68 UINT MipLevels; 69 UINT MiscFlags; 70 DXGI_FORMAT Format; 71 D3D10_RESOURCE_DIMENSION ResourceDimension; 72 D3DX10_IMAGE_FILE_FORMAT ImageFileFormat; 73 } 74 75 struct D3DX10_IMAGE_LOAD_INFO { 76 UINT Width; 77 UINT Height; 78 UINT Depth; 79 UINT FirstMipLevel; 80 UINT MipLevels; 81 D3D10_USAGE Usage; 82 UINT BindFlags; 83 UINT CpuAccessFlags; 84 UINT MiscFlags; 85 DXGI_FORMAT Format; 86 UINT Filter; 87 UINT MipFilter; 88 D3DX10_IMAGE_INFO* pSrcInfo; 89 } 90 91 HRESULT D3DX10GetImageInfoFromFileA(LPCSTR pSrcFile, ID3DX10ThreadPump pPump, 92 D3DX10_IMAGE_INFO* pSrcInfo, HRESULT* pHResult); 93 HRESULT D3DX10GetImageInfoFromFileW(LPCWSTR pSrcFile, ID3DX10ThreadPump pPump, 94 D3DX10_IMAGE_INFO* pSrcInfo, HRESULT* pHResult); 95 96 HRESULT D3DX10GetImageInfoFromResourceA(HMODULE hSrcModule, 97 LPCSTR pSrcResource, ID3DX10ThreadPump pPump, D3DX10_IMAGE_INFO* pSrcInfo, 98 HRESULT* pHResult); 99 HRESULT D3DX10GetImageInfoFromResourceW(HMODULE hSrcModule, 100 LPCWSTR pSrcResource, ID3DX10ThreadPump pPump, D3DX10_IMAGE_INFO* pSrcInfo, 101 HRESULT* pHResult); 102 103 HRESULT D3DX10GetImageInfoFromMemory(LPCVOID pSrcData, SIZE_T SrcDataSize, 104 ID3DX10ThreadPump pPump, D3DX10_IMAGE_INFO* pSrcInfo, HRESULT* pHResult); 105 106 HRESULT D3DX10CreateShaderResourceViewFromFileA(ID3D10Device pDevice, 107 LPCSTR pSrcFile, D3DX10_IMAGE_LOAD_INFO* pLoadInfo, ID3DX10ThreadPump pPump, 108 ID3D10ShaderResourceView* ppShaderResourceView, HRESULT* pHResult); 109 HRESULT D3DX10CreateShaderResourceViewFromFileW(ID3D10Device pDevice, 110 LPCWSTR pSrcFile, D3DX10_IMAGE_LOAD_INFO* pLoadInfo, ID3DX10ThreadPump pPump, 111 ID3D10ShaderResourceView* ppShaderResourceView, HRESULT* pHResult); 112 113 HRESULT D3DX10CreateTextureFromFileA(ID3D10Device pDevice, LPCSTR pSrcFile, 114 D3DX10_IMAGE_LOAD_INFO* pLoadInfo, ID3DX10ThreadPump pPump, 115 ID3D10Resource* ppTexture, HRESULT* pHResult); 116 HRESULT D3DX10CreateTextureFromFileW(ID3D10Device pDevice, LPCWSTR pSrcFile, 117 D3DX10_IMAGE_LOAD_INFO* pLoadInfo, ID3DX10ThreadPump pPump, 118 ID3D10Resource* ppTexture, HRESULT* pHResult); 119 120 HRESULT D3DX10CreateShaderResourceViewFromResourceA(ID3D10Device pDevice, 121 HMODULE hSrcModule, LPCSTR pSrcResource, D3DX10_IMAGE_LOAD_INFO* pLoadInfo, 122 ID3DX10ThreadPump pPump, ID3D10ShaderResourceView* ppShaderResourceView, 123 HRESULT* pHResult); 124 HRESULT D3DX10CreateShaderResourceViewFromResourceW(ID3D10Device pDevice, 125 HMODULE hSrcModule, LPCWSTR pSrcResource, D3DX10_IMAGE_LOAD_INFO* pLoadInfo, 126 ID3DX10ThreadPump pPump, ID3D10ShaderResourceView* ppShaderResourceView, 127 HRESULT* pHResult); 128 129 HRESULT D3DX10CreateTextureFromResourceA(ID3D10Device pDevice, 130 HMODULE hSrcModule, LPCSTR pSrcResource, D3DX10_IMAGE_LOAD_INFO* pLoadInfo, 131 ID3DX10ThreadPump pPump, ID3D10Resource* ppTexture, HRESULT* pHResult); 132 HRESULT D3DX10CreateTextureFromResourceW(ID3D10Device pDevice, 133 HMODULE hSrcModule, LPCWSTR pSrcResource, D3DX10_IMAGE_LOAD_INFO* pLoadInfo, 134 ID3DX10ThreadPump pPump, ID3D10Resource* ppTexture, HRESULT* pHResult); 135 136 HRESULT D3DX10CreateShaderResourceViewFromMemory(ID3D10Device pDevice, 137 LPCVOID pSrcData, SIZE_T SrcDataSize, D3DX10_IMAGE_LOAD_INFO* pLoadInfo, 138 ID3DX10ThreadPump pPump, ID3D10ShaderResourceView* ppShaderResourceView, 139 HRESULT* pHResult); 140 141 HRESULT D3DX10CreateTextureFromMemory(ID3D10Device pDevice, LPCVOID pSrcData, 142 SIZE_T SrcDataSize, D3DX10_IMAGE_LOAD_INFO* pLoadInfo, 143 ID3DX10ThreadPump pPump, ID3D10Resource* ppTexture, HRESULT* pHResult); 144 145 struct D3DX10_TEXTURE_LOAD_INFO { 146 D3D10_BOX* pSrcBox; 147 D3D10_BOX* pDstBox; 148 UINT SrcFirstMip; 149 UINT DstFirstMip; 150 UINT NumMips; 151 UINT SrcFirstElement; 152 UINT DstFirstElement; 153 UINT NumElements; 154 UINT Filter; 155 UINT MipFilter; 156 } 157 158 HRESULT D3DX10LoadTextureFromTexture(ID3D10Resource pSrcTexture, 159 D3DX10_TEXTURE_LOAD_INFO* pLoadInfo, ID3D10Resource pDstTexture); 160 161 HRESULT D3DX10FilterTexture(ID3D10Resource pTexture, UINT SrcLevel, UINT MipFilter); 162 163 HRESULT D3DX10SaveTextureToFileA(ID3D10Resource pSrcTexture, 164 D3DX10_IMAGE_FILE_FORMAT DestFormat, LPCSTR pDestFile); 165 HRESULT D3DX10SaveTextureToFileW(ID3D10Resource pSrcTexture, 166 D3DX10_IMAGE_FILE_FORMAT DestFormat, LPCWSTR pDestFile); 167 168 HRESULT D3DX10SaveTextureToMemory(ID3D10Resource pSrcTexture, 169 D3DX10_IMAGE_FILE_FORMAT DestFormat, ID3D10Blob* ppDestBuf, UINT Flags); 170 171 HRESULT D3DX10ComputeNormalMap(ID3D10Texture2D pSrcTexture, UINT Flags, 172 UINT Channel, FLOAT Amplitude, ID3D10Texture2D pDestTexture); 173 174 HRESULT D3DX10SHProjectCubeMap(UINT Order, ID3D10Texture2D pCubeMap, 175 FLOAT* pROut, FLOAT* pGOut, FLOAT* pBOut); 176 177 version(Unicode) { 178 alias D3DX10GetImageInfoFromFileW D3DX10GetImageInfoFromFile; 179 alias D3DX10GetImageInfoFromResourceW D3DX10GetImageInfoFromResource; 180 alias D3DX10CreateShaderResourceViewFromFileW D3DX10CreateShaderResourceViewFromFile; 181 alias D3DX10CreateTextureFromFileW D3DX10CreateTextureFromFile; 182 alias D3DX10CreateShaderResourceViewFromResourceW D3DX10CreateShaderResourceViewFromResource; 183 alias D3DX10CreateTextureFromResourceW D3DX10CreateTextureFromResource; 184 alias D3DX10SaveTextureToFileW D3DX10SaveTextureToFile; 185 } else { 186 alias D3DX10GetImageInfoFromFileA D3DX10GetImageInfoFromFile; 187 alias D3DX10GetImageInfoFromResourceA D3DX10GetImageInfoFromResource; 188 alias D3DX10CreateShaderResourceViewFromFileA D3DX10CreateShaderResourceViewFromFile; 189 alias D3DX10CreateTextureFromFileA D3DX10CreateTextureFromFile; 190 alias D3DX10CreateShaderResourceViewFromResourceA D3DX10CreateShaderResourceViewFromResource; 191 alias D3DX10CreateTextureFromResourceA D3DX10CreateTextureFromResource; 192 alias D3DX10SaveTextureToFileA D3DX10SaveTextureToFile; 193 }