Changeset 2332 for GTP/trunk/Lib/Vis/Preprocessing/src/VspTree.h
- Timestamp:
- 04/23/07 16:19:30 (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
GTP/trunk/Lib/Vis/Preprocessing/src/VspTree.h
r2288 r2332 45 45 46 46 47 #define WORK_WITH_VIEWCELLS 048 47 49 48 /** View space partition statistics. … … 573 572 float mBackPvs; 574 573 574 float mFrontTriangles; 575 float mBackTriangles; 576 575 577 float mCorrectedFrontRenderCost; 576 578 float mCorrectedBackRenderCost; … … 733 735 void SetViewCellsTree(ViewCellsTree *vt) { mViewCellsTree = vt; } 734 736 735 #if WORK_WITH_VIEWCELLS736 /** Remove the references of the parent view cell from the kd nodes associated with737 the objects.738 */739 void RemoveParentViewCellReferences(ViewCell *parent) const;740 741 /** Adds references to the view cell to the kd nodes associated with the objects.742 */743 void AddViewCellReferences(ViewCell *vc) const;744 #endif745 746 VspNode *SubdivideAndCopy(SplitQueue &tQueue, SubdivisionCandidate *splitCandidate);747 737 748 738 PerfTimer mSortTimer; … … 1075 1065 ViewCell *back) const; 1076 1066 1077 void CreateViewCell(VspTraversalData &tData, const bool updatePvs); 1067 void CreateViewCell(VspTraversalData &tData, 1068 const bool updatePvs, 1069 const float renderCost, 1070 const int pvs); 1078 1071 1079 1072 /** Collect split candidates which are affected by the last split … … 1113 1106 */ 1114 1107 void Initialise(const VssRayContainer &rays, 1115 AxisAlignedBox3 *forcedBoundingBox); 1108 AxisAlignedBox3 *forcedBoundingBox, 1109 const ObjectContainer &objects); 1116 1110 1117 1111 int CompressObjects(); 1118 1112 1119 1113 int CompressObjects(VspLeaf *leaf); 1120 1121 void TraverseRayPacket();1122 1114 1123 1115 #ifdef USE_SSE … … 1125 1117 struct RayPacket 1126 1118 { 1127 union { float ox[4]; __m128 ox4; }; 1128 union { float oy[4]; __m128 oy4; }; 1129 union { float oz[4]; __m128 oz4; }; 1130 union { float dx[4]; __m128 dx4; }; 1131 union { float dy[4]; __m128 dy4; }; 1132 union { float dz[4]; __m128 dz4; }; 1119 union { float mOriginX[4]; __m128 mOriginX4; }; 1120 union { float mOriginY[4]; __m128 mOriginY4; }; 1121 union { float mOriginZ[4]; __m128 mOriginZ4; }; 1122 1123 union { float mTerminationX[4]; __m128 mTerminationX4; }; 1124 union { float mTerminationY[4]; __m128 mTerminationY4; }; 1125 union { float mTerminationZ[4]; __m128 mTerminationZ4; }; 1126 1127 ViewCellContainer mViewCells[4]; 1133 1128 }; 1129 1130 struct PacketTraversalData 1131 { 1132 VspNode *mNode; 1133 1134 union { float mExitPointX[4]; __m128 mExitPointX4; }; 1135 union { float mExitPointY[4]; __m128 mExitPointY4; }; 1136 union { float mExitPointZ[4]; __m128 mExitPointZ4; }; 1137 1138 union { float mMaxT[4]; __m128 mMaxT4; }; 1139 union { float mMask[4]; __m128 mMask4; }; 1140 1141 PacketTraversalData () {} 1142 PacketTraversalData (VspNode *n, 1143 const __m128 &px, const __m128 &py, const __m128 &pz, 1144 const __m128 &maxt, 1145 const __m128 &mask): 1146 mNode(n), 1147 mExitPointX4(px), mExitPointY4(py), mExitPointZ4(pz), 1148 mMaxT4(maxt), 1149 mMask4(mask) 1150 {} 1151 }; 1152 1153 1154 int TraverseRayPacket(RayPacket &rp, 1155 const bool useMailboxing); 1156 1134 1157 #endif 1135 1158 … … 1141 1164 HierarchyManager *mHierarchyManager; 1142 1165 BvHierarchy *mBvHierarchy; 1143 1144 //OspTree *mOspTree;1145 //bool mUseKdPvsForHeuristics;1146 1166 1147 1167 ViewCellsManager *mViewCellsManager;
Note: See TracChangeset
for help on using the changeset viewer.