Paradox Game Engine  v1.0.0 beta06
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Events Macros Pages
pvrtt_wrapper.h
Go to the documentation of this file.
1 #ifndef PVRTT_WRAPPER_H
2 #define PVRTT_WRAPPER_H
3 
4 #define PVRTT_API __declspec(dllexport)
5 
6 //#include <PVRTString.h>
7 #include <PVRTexture.h>
8 
9 typedef class pvrtexture::CPVRTextureHeader PvrttTextureHeader;
10 typedef class pvrtexture::CPVRTexture PvrttTexture;
11 
12 typedef enum
13 {
18 
19 extern "C" {
20 
21  // CPVRTextureHeader class
24  PVRTT_API PvrttTextureHeader * pvrttCreateTextureHeader(PvrttPixelType pixelFormat, int height, int width, int depth, int numMipMaps,int numArrayMembers, int numFaces, EPVRTColourSpace eColourSpace, EPVRTVariableType eChannelType, bool bPreMultiplied);
25  PVRTT_API PvrttTextureHeader * pvrttCreateTextureHeaderFromCompressedTexture(pvrtexture::uint64 pixelFormat, int height, int width, int depth, int numMipMaps, int numArrayMembers, int numFaces, EPVRTColourSpace eColourSpace, EPVRTVariableType eChannelType, bool bPreMultiplied);
26  PVRTT_API pvrtexture::uint32 pvrttGetWidth(PvrttTextureHeader * header, pvrtexture::uint32 uiMipLevel);
27  PVRTT_API pvrtexture::uint32 pvrttGetHeight(PvrttTextureHeader * header, pvrtexture::uint32 uiMipLevel);
28  PVRTT_API void pvrttSetWidth(PvrttTextureHeader * header, pvrtexture::uint32 newWidth);
29  PVRTT_API void pvrttSetHeight(PvrttTextureHeader * header, pvrtexture::uint32 newHeight);
31  PVRTT_API pvrtexture::uint32 pvrttGetDataSize(PvrttTextureHeader * header, int iMipLevel, bool bAllSurfaces, bool bAllFaces);
32  PVRTT_API pvrtexture::uint32 pvrttGetTextureSize(PvrttTextureHeader * header, int iMipLevel, bool bAllSurfaces, bool bAllFaces);
33  PVRTT_API pvrtexture::uint32 pvrttGetNumMIPLevels(PvrttTextureHeader * header);
34  PVRTT_API void pvrttSetNumMIPLevels(PvrttTextureHeader * header, int newNumMIPLevels);
35  PVRTT_API pvrtexture::uint32 pvrttGetDepth(PvrttTextureHeader * header, pvrtexture::uint32 uiMipLevel);
36  PVRTT_API pvrtexture::uint32 pvrttGetBPP(PvrttTextureHeader * header);
37  PVRTT_API pvrtexture::uint32 pvrttGetNumArrayMembers(PvrttTextureHeader * header);
38  PVRTT_API pvrtexture::uint32 pvrttGetNumFaces(PvrttTextureHeader * header);
40  PVRTT_API pvrtexture::uint64 pvrttGetPixelType(PvrttTextureHeader * header);
41  PVRTT_API pvrtexture::uint32 pvrttGetMetaDataSize(PvrttTextureHeader * header);
42  PVRTT_API EPVRTVariableType pvrttGetChannelType(PvrttTextureHeader * header);
43  PVRTT_API EPVRTColourSpace pvrttGetColourSpace(PvrttTextureHeader * header);
44 
45  // CPVRTexture class
48  PVRTT_API PvrttTexture * pvrttCreateTextureFromFile(const char* szFilePath);
49  PVRTT_API PvrttTexture * pvrttCreateTextureFromMemory(const void* pTexture );
51  PVRTT_API bool pvrttSaveFile(PvrttTexture * texture, const char* filePath);
53  PVRTT_API void* pvrttGetDataPtr(PvrttTexture * texture, pvrtexture::uint32 uiMIPLevel, pvrtexture::uint32 uiArrayMember, pvrtexture::uint32 uiFaceNumber);
54 
55  // Utilities
56  PVRTT_API bool pvrttGenerateMIPMaps(PvrttTexture& texture, const pvrtexture::EResizeMode eFilterMode, int uiMIPMapsToDo);
57  PVRTT_API bool pvrttTranscodeWithNoConversion(PvrttTexture& texture, const PvrttPixelType ptFormat, const EPVRTVariableType eChannelType, const EPVRTColourSpace eColourspace, const pvrtexture::ECompressorQuality eQuality, const bool bDoDither);
58  PVRTT_API bool pvrttTranscode(PvrttTexture& texture, pvrtexture::uint64 ptFormat, const EPVRTVariableType eChannelType, const EPVRTColourSpace eColourspace, const pvrtexture::ECompressorQuality eQuality, const bool bDoDither);
59  //PVRTT_API int pvrttDecompressPVRTC(const void *pCompressedData, const int Do2bitMode, const int XDim, const int YDim, unsigned char* pResultImage);
60  //PVRTT_API int pvrttDecompressETC(const void * const pSrcData, const unsigned int &x, const unsigned int &y, void *pDestData, const int &nMode);
61  PVRTT_API bool pvrttCopyChannels(PvrttTexture& sTexture, const PvrttTexture& sTextureSource, pvrtexture::uint32 uiNumChannelCopies, pvrtexture::EChannelName *eChannels, pvrtexture::EChannelName *eChannelsSource);
62  PVRTT_API bool pvrttResize(PvrttTexture& sTexture, const pvrtexture::uint32& u32NewWidth, const pvrtexture::uint32& u32NewHeight, const pvrtexture::uint32& u32NewDepth, const pvrtexture::EResizeMode eResizeMode);
63  PVRTT_API bool pvrttFlip(PvrttTexture& sTexture, const EPVRTAxis eFlipDirection);
64  PVRTT_API bool pvrttGenerateNormalMap(PvrttTexture& sTexture, const float fScale, const char* sChannelOrder);
65  PVRTT_API pvrtexture::uint64 pvrttConvertPixelType(PvrttPixelType pixelFormat);
67 } // extern "C"
68 
69 
70 
71 #endif // PVRTT_WRAPPER_H
PVRTT_API void pvrttSetPixelFormat(PvrttTextureHeader *header, PvrttPixelType pixelFormat)
PVRTT_API void pvrttSetNumMIPLevels(PvrttTextureHeader *header, int newNumMIPLevels)
PVRTT_API pvrtexture::uint32 pvrttGetBPP(PvrttTextureHeader *header)
PVRTT_API pvrtexture::uint32 pvrttGetNumMIPLevels(PvrttTextureHeader *header)
PVRTT_API EPVRTVariableType pvrttGetChannelType(PvrttTextureHeader *header)
PVRTT_API pvrtexture::uint32 pvrttGetNumArrayMembers(PvrttTextureHeader *header)
PVRTT_API EPVRTColourSpace pvrttGetColourSpace(PvrttTextureHeader *header)
PVRTT_API void * pvrttGetDataPtr(PvrttTexture *texture, pvrtexture::uint32 uiMIPLevel, pvrtexture::uint32 uiArrayMember, pvrtexture::uint32 uiFaceNumber)
PvrttPixelType
Definition: pvrtt_wrapper.h:12
PVRTT_API bool pvrttSaveFile(PvrttTexture *texture, const char *filePath)
class pvrtexture::CPVRTexture PvrttTexture
Definition: pvrtt_wrapper.h:10
PVRTT_API bool pvrttGenerateMIPMaps(PvrttTexture &texture, const pvrtexture::EResizeMode eFilterMode, int uiMIPMapsToDo)
#define PVRTT_API
Definition: pvrtt_wrapper.h:4
PVRTT_API pvrtexture::uint32 pvrttGetMetaDataSize(PvrttTextureHeader *header)
PVRTT_API bool pvrttFlip(PvrttTexture &sTexture, const EPVRTAxis eFlipDirection)
PVRTT_API PvrttTexture * pvrttCreateTexture()
PVRTT_API pvrtexture::uint64 pvrttGetPixelType(PvrttTextureHeader *header)
PVRTT_API bool pvrttGenerateNormalMap(PvrttTexture &sTexture, const float fScale, const char *sChannelOrder)
PVRTT_API bool pvrttTranscode(PvrttTexture &texture, pvrtexture::uint64 ptFormat, const EPVRTVariableType eChannelType, const EPVRTColourSpace eColourspace, const pvrtexture::ECompressorQuality eQuality, const bool bDoDither)
PVRTT_API pvrtexture::uint32 pvrttGetTextureSize(PvrttTextureHeader *header, int iMipLevel, bool bAllSurfaces, bool bAllFaces)
PVRTT_API bool pvrttCopyChannels(PvrttTexture &sTexture, const PvrttTexture &sTextureSource, pvrtexture::uint32 uiNumChannelCopies, pvrtexture::EChannelName *eChannels, pvrtexture::EChannelName *eChannelsSource)
PVRTT_API PvrttTexture * pvrttCreateTextureFromMemory(const void *pTexture)
PVRTT_API pvrtexture::uint32 pvrttGetNumFaces(PvrttTextureHeader *header)
PVRTT_API bool pvrttTranscodeWithNoConversion(PvrttTexture &texture, const PvrttPixelType ptFormat, const EPVRTVariableType eChannelType, const EPVRTColourSpace eColourspace, const pvrtexture::ECompressorQuality eQuality, const bool bDoDither)
class pvrtexture::CPVRTextureHeader PvrttTextureHeader
Definition: pvrtt_wrapper.h:9
PVRTT_API bool pvrttIsFileCompressed(PvrttTextureHeader *header)
PVRTT_API void pvrttDestroyTexture(PvrttTexture *texture)
PVRTT_API pvrtexture::uint32 pvrttGetDataSize(PvrttTextureHeader *header, int iMipLevel, bool bAllSurfaces, bool bAllFaces)
PVRTT_API pvrtexture::uint32 pvrttGetHeight(PvrttTextureHeader *header, pvrtexture::uint32 uiMipLevel)
PVRTT_API pvrtexture::uint32 pvrttGetWidth(PvrttTextureHeader *header, pvrtexture::uint32 uiMipLevel)
PVRTT_API PvrttTextureHeader * pvrttCreateTextureHeader(PvrttPixelType pixelFormat, int height, int width, int depth, int numMipMaps, int numArrayMembers, int numFaces, EPVRTColourSpace eColourSpace, EPVRTVariableType eChannelType, bool bPreMultiplied)
PVRTT_API pvrtexture::uint64 pvrttConvertPixelType(PvrttPixelType pixelFormat)
PVRTT_API void pvrttSetWidth(PvrttTextureHeader *header, pvrtexture::uint32 newWidth)
PVRTT_API bool pvrttResize(PvrttTexture &sTexture, const pvrtexture::uint32 &u32NewWidth, const pvrtexture::uint32 &u32NewHeight, const pvrtexture::uint32 &u32NewDepth, const pvrtexture::EResizeMode eResizeMode)
PVRTT_API pvrtexture::uint32 pvrttGetDepth(PvrttTextureHeader *header, pvrtexture::uint32 uiMipLevel)
PVRTT_API PvrttTexture * pvrttCreateTextureFromHeader(PvrttTextureHeader *sHeader, const void *pData)
PVRTT_API PvrttTextureHeader * pvrttCopyTextureHeader(const PvrttTextureHeader *headerIn)
PVRTT_API PvrttTextureHeader * pvrttCreateTextureHeaderFromCompressedTexture(pvrtexture::uint64 pixelFormat, int height, int width, int depth, int numMipMaps, int numArrayMembers, int numFaces, EPVRTColourSpace eColourSpace, EPVRTVariableType eChannelType, bool bPreMultiplied)
PVRTT_API void pvrttSetHeight(PvrttTextureHeader *header, pvrtexture::uint32 newHeight)
PVRTT_API const PvrttTextureHeader * pvrttGetHeader(PvrttTexture *texture)
PVRTT_API PvrttTextureHeader * pvrttCreateTextureHeaderEmpty()
PVRTT_API PvrttTexture * pvrttCreateTextureFromFile(const char *szFilePath)
PVRTT_API bool pvrttPreMultipliedAlpha(PvrttTexture &sTexture)