HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
CE_BVH Class Reference

#include <CE_BVH.h>

Classes

struct  ceBVHNode
 
struct  cebvhvec3
 

Public Types

enum  PrimType { PrimType::TRI, PrimType::QUAD, PrimType::TET }
 

Public Member Functions

 CE_BVH ()
 
 ~CE_BVH ()
 
void build (const CE_Int32Array &trisingrp, const cl::Buffer &primptsidx, const cl::Buffer &primpts, const cl::Buffer &P, PrimType primtype=PrimType::TRI, bool refitTets=true)
 
void refit (const CE_Int32Array &trisingrp, const cl::Buffer &primptsidx, const cl::Buffer &primpts, const cl::Buffer &P)
 
void clear ()
 
bool isBuilt () const
 
const cl::BuffernodeBuffer () const
 
const cl::BufferverticesBuffer () const
 
const cl::BufferprimIdxBuffer () const
 

Protected Member Functions

void updateVertices (const CE_Int32Array &tris, const cl::Buffer &primptsidx, const cl::Buffer &primpts, const cl::Buffer &P)
 
void buildDepthIndex (bool reverse=true)
 
struct __attribute__ ((aligned(16))) cebvhvec4
 

Protected Attributes

tinybvh::BVH_GPU * myBVH
 
CE_BufferDevice< ceBVHNodemyBVHNodes
 
CE_BufferDevice< cebvhvec4 > myVertices
 
CE_UInt32Array myPrimIdx
 
UT_IntArray myDepthCounts
 
CE_Int32Array mySingleDepthCounts
 
CE_Int32Array mySingleDepthOffsets
 
CE_Int32Array myDepthIndex
 
cl::NDRange myRefitRange
 
PrimType myPrimType
 

Detailed Description

Definition at line 25 of file CE_BVH.h.

Member Enumeration Documentation

enum CE_BVH::PrimType
strong
Enumerator
TRI 
QUAD 
TET 

Definition at line 31 of file CE_BVH.h.

Constructor & Destructor Documentation

CE_BVH::CE_BVH ( )
CE_BVH::~CE_BVH ( )

Member Function Documentation

struct CE_BVH::__attribute__ ( (aligned(16))  )
inlineprotected

Definition at line 79 of file CE_BVH.h.

void CE_BVH::build ( const CE_Int32Array trisingrp,
const cl::Buffer primptsidx,
const cl::Buffer primpts,
const cl::Buffer P,
PrimType  primtype = PrimType::TRI,
bool  refitTets = true 
)
void CE_BVH::buildDepthIndex ( bool  reverse = true)
protected
void CE_BVH::clear ( )
bool CE_BVH::isBuilt ( ) const
const cl::Buffer& CE_BVH::nodeBuffer ( ) const
inline

Definition at line 54 of file CE_BVH.h.

const cl::Buffer& CE_BVH::primIdxBuffer ( ) const
inline

Definition at line 60 of file CE_BVH.h.

void CE_BVH::refit ( const CE_Int32Array trisingrp,
const cl::Buffer primptsidx,
const cl::Buffer primpts,
const cl::Buffer P 
)
void CE_BVH::updateVertices ( const CE_Int32Array tris,
const cl::Buffer primptsidx,
const cl::Buffer primpts,
const cl::Buffer P 
)
protected
const cl::Buffer& CE_BVH::verticesBuffer ( ) const
inline

Definition at line 57 of file CE_BVH.h.

Member Data Documentation

tinybvh::BVH_GPU* CE_BVH::myBVH
protected

Definition at line 98 of file CE_BVH.h.

CE_BufferDevice<ceBVHNode> CE_BVH::myBVHNodes
protected

Definition at line 99 of file CE_BVH.h.

UT_IntArray CE_BVH::myDepthCounts
protected

Definition at line 102 of file CE_BVH.h.

CE_Int32Array CE_BVH::myDepthIndex
protected

Definition at line 105 of file CE_BVH.h.

CE_UInt32Array CE_BVH::myPrimIdx
protected

Definition at line 101 of file CE_BVH.h.

PrimType CE_BVH::myPrimType
protected

Definition at line 107 of file CE_BVH.h.

cl::NDRange CE_BVH::myRefitRange
protected

Definition at line 106 of file CE_BVH.h.

CE_Int32Array CE_BVH::mySingleDepthCounts
protected

Definition at line 103 of file CE_BVH.h.

CE_Int32Array CE_BVH::mySingleDepthOffsets
protected

Definition at line 104 of file CE_BVH.h.

CE_BufferDevice<cebvhvec4> CE_BVH::myVertices
protected

Definition at line 100 of file CE_BVH.h.


The documentation for this class was generated from the following file: