Public Member Functions | |
CVertexCache (sint cacheSize, sint nbVerts) | |
uint | getVertexInCache (uint vertIdInCache) |
bool | isVertexInCache (uint vert) |
void | tempTouchVertex (uint vert, bool inCache) |
void | touchVertex (uint vert) |
Private Attributes | |
deque< uint32 > | _Cache |
vector< uint8 > | _VertexInCache |
|
Definition at line 103 of file stripifier.cpp. References _VertexInCache, and sint.
00104 { 00105 _VertexInCache.resize(nbVerts, 0); 00106 _Cache.resize(cacheSize, 0xFFFFFFFF); 00107 } |
|
Definition at line 134 of file stripifier.cpp. References uint. Referenced by NL3D::CStripifier::optimizeTriangles().
00135 { 00136 return _Cache[vertIdInCache]; 00137 } |
|
Definition at line 128 of file stripifier.cpp. References _VertexInCache, and uint. Referenced by NL3D::COrderFace::countCacheMiss(), and touchVertex().
00129 { 00130 return _VertexInCache[vert]==3; 00131 } |
|
Definition at line 139 of file stripifier.cpp. References _VertexInCache, and uint. Referenced by NL3D::CStripifier::optimizeTriangles().
00140 { 00141 if( _VertexInCache[vert]&1 ) 00142 { 00143 if(inCache) 00144 _VertexInCache[vert]|= 2; 00145 else 00146 _VertexInCache[vert]&= 1; 00147 } 00148 } |
|
Definition at line 109 of file stripifier.cpp. References _VertexInCache, isVertexInCache(), and uint. Referenced by NL3D::COrderFace::insertInPB().
00110 { 00111 if(isVertexInCache(vert)) 00112 { 00113 // do nothing ?????? depends of vcache implementation 00114 } 00115 else 00116 { 00117 // pop front 00118 uint removed= _Cache.front(); 00119 if(removed!=0xFFFFFFFF) 00120 _VertexInCache[removed]= 0; 00121 _Cache.pop_front(); 00122 // push_back 00123 _VertexInCache[vert]= 3; 00124 _Cache.push_back(vert); 00125 } 00126 } |
|
Definition at line 153 of file stripifier.cpp. |
|
Definition at line 152 of file stripifier.cpp. Referenced by CVertexCache(), isVertexInCache(), tempTouchVertex(), and touchVertex(). |