|  | /*!**************************************************************************** | 
|  |  | 
|  | @file         OGLES2/PVRTTextureAPI.h | 
|  | @ingroup      API_OGLES2 | 
|  | @copyright    Copyright (c) Imagination Technologies Limited. | 
|  | @brief        OGLES2 texture loading. | 
|  |  | 
|  | ******************************************************************************/ | 
|  | #ifndef _PVRTTEXTUREAPI_H_ | 
|  | #define _PVRTTEXTUREAPI_H_ | 
|  |  | 
|  | /*! | 
|  | @addtogroup API_OGLES2 | 
|  | @{ | 
|  | */ | 
|  |  | 
|  | #include "../PVRTError.h" | 
|  |  | 
|  | /**************************************************************************** | 
|  | ** Functions | 
|  | ****************************************************************************/ | 
|  | template <typename KeyType, typename DataType> | 
|  | class CPVRTMap; | 
|  |  | 
|  | /*!*************************************************************************** | 
|  | @brief      	Allows textures to be stored in C header files and loaded in. Can load parts of a | 
|  | mipmaped texture (ie skipping the highest detailed levels). | 
|  | Sets the texture MIN/MAG filter to GL_LINEAR_MIPMAP_NEAREST/GL_LINEAR | 
|  | if mipmaps are present, GL_LINEAR/GL_LINEAR otherwise. | 
|  | @param[in]		pointer				Pointer to header-texture's structure | 
|  | @param[in,out]	texName				the OpenGL ES texture name as returned by glBindTexture | 
|  | @param[in,out]	psTextureHeader		Pointer to a PVRTextureHeaderV3 struct. Modified to | 
|  | contain the header data of the returned texture Ignored if NULL. | 
|  | @param[in]		bAllowDecompress	Allow decompression if PVRTC is not supported in hardware. | 
|  | @param[in]		nLoadFromLevel		Which mipmap level to start loading from (0=all) | 
|  | @param[in]		texPtr				If null, texture follows header, else texture is here. | 
|  | @param[in,out]	pMetaData			If a valid map is supplied, this will return any and all | 
|  | MetaDataBlocks stored in the texture, organised by DevFourCC | 
|  | then identifier. Supplying NULL will ignore all MetaData. | 
|  | @return		PVR_SUCCESS on success | 
|  | *****************************************************************************/ | 
|  | EPVRTError PVRTTextureLoadFromPointer(	const void* pointer, | 
|  | GLuint *const texName, | 
|  | const void *psTextureHeader=NULL, | 
|  | bool bAllowDecompress = true, | 
|  | const unsigned int nLoadFromLevel=0, | 
|  | const void * const texPtr=0, | 
|  | CPVRTMap<unsigned int, CPVRTMap<unsigned int, struct MetaDataBlock> > *pMetaData=NULL); | 
|  |  | 
|  | /*!*************************************************************************** | 
|  | @brief      	Allows textures to be stored in binary PVR files and loaded in. Can load parts of a | 
|  | mipmaped texture (ie skipping the highest detailed levels). | 
|  | Sets the texture MIN/MAG filter to GL_LINEAR_MIPMAP_NEAREST/GL_LINEAR | 
|  | if mipmaps are present, GL_LINEAR/GL_LINEAR otherwise. | 
|  | @param[in]		filename			Filename of the .PVR file to load the texture from | 
|  | @param[in,out]	texName				the OpenGL ES texture name as returned by glBindTexture | 
|  | @param[in,out]	psTextureHeader		Pointer to a PVRTextureHeaderV3 struct. Modified to | 
|  | contain the header data of the returned texture Ignored if NULL. | 
|  | @param[in]		bAllowDecompress	Allow decompression if PVRTC is not supported in hardware. | 
|  | @param[in]		nLoadFromLevel		Which mipmap level to start loading from (0=all) | 
|  | @param[in,out]	pMetaData			If a valid map is supplied, this will return any and all | 
|  | MetaDataBlocks stored in the texture, organised by DevFourCC | 
|  | then identifier. Supplying NULL will ignore all MetaData. | 
|  | @return		PVR_SUCCESS on success | 
|  | *****************************************************************************/ | 
|  | EPVRTError PVRTTextureLoadFromPVR(	const char * const filename, | 
|  | GLuint * const texName, | 
|  | const void *psTextureHeader=NULL, | 
|  | bool bAllowDecompress = true, | 
|  | const unsigned int nLoadFromLevel=0, | 
|  | CPVRTMap<unsigned int, CPVRTMap<unsigned int, struct MetaDataBlock> > *pMetaData=NULL); | 
|  |  | 
|  | /*!*************************************************************************** | 
|  | @brief      		Returns the bits per pixel (BPP) of the format. | 
|  | @param[in]			nFormat | 
|  | @param[in]			nType | 
|  | @return            Unsigned integer representing the bits per pixel of the format | 
|  | *****************************************************************************/ | 
|  | unsigned int PVRTTextureFormatGetBPP(const GLuint nFormat, const GLuint nType); | 
|  |  | 
|  | /*! @} */ | 
|  |  | 
|  | #endif /* _PVRTTEXTUREAPI_H_ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | End of file (PVRTTextureAPI.h) | 
|  | *****************************************************************************/ | 
|  |  |