/*!**************************************************************************** @file PVRTGeometry.h @copyright Copyright (c) Imagination Technologies Limited. @brief Code to affect triangle mesh geometry. ******************************************************************************/ #ifndef _PVRTGEOMETRY_H_ #define _PVRTGEOMETRY_H_ /**************************************************************************** ** Defines ****************************************************************************/ #define PVRTGEOMETRY_IDX unsigned int #define PVRTGEOMETRY_SORT_VERTEXCACHE (0x01 /* Sort triangles for optimal vertex cache usage */) #define PVRTGEOMETRY_SORT_IGNOREVERTS (0x02 /* Do not sort vertices for optimal memory cache usage */) /**************************************************************************** ** Functions ****************************************************************************/ /*!*************************************************************************** @brief Triangle sorter @param[in,out] pVtxData Pointer to array of vertices @param[in,out] pwIdx Pointer to array of indices @param[in] nStride Size of a vertex (in bytes) @param[in] nVertNum Number of vertices. Length of pVtxData array @param[in] nTriNum Number of triangles. Length of pwIdx array is 3* this @param[in] nBufferVtxLimit Number of vertices that can be stored in a buffer @param[in] nBufferTriLimit Number of triangles that can be stored in a buffer @param[in] dwFlags PVRTGEOMETRY_SORT_* flags *****************************************************************************/ void PVRTGeometrySort( void * const pVtxData, PVRTGEOMETRY_IDX * const pwIdx, const int nStride, const int nVertNum, const int nTriNum, const int nBufferVtxLimit, const int nBufferTriLimit, const unsigned int dwFlags); #endif /* _PVRTGEOMETRY_H_ */ /***************************************************************************** End of file (PVRTGeometry.h) *****************************************************************************/