forked from OctaForge/OctaCore
76 lines
2 KiB
C++
76 lines
2 KiB
C++
|
#ifndef ENGINE_RENDERVA_HH
|
||
|
#define ENGINE_RENDERVA_HH
|
||
|
|
||
|
#include <shared/geom.hh>
|
||
|
|
||
|
#include "octa.hh"
|
||
|
#include "renderlights.hh" /* LIGHTTILE_MAXH */
|
||
|
|
||
|
extern vtxarray *visibleva;
|
||
|
|
||
|
bool isfoggedsphere(float rad, const vec &cv);
|
||
|
int isvisiblesphere(float rad, const vec &cv);
|
||
|
int isvisiblebb(const ivec &bo, const ivec &br);
|
||
|
|
||
|
void visiblecubes(bool cull = true);
|
||
|
|
||
|
extern int deferquery;
|
||
|
|
||
|
int getnumqueries();
|
||
|
void flipqueries();
|
||
|
void resetqueries();
|
||
|
occludequery *newquery(void *owner);
|
||
|
void startquery(occludequery *query);
|
||
|
void endquery(occludequery *query);
|
||
|
bool checkquery(occludequery *query, bool nowait = false);
|
||
|
|
||
|
void startbb(bool mask = true);
|
||
|
void endbb(bool mask = true);
|
||
|
void drawbb(const ivec &bo, const ivec &br);
|
||
|
bool bboccluded(const ivec &bo, const ivec &br);
|
||
|
|
||
|
void rendermapmodels();
|
||
|
void renderoutline();
|
||
|
void renderblendbrush(GLuint tex, float x, float y, float w, float h);
|
||
|
|
||
|
int calcspheresidemask(const vec &p, float radius, float bias);
|
||
|
int cullfrustumsides(const vec &lightpos, float lightradius, float size, float border);
|
||
|
|
||
|
extern vec shadoworigin, shadowdir;
|
||
|
extern float shadowradius, shadowbias;
|
||
|
extern int shadowside, shadowspot;
|
||
|
|
||
|
extern void findshadowvas();
|
||
|
extern void findshadowmms();
|
||
|
|
||
|
int dynamicshadowvabounds(int mask, vec &bbmin, vec &bbmax);
|
||
|
|
||
|
void rendershadowmapworld();
|
||
|
void batchshadowmapmodels(bool skipmesh = false);
|
||
|
void renderrsmgeom(bool dyntex = false);
|
||
|
|
||
|
struct shadowmesh;
|
||
|
struct extentity; /* FIXME: remove */
|
||
|
|
||
|
void clearshadowmeshes();
|
||
|
void genshadowmeshes();
|
||
|
shadowmesh *findshadowmesh(int idx, extentity &e);
|
||
|
void rendershadowmesh(shadowmesh *m);
|
||
|
|
||
|
extern int oqfrags;
|
||
|
extern float alphafrontsx1, alphafrontsx2, alphafrontsy1, alphafrontsy2, alphabacksx1, alphabacksx2, alphabacksy1, alphabacksy2, alpharefractsx1, alpharefractsx2, alpharefractsy1, alpharefractsy2;
|
||
|
extern uint alphatiles[LIGHTTILE_MAXH];
|
||
|
|
||
|
int findalphavas();
|
||
|
void renderrefractmask();
|
||
|
void renderalphageom(int side);
|
||
|
|
||
|
bool renderexplicitsky(bool outline = false);
|
||
|
|
||
|
void renderdecals();
|
||
|
|
||
|
void cleanupva();
|
||
|
void rendergeom();
|
||
|
|
||
|
#endif
|