28 S32 m_numShadingNormals;
29 S32 m_numTextureCoords;
31 Vec3f m_bboxMin, m_bboxMax;
92 void updateConstants();
93 int warpSubtasks(
int threads);
94 int floatToOrderedInt(
float floatVal);
96 void allocateSnapshots(
Buffer &snapData);
97 void printSnapshots(
Buffer &snapData);
99 void deinitPool(
int numRays = 0);
103 void traceCpuRay(
const Ray& r,
RayResult& result,
bool anyHit);
106 F32 traceOnDemandBVHRayBuffer(
RayBuffer& rb,
bool rebuild);
107 F32 traceOnDemandKdtreeRayBuffer(
RayBuffer& rb,
bool rebuild);
109 F32 buildCudaKdtree();
110 F32 testSort(
S32 arraySize);
112 void saveBufferSizes(
bool ads =
true,
bool aux =
true);
113 void prepareDynamicMemory();
114 int setDynamicMemory();
void resetBuffers(bool resetADSBuffers)
F32 traceBatch(RayBuffer &rays)
void getStats(U32 &nodes, U32 &leaves, U32 &emptyLeaves, U32 &stackTop, U32 &nodeTop, U32 &tris, U32 &sortedTris, bool sub=true)
F32 traceBatchBVH(RayBuffer &rays, RayStats *stats=NULL)
Structure holding ray statistics. Also provides print to the console. These statistics are used in a ...
Declarations for the BVH acceleration structure.
F32 traceOnDemandKdtree(RayBuffer &rays, bool rebuild, int numRays=0)
F32 traceOnDemandBVH(RayBuffer &rays, bool rebuild, int numRays=0)
Ray buffer class. Stores rays.
void getSizes(F32 &task, F32 &split, F32 &ads, F32 &tri, F32 &triIdx, F32 &heap)
F32 traceBatchKdtree(RayBuffer &rays, RayStats *stats=NULL)
CudaPersistentBVHTracer(Scene &scene, F32 epsilon)
void traceOnDemandTrace(RayBuffer &rays, F32 &GPUmegakernel, F32 &CPUmegakernel, F32 &GPUtravKernel, F32 &CPUtravKernel, int &buildNodes, RayStats *stats=NULL)