]> git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - render.h
be more clear in the overflow message of OGG_FetchSound
[xonotic/darkplaces.git] / render.h
index 0fb84efcee384c986df7ccee004e1f3229e38fc2..bd9b1013152396187a9cf3b73a24ec51a2b7e34c 100644 (file)
--- a/render.h
+++ b/render.h
@@ -114,7 +114,10 @@ extern cvar_t r_showdisabledepthtest;
 // view origin
 //
 extern cvar_t r_drawentities;
+extern cvar_t r_draw2d;
+extern qboolean r_draw2d_force;
 extern cvar_t r_drawviewmodel;
+extern cvar_t r_drawworld;
 extern cvar_t r_speeds;
 extern cvar_t r_fullbright;
 extern cvar_t r_wateralpha;
@@ -145,6 +148,8 @@ skinframe_t *R_SkinFrame_LoadInternalQuake(const char *name, int textureflags, i
 skinframe_t *R_SkinFrame_LoadInternal8bit(const char *name, int textureflags, const unsigned char *skindata, int width, int height, const unsigned int *palette, const unsigned int *alphapalette);
 skinframe_t *R_SkinFrame_LoadMissing(void);
 
+rtexture_t *R_GetCubemap(const char *basename);
+
 void R_View_WorldVisibility(qboolean forcenovis);
 void R_DrawDecals(void);
 void R_DrawParticles(void);
@@ -193,6 +198,12 @@ extern cvar_t r_smoothnormals_areaweighting;
 
 extern cvar_t r_test;
 
+extern cvar_t r_texture_convertsRGB_2d;
+extern cvar_t r_texture_convertsRGB_skin;
+extern cvar_t r_texture_convertsRGB_cubemap;
+extern cvar_t r_texture_convertsRGB_skybox;
+extern cvar_t r_texture_convertsRGB_particles;
+
 #include "gl_backend.h"
 
 extern rtexture_t *r_texture_blanknormalmap;
@@ -203,7 +214,7 @@ extern rtexture_t *r_texture_notexture;
 extern rtexture_t *r_texture_whitecube;
 extern rtexture_t *r_texture_normalizationcube;
 extern rtexture_t *r_texture_fogattenuation;
-//extern rtexture_t *r_texture_fogintensity;
+extern rtexture_t *r_texture_fogheighttexture;
 
 extern unsigned int r_queries[MAX_OCCLUSION_QUERIES];
 extern unsigned int r_numqueries;
@@ -369,6 +380,9 @@ typedef struct rsurfacestate_s
        // this transforms only the Z to S, and T is always 0.5
        matrix4x4_t entitytoattenuationz;
 
+       // user wavefunc parameters (from csqc)
+       float userwavefunc_param[Q3WAVEFUNC_USER_COUNT];
+
        // pointer to an entity_render_t used only by R_GetCurrentTexture and
        // RSurf_ActiveWorldEntity/RSurf_ActiveModelEntity as a unique id within
        // each frame (see r_frame also)
@@ -425,7 +439,7 @@ typedef enum gl20_texunit_e
        // material properties for a colormapped material
        // conflicts with secondary material
        GL20TU_PANTS = 4,
-       GL20TU_SHIRT = 5,
+       GL20TU_SHIRT = 7,
        // fog fade in the distance
        GL20TU_FOGMASK = 8,
        // compiled ambient lightmap and deluxemap
@@ -444,12 +458,19 @@ typedef enum gl20_texunit_e
        GL20TU_SHADOWMAPCUBE = 11,
        GL20TU_SHADOWMAP2D = 11,
        GL20TU_CUBEPROJECTION = 12,
+       // orthographic-projection shadowmapping
+       GL20TU_SHADOWMAPORTHORECT = 15,
+       GL20TU_SHADOWMAPORTHO2D = 15,
        // rtlight prepass data (screenspace depth and normalmap)
        GL20TU_SCREENDEPTH = 13,
        GL20TU_SCREENNORMALMAP = 14,
        // lightmap prepass data (screenspace diffuse and specular from lights)
        GL20TU_SCREENDIFFUSE = 11,
        GL20TU_SCREENSPECULAR = 12,
+       // fake reflections
+       GL20TU_REFLECTMASK = 5,
+       GL20TU_REFLECTCUBE = 6,
+       GL20TU_FOGHEIGHTTEXTURE = 14
 }
 gl20_texunit;
 
@@ -463,10 +484,13 @@ typedef struct r_waterstate_waterplane_s
 {
        rtexture_t *texture_refraction;
        rtexture_t *texture_reflection;
+       rtexture_t *texture_camera;
        mplane_t plane;
        int materialflags; // combined flags of all water surfaces on this plane
        unsigned char pvsbits[(MAX_MAP_LEAFS+7)>>3]; // FIXME: buffer overflow on huge maps
        qboolean pvsvalid;
+       int camera_entity;
+       vec3_t mins, maxs;
 }
 r_waterstate_waterplane_t;
 
@@ -475,9 +499,11 @@ typedef struct r_waterstate_s
        qboolean enabled;
 
        qboolean renderingscene; // true while rendering a refraction or reflection texture, disables water surfaces
+       qboolean renderingrefraction;
 
        int waterwidth, waterheight;
        int texturewidth, textureheight;
+       int camerawidth, cameraheight;
 
        int maxwaterplanes; // same as MAX_WATERPLANES
        int numwaterplanes;