Polyphase Game Engine
Loading...
Searching...
No Matches
OcclusionData Class Reference

#include <OcclusionData.h>

Public Member Functions

bool IsValid () const
 
bool HasDynamicTable () const
 
void Clear ()
 
int32_t FindCell (glm::vec3 point) const
 
uint32_t GetCellSetIndex (int32_t cell) const
 
const uint32_t * GetSet (int32_t cell) const
 
bool IsVisible (const uint32_t *set, uint32_t occludeeIndex) const
 
const uint32_t * GetCoarseSet (int32_t cell) const
 
bool IsCoarseCellVisible (const uint32_t *coarseSet, uint32_t coarseIndex) const
 
uint32_t GetNumCoarseCells () const
 
uint32_t GetNumUniqueCoarseSets () const
 
bool IsBoxVisibleDynamic (int32_t cell, const AABB &box) const
 
uint32_t GetNumCells () const
 
uint32_t GetNumUniqueSets () const
 
AABB GetCellAABB (int32_t cell) const
 
AABB GetVolumeAABB () const
 
size_t GetMemoryBytes () const
 
size_t GetStaticTableBytes () const
 
size_t GetDynamicTableBytes () const
 
void SetCellSetIndices (const std::vector< uint32_t > &cellToSet)
 
void SetCellCoarseSetIndices (const std::vector< uint32_t > &cellToSet)
 
void SaveStream (Stream &stream) const
 
void LoadStream (Stream &stream, uint32_t version)
 

Public Attributes

glm::vec3 mMin = {}
 
float mCellSize = 4.0f
 
uint32_t mDimX = 0
 
uint32_t mDimY = 0
 
uint32_t mDimZ = 0
 
uint32_t mWordsPerSet = 0
 
uint32_t mBakeAlgorithm = 0
 
std::vector< OcclusionEntry > mOccludees
 
std::vector< OcclusionEntry > mOccluders
 
std::vector< uint16_t > mCellToSet16
 
std::vector< uint32_t > mCellToSet32
 
std::vector< uint32_t > mSetPool
 
uint32_t mCoarseFactor = 0
 
uint32_t mCoarseDimX = 0
 
uint32_t mCoarseDimY = 0
 
uint32_t mCoarseDimZ = 0
 
uint32_t mWordsPerCoarseSet = 0
 
std::vector< uint16_t > mCellToCoarseSet16
 
std::vector< uint32_t > mCellToCoarseSet32
 
std::vector< uint32_t > mCoarseSetPool
 

Static Public Attributes

static constexpr uint32_t kNoSet = 0xFFFFFFFFu
 
static const uint32_t kMaxDynamicCoarseCells = 64
 

Member Function Documentation

◆ Clear()

void OcclusionData::Clear ( )

◆ FindCell()

int32_t OcclusionData::FindCell ( glm::vec3  point) const

◆ GetCellAABB()

AABB OcclusionData::GetCellAABB ( int32_t  cell) const

◆ GetCellSetIndex()

uint32_t OcclusionData::GetCellSetIndex ( int32_t  cell) const

◆ GetCoarseSet()

const uint32_t * OcclusionData::GetCoarseSet ( int32_t  cell) const

◆ GetDynamicTableBytes()

size_t OcclusionData::GetDynamicTableBytes ( ) const

◆ GetMemoryBytes()

size_t OcclusionData::GetMemoryBytes ( ) const

◆ GetNumCells()

uint32_t OcclusionData::GetNumCells ( ) const
inline

◆ GetNumCoarseCells()

uint32_t OcclusionData::GetNumCoarseCells ( ) const
inline

◆ GetNumUniqueCoarseSets()

uint32_t OcclusionData::GetNumUniqueCoarseSets ( ) const
inline

◆ GetNumUniqueSets()

uint32_t OcclusionData::GetNumUniqueSets ( ) const
inline

◆ GetSet()

const uint32_t * OcclusionData::GetSet ( int32_t  cell) const

◆ GetStaticTableBytes()

size_t OcclusionData::GetStaticTableBytes ( ) const

◆ GetVolumeAABB()

AABB OcclusionData::GetVolumeAABB ( ) const

◆ HasDynamicTable()

bool OcclusionData::HasDynamicTable ( ) const

◆ IsBoxVisibleDynamic()

bool OcclusionData::IsBoxVisibleDynamic ( int32_t  cell,
const AABB &  box 
) const

◆ IsCoarseCellVisible()

bool OcclusionData::IsCoarseCellVisible ( const uint32_t *  coarseSet,
uint32_t  coarseIndex 
) const

◆ IsValid()

bool OcclusionData::IsValid ( ) const

◆ IsVisible()

bool OcclusionData::IsVisible ( const uint32_t *  set,
uint32_t  occludeeIndex 
) const

◆ LoadStream()

void OcclusionData::LoadStream ( Stream &  stream,
uint32_t  version 
)

◆ SaveStream()

void OcclusionData::SaveStream ( Stream &  stream) const

◆ SetCellCoarseSetIndices()

void OcclusionData::SetCellCoarseSetIndices ( const std::vector< uint32_t > &  cellToSet)

◆ SetCellSetIndices()

void OcclusionData::SetCellSetIndices ( const std::vector< uint32_t > &  cellToSet)

Member Data Documentation

◆ kMaxDynamicCoarseCells

const uint32_t OcclusionData::kMaxDynamicCoarseCells = 64
static

◆ kNoSet

constexpr uint32_t OcclusionData::kNoSet = 0xFFFFFFFFu
staticconstexpr

◆ mBakeAlgorithm

uint32_t OcclusionData::mBakeAlgorithm = 0

◆ mCellSize

float OcclusionData::mCellSize = 4.0f

◆ mCellToCoarseSet16

std::vector<uint16_t> OcclusionData::mCellToCoarseSet16

◆ mCellToCoarseSet32

std::vector<uint32_t> OcclusionData::mCellToCoarseSet32

◆ mCellToSet16

std::vector<uint16_t> OcclusionData::mCellToSet16

◆ mCellToSet32

std::vector<uint32_t> OcclusionData::mCellToSet32

◆ mCoarseDimX

uint32_t OcclusionData::mCoarseDimX = 0

◆ mCoarseDimY

uint32_t OcclusionData::mCoarseDimY = 0

◆ mCoarseDimZ

uint32_t OcclusionData::mCoarseDimZ = 0

◆ mCoarseFactor

uint32_t OcclusionData::mCoarseFactor = 0

◆ mCoarseSetPool

std::vector<uint32_t> OcclusionData::mCoarseSetPool

◆ mDimX

uint32_t OcclusionData::mDimX = 0

◆ mDimY

uint32_t OcclusionData::mDimY = 0

◆ mDimZ

uint32_t OcclusionData::mDimZ = 0

◆ mMin

glm::vec3 OcclusionData::mMin = {}

◆ mOccludees

std::vector<OcclusionEntry> OcclusionData::mOccludees

◆ mOccluders

std::vector<OcclusionEntry> OcclusionData::mOccluders

◆ mSetPool

std::vector<uint32_t> OcclusionData::mSetPool

◆ mWordsPerCoarseSet

uint32_t OcclusionData::mWordsPerCoarseSet = 0

◆ mWordsPerSet

uint32_t OcclusionData::mWordsPerSet = 0

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