X-Git-Url: https://git.xonotic.org/?a=blobdiff_plain;f=gl_rmain.c;h=28806317dba62ddf78b7cdda947a11ea96a0baa3;hb=ecf791f3900acd276fcabbca655bb2833dc50173;hp=d164550d78b37c7f6c266d90ddeb29254df53a48;hpb=4d34e0a632cbc401712f46e10bb9864438b0881f;p=xonotic%2Fdarkplaces.git diff --git a/gl_rmain.c b/gl_rmain.c index d164550d..28806317 100644 --- a/gl_rmain.c +++ b/gl_rmain.c @@ -156,10 +156,6 @@ cvar_t gl_skyclip = {CF_CLIENT, "gl_skyclip", "4608", "nehahra farclip distance cvar_t r_texture_dds_load = {CF_CLIENT | CF_ARCHIVE, "r_texture_dds_load", "0", "load compressed dds/filename.dds texture instead of filename.tga, if the file exists (requires driver support)"}; cvar_t r_texture_dds_save = {CF_CLIENT | CF_ARCHIVE, "r_texture_dds_save", "0", "save compressed dds/filename.dds texture when filename.tga is loaded, so that it can be loaded instead next time"}; -cvar_t r_textureunits = {CF_CLIENT, "r_textureunits", "32", "number of texture units to use in GL 1.1 and GL 1.3 rendering paths"}; -static cvar_t gl_combine = {CF_CLIENT | CF_READONLY, "gl_combine", "1", "indicates whether the OpenGL 1.3 rendering path is active"}; -static cvar_t r_glsl = {CF_CLIENT | CF_READONLY, "r_glsl", "1", "indicates whether the OpenGL 2.0 rendering path is active"}; - cvar_t r_usedepthtextures = {CF_CLIENT | CF_ARCHIVE, "r_usedepthtextures", "1", "use depth texture instead of depth renderbuffer where possible, uses less video memory but may render slower (or faster) depending on hardware"}; cvar_t r_viewfbo = {CF_CLIENT | CF_ARCHIVE, "r_viewfbo", "0", "enables use of an 8bit (1) or 16bit (2) or 32bit (3) per component float framebuffer render, which may be at a different resolution than the video mode"}; cvar_t r_rendertarget_debug = {CF_CLIENT, "r_rendertarget_debug", "-1", "replaces the view with the contents of the specified render target (by number - note that these can fluctuate depending on scene)"}; @@ -191,6 +187,7 @@ cvar_t r_glsl_postprocess_uservec2_enable = {CF_CLIENT | CF_ARCHIVE, "r_glsl_pos cvar_t r_glsl_postprocess_uservec3_enable = {CF_CLIENT | CF_ARCHIVE, "r_glsl_postprocess_uservec3_enable", "1", "enables postprocessing uservec3 usage, creates USERVEC1 define (only useful if default.glsl has been customized)"}; cvar_t r_glsl_postprocess_uservec4_enable = {CF_CLIENT | CF_ARCHIVE, "r_glsl_postprocess_uservec4_enable", "1", "enables postprocessing uservec4 usage, creates USERVEC1 define (only useful if default.glsl has been customized)"}; cvar_t r_colorfringe = {CF_CLIENT | CF_ARCHIVE, "r_colorfringe", "0", "Chromatic aberration. Values higher than 0.025 will noticeably distort the image"}; +cvar_t r_fxaa = {CF_CLIENT | CF_ARCHIVE, "r_fxaa", "0", "fast approximate anti aliasing"}; cvar_t r_water = {CF_CLIENT | CF_ARCHIVE, "r_water", "0", "whether to use reflections and refraction on water surfaces (note: r_wateralpha must be set below 1)"}; cvar_t r_water_cameraentitiesonly = {CF_CLIENT | CF_ARCHIVE, "r_water_cameraentitiesonly", "0", "whether to only show QC-defined reflections/refractions (typically used for camera- or portal-like effects)"}; @@ -3071,9 +3068,6 @@ static void gl_main_start(void) { case RENDERPATH_GL32: case RENDERPATH_GLES2: - Cvar_SetValueQuick(&r_textureunits, MAX_TEXTUREUNITS); - Cvar_SetValueQuick(&gl_combine, 1); - Cvar_SetValueQuick(&r_glsl, 1); r_loadnormalmap = true; r_loadgloss = true; r_loadfog = false; @@ -3335,8 +3329,6 @@ void GL_Main_Init(void) Cvar_RegisterVariable(&r_transparent_sortarraysize); Cvar_RegisterVariable(&r_texture_dds_load); Cvar_RegisterVariable(&r_texture_dds_save); - Cvar_RegisterVariable(&r_textureunits); - Cvar_RegisterVariable(&gl_combine); Cvar_RegisterVariable(&r_usedepthtextures); Cvar_RegisterVariable(&r_viewfbo); Cvar_RegisterVariable(&r_rendertarget_debug); @@ -3347,7 +3339,6 @@ void GL_Main_Init(void) Cvar_RegisterVariable(&r_viewscale_fpsscaling_stepsize); Cvar_RegisterVariable(&r_viewscale_fpsscaling_stepmax); Cvar_RegisterVariable(&r_viewscale_fpsscaling_target); - Cvar_RegisterVariable(&r_glsl); Cvar_RegisterVariable(&r_glsl_deluxemapping); Cvar_RegisterVariable(&r_glsl_offsetmapping); Cvar_RegisterVariable(&r_glsl_offsetmapping_steps); @@ -3368,6 +3359,7 @@ void GL_Main_Init(void) Cvar_RegisterVariable(&r_glsl_postprocess_uservec4_enable); Cvar_RegisterVariable(&r_celshading); Cvar_RegisterVariable(&r_celoutlines); + Cvar_RegisterVariable(&r_fxaa); Cvar_RegisterVariable(&r_water); Cvar_RegisterVariable(&r_water_cameraentitiesonly); @@ -3447,6 +3439,7 @@ void Render_Init(void) R_Particles_Init(); R_Explosion_Init(); R_LightningBeams_Init(); + CL_MeshEntities_Init(); Mod_RenderInit(); } @@ -3959,13 +3952,13 @@ qbool R_CanSeeBox(int numsamples, vec_t eyejitter, vec_t entboxenlarge, vec_t en if (BoxesOverlap(boxmins, boxmaxs, eyemins, eyemaxs)) return true; + VectorCopy(eye, start); // try specific positions in the box first - note that these can be cached if (r_cullentities_trace_entityocclusion.integer) { for (i = 0; i < sizeof(positions) / sizeof(positions[0]); i++) { trace_t trace; - VectorCopy(eye, start); end[0] = boxmins[0] + (boxmaxs[0] - boxmins[0]) * positions[i][0]; end[1] = boxmins[1] + (boxmaxs[1] - boxmins[1]) * positions[i][1]; end[2] = boxmins[2] + (boxmaxs[2] - boxmins[2]) * positions[i][2]; @@ -3976,8 +3969,13 @@ qbool R_CanSeeBox(int numsamples, vec_t eyejitter, vec_t entboxenlarge, vec_t en return true; } } - else if (model->brush.TraceLineOfSight(model, start, end, padmins, padmaxs)) - return true; + else + { + // try center + VectorMAM(0.5f, boxmins, 0.5f, boxmaxs, end); + if (model->brush.TraceLineOfSight(model, start, end, padmins, padmaxs)) + return true; + } // try various random positions for (j = 0; j < numsamples; j++) @@ -5491,6 +5489,11 @@ void R_UpdateVariables(void) if (r_refdef.scene.worldmodel) { r_refdef.scene.lightmapintensity *= r_refdef.scene.worldmodel->lightmapscale; + + // Apply the default lightstyle to the lightmap even on q3bsp + if (cl.worldmodel && cl.worldmodel->type == mod_brushq3) { + r_refdef.scene.lightmapintensity *= r_refdef.scene.rtlightstylevalue[0]; + } } if (r_showsurfaces.integer) {