| /*!**************************************************************************** | 
 |  | 
 |  @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) | 
 | *****************************************************************************/ | 
 |  |