Paradox Game Engine  v1.0.0 beta06
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Events Macros Pages
dxt_wrapper.cpp
Go to the documentation of this file.
1 #include "dxt_wrapper.h"
2 
3 // Utilities functions
4 void dxtComputePitch( DXGI_FORMAT fmt, size_t width, size_t height, size_t& rowPitch, size_t& slicePitch, DWORD flags = DirectX::CP_FLAGS_NONE )
5 {
6  return DirectX::ComputePitch(fmt, width, height, rowPitch, slicePitch, flags);
7 }
8 
9 bool dxtIsCompressed(DXGI_FORMAT fmt) { return DirectX::IsCompressed(fmt); }
10 
11 HRESULT dxtConvert( const DirectX::Image& srcImage, DXGI_FORMAT format, DWORD filter, float threshold, DirectX::ScratchImage& cImage )
12 {
13  return DirectX::Convert(srcImage, format, filter, threshold, cImage);
14 }
15 
16 HRESULT dxtConvertArray( const DirectX::Image* srcImages, size_t nimages, const DirectX::TexMetadata& metadata, DXGI_FORMAT format, DWORD filter, float threshold, DirectX::ScratchImage& cImage )
17 {
18  return DirectX::Convert(srcImages, nimages, metadata, format, filter, threshold, cImage);
19 }
20 
21 HRESULT dxtCompress( const DirectX::Image& srcImage, DXGI_FORMAT format, DWORD compress, float alphaRef, DirectX::ScratchImage& cImage )
22 {
23  return DirectX::Compress(srcImage, format, compress, alphaRef, cImage);
24 }
25 
26 HRESULT dxtCompressArray( const DirectX::Image* srcImages, size_t nimages, const DirectX::TexMetadata& metadata, DXGI_FORMAT format, DWORD compress, float alphaRef, DirectX::ScratchImage& cImages )
27 {
28  return DirectX::Compress(srcImages, nimages, metadata, format, compress, alphaRef, cImages);
29 }
30 
31 HRESULT dxtDecompress( const DirectX::Image& cImage, DXGI_FORMAT format, DirectX::ScratchImage& image )
32 {
33  return DirectX::Decompress(cImage, format, image);
34 }
35 
36 HRESULT dxtDecompressArray( const DirectX::Image* cImages, size_t nimages, const DirectX::TexMetadata& metadata, DXGI_FORMAT format, DirectX::ScratchImage& images )
37 {
38  return DirectX::Decompress(cImages, nimages, metadata, format, images);
39 }
40 
41 HRESULT dxtGenerateMipMaps( const DirectX::Image& baseImage, DWORD filter, size_t levels, DirectX::ScratchImage& mipChain, bool allow1D = false)
42 {
43  return DirectX::GenerateMipMaps(baseImage, filter, levels, mipChain, allow1D);
44 }
45 
46 HRESULT dxtGenerateMipMapsArray( const DirectX::Image* srcImages, size_t nimages, const DirectX::TexMetadata& metadata, DWORD filter, size_t levels, DirectX::ScratchImage& mipChain )
47 {
48  return DirectX::GenerateMipMaps(srcImages, nimages, metadata, filter, levels, mipChain);
49 }
50 
51 HRESULT dxtGenerateMipMaps3D( const DirectX::Image* baseImages, size_t depth, DWORD filter, size_t levels, DirectX::ScratchImage& mipChain )
52 {
53  return DirectX::GenerateMipMaps3D(baseImages, depth, filter, levels, mipChain);
54 }
55 
56 HRESULT dxtGenerateMipMaps3DArray( const DirectX::Image* srcImages, size_t nimages, const DirectX::TexMetadata& metadata, DWORD filter, size_t levels, DirectX::ScratchImage& mipChain )
57 {
58  return DirectX::GenerateMipMaps3D(srcImages, nimages, metadata, filter, levels, mipChain);
59 }
60 
61 HRESULT dxtResize(const DirectX::Image* srcImages, size_t nimages, const DirectX::TexMetadata& metadata, size_t width, size_t height, DWORD filter, DirectX::ScratchImage& result )
62 {
63  return DirectX::Resize(srcImages, nimages, metadata, width, height, filter, result);
64 }
65 
66 HRESULT dxtComputeNormalMap( const DirectX::Image* srcImages, size_t nimages, const DirectX::TexMetadata& metadata, DWORD flags, float amplitude, DXGI_FORMAT format, DirectX::ScratchImage& normalMaps )
67 {
68  return DirectX::ComputeNormalMap(srcImages, nimages, metadata, flags, amplitude, format, normalMaps);
69 }
70 
71 HRESULT dxtPremultiplyAlpha( const DirectX::Image* srcImages, size_t nimages, const DirectX::TexMetadata& metadata, DWORD flags, DirectX::ScratchImage& result )
72 {
73  return DirectX::PremultiplyAlpha(srcImages, nimages, metadata, flags, result);
74 }
75 
76 
77 // I/O functions
79 {
80  return DirectX::LoadFromDDSFile(szFile, flags, metadata, image);
81 }
82 
83 HRESULT dxtSaveToDDSFile( const DirectX::Image& image, DWORD flags, LPCWSTR szFile )
84 {
85  return DirectX::SaveToDDSFile(image, flags, szFile);
86 }
87 
88 HRESULT dxtSaveToDDSFileArray( const DirectX::Image* images, size_t nimages, const DirectX::TexMetadata& metadata, DWORD flags, LPCWSTR szFile )
89 {
90  return DirectX::SaveToDDSFile(images, nimages, metadata, flags, szFile);
91 }
92 
93 // Scratch Image
95 {
96  return new DirectX::ScratchImage();
97 }
98 
99 void dxtDeleteScratchImage(DirectX::ScratchImage * img) { delete img; }
100 
101 HRESULT dxtInitialize(DirectX::ScratchImage * img, const DirectX::TexMetadata& mdata ) { return img->Initialize(mdata); }
102 
103 HRESULT dxtInitialize1D(DirectX::ScratchImage * img, DXGI_FORMAT fmt, size_t length, size_t arraySize, size_t mipLevels ) { return img->Initialize1D(fmt, length, arraySize, mipLevels); }
104 HRESULT dxtInitialize2D(DirectX::ScratchImage * img, DXGI_FORMAT fmt, size_t width, size_t height, size_t arraySize, size_t mipLevels ) { return img->Initialize2D(fmt, width, height, arraySize, mipLevels); }
105 HRESULT dxtInitialize3D(DirectX::ScratchImage * img, DXGI_FORMAT fmt, size_t width, size_t height, size_t depth, size_t mipLevels ) { return img->Initialize3D(fmt, width, height, depth, mipLevels); }
106 HRESULT dxtInitializeCube(DirectX::ScratchImage * img, DXGI_FORMAT fmt, size_t width, size_t height, size_t nCubes, size_t mipLevels ) { return img->InitializeCube(fmt, width, height, nCubes, mipLevels); }
107 
108 HRESULT dxtInitializeFromImage(DirectX::ScratchImage * img, const DirectX::Image& srcImage, bool allow1D) { return img->InitializeFromImage(srcImage, allow1D); }
109 HRESULT dxtInitializeArrayFromImages(DirectX::ScratchImage * img, const DirectX::Image* images, size_t nImages, bool allow1D ) { return img->InitializeArrayFromImages(images, nImages, allow1D); }
110 HRESULT dxtInitializeCubeFromImages(DirectX::ScratchImage * img, const DirectX::Image* images, size_t nImages ) { return img->InitializeCubeFromImages(images, nImages); }
111 HRESULT dxtInitialize3DFromImages(DirectX::ScratchImage * img, const DirectX::Image* images, size_t depth ) { return img->Initialize3DFromImages(images, depth); }
112 
113 
114 void dxtRelease(DirectX::ScratchImage * img) { img->Release(); }
115 
116 bool dxtOverrideFormat(DirectX::ScratchImage * img, DXGI_FORMAT f ) { return img->OverrideFormat(f); }
117 
119 const DirectX::Image* dxtGetImage(const DirectX::ScratchImage * img, size_t mip, size_t item, size_t slice) { return img->GetImage(mip, item, slice); }
120 
121 const DirectX::Image* dxtGetImages(const DirectX::ScratchImage * img) { return img->GetImages(); }
122 size_t dxtGetImageCount(const DirectX::ScratchImage * img) { return img->GetImageCount(); }
123 
124 uint8_t* dxtGetPixels(const DirectX::ScratchImage * img) { return img->GetPixels(); }
125 size_t dxtGetPixelsSize(const DirectX::ScratchImage * img) { return img->GetPixelsSize(); }
HRESULT dxtInitialize3D(DirectX::ScratchImage *img, DXGI_FORMAT fmt, size_t width, size_t height, size_t depth, size_t mipLevels)
HRESULT dxtInitialize1D(DirectX::ScratchImage *img, DXGI_FORMAT fmt, size_t length, size_t arraySize, size_t mipLevels)
const Image * GetImage(_In_ size_t mip, _In_ size_t item, _In_ size_t slice) const
HRESULT dxtConvertArray(const DirectX::Image *srcImages, size_t nimages, const DirectX::TexMetadata &metadata, DXGI_FORMAT format, DWORD filter, float threshold, DirectX::ScratchImage &cImage)
Definition: dxt_wrapper.cpp:16
HRESULT InitializeCube(_In_ DXGI_FORMAT fmt, _In_ size_t width, _In_ size_t height, _In_ size_t nCubes, _In_ size_t mipLevels, _In_ DWORD flags=CP_FLAGS_NONE)
bool OverrideFormat(_In_ DXGI_FORMAT f)
_In_ size_t _In_ const TexMetadata _In_ DWORD _In_ size_t nImages
Definition: DirectXTexP.h:118
HRESULT Resize(_In_ const Image &srcImage, _In_ size_t width, _In_ size_t height, _In_ DWORD filter, _Out_ ScratchImage &image)
HRESULT dxtLoadDDSFile(LPCWSTR szFile, DWORD flags, DirectX::TexMetadata *metadata, DirectX::ScratchImage &image)
Definition: dxt_wrapper.cpp:78
HRESULT Initialize3DFromImages(_In_reads_(depth) const Image *images, _In_ size_t depth, _In_ DWORD flags=CP_FLAGS_NONE)
_In_ size_t _In_ DXGI_FORMAT _In_ size_t _In_ DXGI_FORMAT _In_ DWORD flags
Definition: DirectXTexP.h:170
size_t GetPixelsSize() const
Definition: DirectXTex.h:267
HRESULT dxtInitializeCubeFromImages(DirectX::ScratchImage *img, const DirectX::Image *images, size_t nImages)
HRESULT dxtGenerateMipMaps(const DirectX::Image &baseImage, DWORD filter, size_t levels, DirectX::ScratchImage &mipChain, bool allow1D=false)
Definition: dxt_wrapper.cpp:41
_In_ size_t _In_ DXGI_FORMAT _In_ size_t _In_ float threshold
Definition: DirectXTexP.h:183
HRESULT Initialize(_In_ const TexMetadata &mdata, _In_ DWORD flags=CP_FLAGS_NONE)
const DirectX::TexMetadata & dxtGetMetadata(const DirectX::ScratchImage *img)
void dxtDeleteScratchImage(DirectX::ScratchImage *img)
Definition: dxt_wrapper.cpp:99
HRESULT Initialize2D(_In_ DXGI_FORMAT fmt, _In_ size_t width, _In_ size_t height, _In_ size_t arraySize, _In_ size_t mipLevels, _In_ DWORD flags=CP_FLAGS_NONE)
HRESULT dxtDecompressArray(const DirectX::Image *cImages, size_t nimages, const DirectX::TexMetadata &metadata, DXGI_FORMAT format, DirectX::ScratchImage &images)
Definition: dxt_wrapper.cpp:36
const DirectX::Image * dxtGetImage(const DirectX::ScratchImage *img, size_t mip, size_t item, size_t slice)
HRESULT dxtInitialize2D(DirectX::ScratchImage *img, DXGI_FORMAT fmt, size_t width, size_t height, size_t arraySize, size_t mipLevels)
HRESULT LoadFromDDSFile(_In_z_ LPCWSTR szFile, _In_ DWORD flags, _Out_opt_ TexMetadata *metadata, _Out_ ScratchImage &image)
HRESULT dxtResize(const DirectX::Image *srcImages, size_t nimages, const DirectX::TexMetadata &metadata, size_t width, size_t height, DWORD filter, DirectX::ScratchImage &result)
Definition: dxt_wrapper.cpp:61
HRESULT dxtGenerateMipMaps3DArray(const DirectX::Image *srcImages, size_t nimages, const DirectX::TexMetadata &metadata, DWORD filter, size_t levels, DirectX::ScratchImage &mipChain)
Definition: dxt_wrapper.cpp:56
bool IsCompressed(_In_ DXGI_FORMAT fmt)
size_t GetImageCount() const
Definition: DirectXTex.h:264
HRESULT InitializeCubeFromImages(_In_reads_(nImages) const Image *images, _In_ size_t nImages, _In_ DWORD flags=CP_FLAGS_NONE)
HRESULT Initialize3D(_In_ DXGI_FORMAT fmt, _In_ size_t width, _In_ size_t height, _In_ size_t depth, _In_ size_t mipLevels, _In_ DWORD flags=CP_FLAGS_NONE)
HRESULT GenerateMipMaps(_In_ const Image &baseImage, _In_ DWORD filter, _In_ size_t levels, _Inout_ ScratchImage &mipChain, _In_ bool allow1D=false)
_In_ size_t _In_ const TexMetadata & metadata
Definition: DirectXTexP.h:116
HRESULT InitializeFromImage(_In_ const Image &srcImage, _In_ bool allow1D=false, _In_ DWORD flags=CP_FLAGS_NONE)
void ComputePitch(_In_ DXGI_FORMAT fmt, _In_ size_t width, _In_ size_t height, _Out_ size_t &rowPitch, _Out_ size_t &slicePitch, _In_ DWORD flags=CP_FLAGS_NONE)
const DirectX::Image * dxtGetImages(const DirectX::ScratchImage *img)
DirectX::ScratchImage * dxtCreateScratchImage()
Definition: dxt_wrapper.cpp:94
HRESULT dxtInitializeArrayFromImages(DirectX::ScratchImage *img, const DirectX::Image *images, size_t nImages, bool allow1D)
HRESULT dxtConvert(const DirectX::Image &srcImage, DXGI_FORMAT format, DWORD filter, float threshold, DirectX::ScratchImage &cImage)
Definition: dxt_wrapper.cpp:11
size_t dxtGetImageCount(const DirectX::ScratchImage *img)
HRESULT dxtInitializeCube(DirectX::ScratchImage *img, DXGI_FORMAT fmt, size_t width, size_t height, size_t nCubes, size_t mipLevels)
HRESULT dxtCompress(const DirectX::Image &srcImage, DXGI_FORMAT format, DWORD compress, float alphaRef, DirectX::ScratchImage &cImage)
Definition: dxt_wrapper.cpp:21
HRESULT GenerateMipMaps3D(_In_reads_(depth) const Image *baseImages, _In_ size_t depth, _In_ DWORD filter, _In_ size_t levels, _Out_ ScratchImage &mipChain)
HRESULT dxtSaveToDDSFile(const DirectX::Image &image, DWORD flags, LPCWSTR szFile)
Definition: dxt_wrapper.cpp:83
HRESULT SaveToDDSFile(_In_ const Image &image, _In_ DWORD flags, _In_z_ LPCWSTR szFile)
bool dxtOverrideFormat(DirectX::ScratchImage *img, DXGI_FORMAT f)
HRESULT Initialize1D(_In_ DXGI_FORMAT fmt, _In_ size_t length, _In_ size_t arraySize, _In_ size_t mipLevels, _In_ DWORD flags=CP_FLAGS_NONE)
HRESULT Convert(_In_ const Image &srcImage, _In_ DXGI_FORMAT format, _In_ DWORD filter, _In_ float threshold, _Out_ ScratchImage &image)
HRESULT dxtGenerateMipMapsArray(const DirectX::Image *srcImages, size_t nimages, const DirectX::TexMetadata &metadata, DWORD filter, size_t levels, DirectX::ScratchImage &mipChain)
Definition: dxt_wrapper.cpp:46
HRESULT Decompress(_In_ const Image &cImage, _In_ DXGI_FORMAT format, _Out_ ScratchImage &image)
HRESULT dxtPremultiplyAlpha(const DirectX::Image *srcImages, size_t nimages, const DirectX::TexMetadata &metadata, DWORD flags, DirectX::ScratchImage &result)
Definition: dxt_wrapper.cpp:71
uint8_t * GetPixels() const
Definition: DirectXTex.h:266
HRESULT ComputeNormalMap(_In_ const Image &srcImage, _In_ DWORD flags, _In_ float amplitude, _In_ DXGI_FORMAT format, _Out_ ScratchImage &normalMap)
size_t dxtGetPixelsSize(const DirectX::ScratchImage *img)
HRESULT InitializeArrayFromImages(_In_reads_(nImages) const Image *images, _In_ size_t nImages, _In_ bool allow1D=false, _In_ DWORD flags=CP_FLAGS_NONE)
_In_ size_t _In_ size_t _In_ DXGI_FORMAT format
Definition: DirectXTexP.h:175
bool dxtIsCompressed(DXGI_FORMAT fmt)
Definition: dxt_wrapper.cpp:9
HRESULT dxtGenerateMipMaps3D(const DirectX::Image *baseImages, size_t depth, DWORD filter, size_t levels, DirectX::ScratchImage &mipChain)
Definition: dxt_wrapper.cpp:51
HRESULT dxtInitializeFromImage(DirectX::ScratchImage *img, const DirectX::Image &srcImage, bool allow1D)
uint8_t * dxtGetPixels(const DirectX::ScratchImage *img)
const Image * GetImages() const
Definition: DirectXTex.h:263
HRESULT dxtInitialize(DirectX::ScratchImage *img, const DirectX::TexMetadata &mdata)
HRESULT dxtInitialize3DFromImages(DirectX::ScratchImage *img, const DirectX::Image *images, size_t depth)
HRESULT dxtCompressArray(const DirectX::Image *srcImages, size_t nimages, const DirectX::TexMetadata &metadata, DXGI_FORMAT format, DWORD compress, float alphaRef, DirectX::ScratchImage &cImages)
Definition: dxt_wrapper.cpp:26
const TexMetadata & GetMetadata() const
Definition: DirectXTex.h:260
HRESULT dxtComputeNormalMap(const DirectX::Image *srcImages, size_t nimages, const DirectX::TexMetadata &metadata, DWORD flags, float amplitude, DXGI_FORMAT format, DirectX::ScratchImage &normalMaps)
Definition: dxt_wrapper.cpp:66
HRESULT dxtDecompress(const DirectX::Image &cImage, DXGI_FORMAT format, DirectX::ScratchImage &image)
Definition: dxt_wrapper.cpp:31
HRESULT Compress(_In_ const Image &srcImage, _In_ DXGI_FORMAT format, _In_ DWORD compress, _In_ float alphaRef, _Out_ ScratchImage &cImage)
void dxtComputePitch(DXGI_FORMAT fmt, size_t width, size_t height, size_t &rowPitch, size_t &slicePitch, DWORD flags=DirectX::CP_FLAGS_NONE)
Definition: dxt_wrapper.cpp:4
HRESULT PremultiplyAlpha(_In_ const Image &srcImage, _In_ DWORD flags, _Out_ ScratchImage &image)
void dxtRelease(DirectX::ScratchImage *img)
HRESULT dxtSaveToDDSFileArray(const DirectX::Image *images, size_t nimages, const DirectX::TexMetadata &metadata, DWORD flags, LPCWSTR szFile)
Definition: dxt_wrapper.cpp:88