lod.hh (670B)
1 #ifndef _LOD_HH_ 2 #define _LOD_HH_ 3 4 #include "all_includes.hh" 5 6 class Lod { 7 private : 8 Heap merge[6]; // {xMin, xMax, yMin, yMax, zMin, zMax}. 9 Heap splitIn[6]; // {xMinIn, xMaxIn, yMinIn, yMaxIn, zMinIn, zMaxIn}. 10 Heap splitOut[6]; // {xMinOut, xMaxOut, yMinOut, yMaxOut, zMinOut, zMaxOut}. 11 float camera[3]; 12 private: 13 void doSplit(Chose* c); 14 void doMerge(Chose* c); 15 void doSubMerge(Chose* c); 16 public : 17 Lod(Vertex camera, Chose* root); 18 void addMergeCube(Chose* chose); 19 void addSplitCube(Chose* chose); 20 void setCamera(Vertex camera); 21 }; 22 23 struct LodNode { 24 float aabb[6]; 25 float splitBox[6]; 26 float mergeBox[6]; 27 int inCounter; 28 bool firstBBPoint; 29 }; 30 31 #endif