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(). |
1.3.6