Inexor
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Classes | Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
pvsworker Struct Reference

Classes

struct  cullorder
 

Public Member Functions

 pvsworker ()
 
 ~pvsworker ()
 
void resetlevels ()
 
int hasvoxel (const ivec &p, int coord, int dir, int ocoord=0, int odir=0, int *omin=nullptr)
 
void hidepvs (pvsnode &p)
 
void shaftcullpvs (shaft &s, pvsnode &p, const ivec &co=ivec(0, 0, 0), int size=worldsize)
 
void cullpvs (pvsnode &p, const ivec &co=ivec(0, 0, 0), int size=worldsize)
 
bool compresspvs (pvsnode &p, int size, int threshold)
 
bool serializepvs (pvsnode &p, int storage=-1)
 
bool materialoccluded (pvsnode &p, const ivec &co, int size, const ivec &bbmin, const ivec &bbmax)
 
bool materialoccluded (vector< materialsurface * > &matsurfs)
 
void calcpvs (const ivec &co, int size)
 
uchartestviewcell (const ivec &co, int size, int *waterpvs=nullptr, int *len=nullptr)
 
int genviewcell (const ivec &co, int size)
 

Static Public Member Functions

static int run (void *data)
 

Public Attributes

SDL_Thread * thread
 
pvsnodepvsnodes
 
shaftbb viewcellbb
 
pvsnodelevels [32]
 
int curlevel
 
ivec origin
 
queue< shaftbb, 32 > prevblockers
 
vector< ucharoutbuf
 
int wateroccluded
 
int waterbytes
 

Constructor & Destructor Documentation

pvsworker::pvsworker ( )
inline
pvsworker::~pvsworker ( )
inline

Member Function Documentation

void pvsworker::calcpvs ( const ivec co,
int  size 
)
inline
bool pvsworker::compresspvs ( pvsnode p,
int  size,
int  threshold 
)
inline
void pvsworker::cullpvs ( pvsnode p,
const ivec co = ivec(0, 0, 0),
int  size = worldsize 
)
inline
int pvsworker::genviewcell ( const ivec co,
int  size 
)
inline
int pvsworker::hasvoxel ( const ivec p,
int  coord,
int  dir,
int  ocoord = 0,
int  odir = 0,
int *  omin = nullptr 
)
inline
void pvsworker::hidepvs ( pvsnode p)
inline
bool pvsworker::materialoccluded ( pvsnode p,
const ivec co,
int  size,
const ivec bbmin,
const ivec bbmax 
)
inline
bool pvsworker::materialoccluded ( vector< materialsurface * > &  matsurfs)
inline
void pvsworker::resetlevels ( )
inline

References worldscale.

static int pvsworker::run ( void data)
inlinestatic
bool pvsworker::serializepvs ( pvsnode p,
int  storage = -1 
)
inline
void pvsworker::shaftcullpvs ( shaft s,
pvsnode p,
const ivec co = ivec(0, 0, 0),
int  size = worldsize 
)
inline
uchar* pvsworker::testviewcell ( const ivec co,
int  size,
int *  waterpvs = nullptr,
int *  len = nullptr 
)
inline

Referenced by testpvs().

Member Data Documentation

int pvsworker::curlevel
pvsnode* pvsworker::levels[32]
ivec pvsworker::origin
vector<uchar> pvsworker::outbuf
queue<shaftbb, 32> pvsworker::prevblockers
pvsnode* pvsworker::pvsnodes
SDL_Thread* pvsworker::thread

Referenced by genpvs().

shaftbb pvsworker::viewcellbb
int pvsworker::waterbytes
int pvsworker::wateroccluded

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