X-Git-Url: http://git.xonotic.org/?a=blobdiff_plain;f=render.h;h=ea72d28229f7ca99577271d64a87505c6a158435;hb=4e78cde8cc88d79b572bbf754e87067580b57aca;hp=23b6b31400ad67a91251624df0dc47f6d0b58499;hpb=ce04e48e78399cccfd6a5c8a828d54cc53f3a0e6;p=xonotic%2Fdarkplaces.git diff --git a/render.h b/render.h index 23b6b314..ea72d282 100644 --- 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) @@ -433,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 @@ -452,9 +458,9 @@ typedef enum gl20_texunit_e GL20TU_SHADOWMAPCUBE = 11, GL20TU_SHADOWMAP2D = 11, GL20TU_CUBEPROJECTION = 12, - // orthographic-projection shadowmapping, reuses prepass screenspace depth, so must fix later if the two could ever coexist during final deferred lighting pass - GL20TU_SHADOWMAPORTHORECT = 13, - GL20TU_SHADOWMAPORTHO2D = 13, + // orthographic-projection shadowmapping + GL20TU_SHADOWMAPORTHORECT = 15, + GL20TU_SHADOWMAPORTHO2D = 15, // rtlight prepass data (screenspace depth and normalmap) GL20TU_SCREENDEPTH = 13, GL20TU_SCREENNORMALMAP = 14, @@ -462,8 +468,9 @@ typedef enum gl20_texunit_e GL20TU_SCREENDIFFUSE = 11, GL20TU_SCREENSPECULAR = 12, // fake reflections - GL20TU_REFLECTMASK = 14, - GL20TU_REFLECTCUBE = 15 + GL20TU_REFLECTMASK = 5, + GL20TU_REFLECTCUBE = 6, + GL20TU_FOGHEIGHTTEXTURE = 14 } gl20_texunit; @@ -477,10 +484,12 @@ 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; } r_waterstate_waterplane_t; @@ -489,9 +498,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;