#include <GPUCacheOptimizer.hh>
|
| struct | RingStack |
| | Simple and fast fixed size stack used in tipsify implementation. More...
|
| |
|
| | GPUCacheOptimizerTipsify (unsigned int CacheSize, unsigned int NumTris, unsigned int NumVerts, unsigned int IndexSize, const void *pIndices) |
| | The actual computation happens here in this constructor. More...
|
| |
| | GPUCacheOptimizer (unsigned int NumTris, unsigned int NumVerts, unsigned int IndexSize, const void *pIndices) |
| | constructor More...
|
| |
| const unsigned int * | GetTriangleMap () const |
| | Retrieves the map from dst triangle to src triangle. how to remap: for each triangle t in DstTriBuffer DstTriBuffer[t] = SrcTriBuffer[TriangleMap[t]]. More...
|
| |
| void | WriteIndexBuffer (unsigned int DstIndexSize, void *pDst) |
| | Applies the remapping on the initial pIndices constructor's param and stores the result in the given destination buffer. More...
|
| |
|
unsigned int | ComputeNumberOfVertexTransformations (unsigned int VertexCacheSize=16) |
| | Returns the total number of vertex transforms performed with a certain VertexCache.
|
| |
| float | ComputeACMR (unsigned int VertexCacheSize=16) |
| | Measures the efficiency use of the vertex cache. ACMR: Average Cache Miss Ratio. More...
|
| |
| float | ComputeATVR (unsigned int VertexCacheSize=16) |
| | Measures the efficiency use of the vertex cache. ATVR: Average Transform to Vertex Ratio similar to ACMR, but easier to interpret the optimal value is 1.0 given a mesh w/o duplicate vertices. More...
|
| |
|
| static void | OptimizeVertices (unsigned int NumTris, unsigned int NumVerts, unsigned int IndexSize, const void *pIndices, unsigned int *pVertMap) |
| | Reorders vertex buffer to minimize memory address jumps. More...
|
| |
| static void | RemapVertices (unsigned int NumTris, unsigned int NumVerts, const unsigned int *pVertMap, unsigned int IndexSize, void *pInOutIndices, unsigned int VertexStride, void *pInOutVertices) |
| | Applies the remap table of OptimizeVertices to a vertex and index buffer. More...
|
| |
|
unsigned int | GetIndex (unsigned int i) const |
| |
|
static unsigned int | GetIndex (unsigned int i, unsigned int IndexSize, const void *pIB) |
| |
|
static void | SetIndex (unsigned int i, unsigned int val, unsigned int IndexSize, void *pIB) |
| |
|
unsigned int | m_NumVerts |
| |
|
unsigned int | m_NumTris |
| |
| unsigned int * | m_pTriMap |
| |
Implementation of "Fast Triangle Reordering for Vertex Locality and Reduced Overdraw" by Sander et. al. http://www.cs.princeton.edu/gfx/pubs/Sander_2007_%3ETR/index.php
Definition at line 262 of file GPUCacheOptimizer.hh.
| ACG::GPUCacheOptimizerTipsify::GPUCacheOptimizerTipsify |
( |
unsigned int |
CacheSize, |
|
|
unsigned int |
NumTris, |
|
|
unsigned int |
NumVerts, |
|
|
unsigned int |
IndexSize, |
|
|
const void * |
pIndices |
|
) |
| |
The actual computation happens here in this constructor.
- Parameters
-
| NumVerts | Number of vertices |
| IndexSize | size in bytes of one index: 1, 2, 4 supported |
| pIndices | index buffer |
| CacheSize | number of entries in the vertex cache |
| NumTris | Number of triangles |
Definition at line 341 of file GPUCacheOptimizer.cc.
The documentation for this class was generated from the following files: