]> de.git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - render.h
illuminated surfaces are now sorted by texture, giving a good fps
[xonotic/darkplaces.git] / render.h
index 31a836723f011a404f9a92c0257a1238f70e07e7..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;
@@ -211,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;
@@ -377,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)
@@ -463,7 +469,8 @@ typedef enum gl20_texunit_e
        GL20TU_SCREENSPECULAR = 12,
        // fake reflections
        GL20TU_REFLECTMASK = 5,
-       GL20TU_REFLECTCUBE = 6
+       GL20TU_REFLECTCUBE = 6,
+       GL20TU_FOGHEIGHTTEXTURE = 14
 }
 gl20_texunit;
 
@@ -477,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;
 
@@ -493,6 +503,7 @@ typedef struct r_waterstate_s
 
        int waterwidth, waterheight;
        int texturewidth, textureheight;
+       int camerawidth, cameraheight;
 
        int maxwaterplanes; // same as MAX_WATERPLANES
        int numwaterplanes;