X-Git-Url: http://git.xonotic.org/?a=blobdiff_plain;f=render.h;h=195c0cac93d194cfb0bab25ed295d56bccf790a6;hb=dbce962f09403fd5888d0bd858ceefc90bc3ea2b;hp=cecb01c0d7c61d5f9d8d146c17bda30282e76046;hpb=bc8b80ee19f7a87e326fa765427d0c4e8dfe9940;p=xonotic%2Fdarkplaces.git diff --git a/render.h b/render.h index cecb01c0..195c0cac 100644 --- a/render.h +++ b/render.h @@ -32,14 +32,13 @@ extern void FOG_clear(void); extern float fog_density, fog_red, fog_green, fog_blue; // sky stuff -extern int R_SetSkyBox(char* sky); extern cvar_t r_sky; -// these are exposed because surface rendering uses them -extern rtexture_t *solidskytexture; -extern rtexture_t *alphaskytexture; extern int skyrendernow, skyrendermasked; +extern int R_SetSkyBox(char* sky); extern void R_SkyStartFrame(void); extern void R_Sky(void); +extern void R_ResetQuakeSky(void); +extern void R_ResetSkyBox(void); // SHOWLMP stuff (Nehahra) extern void SHOWLMP_decodehide(void); @@ -65,15 +64,21 @@ extern float *aliasvertcolor; // vis stuff extern cvar_t r_novis; +// detail texture stuff +extern cvar_t r_detailtextures; + +// useful functions for rendering +void R_ModulateColors(float *in, float *out, int verts, float r, float g, float b); +void R_FillColors(float *out, int verts, float r, float g, float b, float a); + #define TOP_RANGE 16 // soldier uniform colors #define BOTTOM_RANGE 96 //============================================================================= -extern entity_render_t *currentrenderentity; extern int r_framecount; extern mplane_t frustum[4]; -extern int c_brush_polys, c_alias_polys, c_light_polys, c_faces, c_nodes, c_leafs, c_models, c_bmodels, c_sprites, c_particles, c_dlights; +extern int c_alias_polys, c_light_polys, c_faces, c_nodes, c_leafs, c_models, c_bmodels, c_sprites, c_particles, c_dlights; // @@ -104,14 +109,18 @@ void R_InitSky (qbyte *src, int bytesperpixel); // called at level load void R_NewMap (void); -void R_DrawWorld(void); -void R_SetupForWorldRendering(void); -void R_MarkWorldLights(void); -void R_PrepareSurfaces(void); -void R_DrawSurfaces(int type); -void R_DrawPortals(void); +void R_DrawWorld(entity_render_t *ent); +void R_SurfMarkLights (entity_render_t *ent); +void R_PrepareSurfaces(entity_render_t *ent); +void R_DrawSurfaces(entity_render_t *ent, int type); +void R_DrawPortals(entity_render_t *ent); void R_DrawParticles(void); void R_DrawExplosions(void); +void R_DrawBrushModelSky (entity_render_t *ent); +void R_DrawBrushModelNormal (entity_render_t *ent); +void R_DrawZymoticModel (entity_render_t *ent); +void R_DrawQ1Q2AliasModel(entity_render_t *ent); +void R_DrawSpriteModel (entity_render_t *ent); // LordHavoc: vertex transform #include "transform.h" @@ -144,19 +153,16 @@ void R_Mesh_EnlargeFarClipBBox(vec3_t mins, vec3_t maxs); #include "r_modules.h" +#include "meshqueue.h" + extern float overbrightscale; #include "r_lerpanim.h" -void R_DrawBrushModelSky (void); -void R_DrawBrushModelNormal (void); -void R_DrawAliasModel (void); -void R_DrawSpriteModel (void); - extern cvar_t r_render; #include "image.h" -extern cvar_t r_multitexture; +extern cvar_t r_textureunits; extern cvar_t gl_dither; // FIXME: this should live in the backend only