]> de.git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - gl_rmain.c
r_shadows is now ignored when in r_shadow_realtime mode
[xonotic/darkplaces.git] / gl_rmain.c
index fe186d79b67fd36bba3114638f82e9b55258cb59..490568bb07b0d2b6dcc35b5310e62a2c457b683d 100644 (file)
@@ -228,7 +228,7 @@ void GL_Main_Init(void)
        Cvar_RegisterVariable (&r_dynamic);
        Cvar_RegisterVariable (&r_fullbright);
        Cvar_RegisterVariable (&r_textureunits);
-       if (gamemode == GAME_NEHAHRA)
+       if (gamemode == GAME_NEHAHRA || gamemode == GAME_NEXIUZ)
                Cvar_SetValue("r_fullbrights", 0);
        R_RegisterModule("GL_Main", gl_main_start, gl_main_shutdown, gl_main_newmap);
 }
@@ -824,7 +824,10 @@ void R_ShadowVolumeLighting (int visiblevolumes)
                memset(&m, 0, sizeof(m));
                m.blendfunc1 = GL_ONE;
                m.blendfunc2 = GL_ONE;
+               if (r_shadow_realtime.integer >= 3)
+                       m.depthdisable = true;
                R_Mesh_State(&m);
+               qglDisable(GL_CULL_FACE);
                GL_Color(0.0 * r_colorscale, 0.0125 * r_colorscale, 0.1 * r_colorscale, 1);
        }
        else
@@ -1066,6 +1069,7 @@ void R_ShadowVolumeLighting (int visiblevolumes)
 
        if (!visiblevolumes)
                R_Shadow_Stage_End();
+       qglEnable(GL_CULL_FACE);
        qglDisable(GL_SCISSOR_TEST);
 }
 
@@ -1177,7 +1181,7 @@ void R_RenderView (void)
                }
                else if (!gl_stencil)
                {
-                       Con_Printf("Stencil not enabled, turning off r_shadow_realtime, please type vid_stencil 1;vid_restart and try again\n");
+                       Con_Printf("Stencil not enabled, turning off r_shadow_realtime, please type vid_stencil 1;vid_bitsperpixel 32;vid_restart and try again\n");
                        Cvar_SetValueQuick(&r_shadow_realtime, 0);
                }
                else if (!gl_combine.integer)
@@ -1239,7 +1243,7 @@ void R_RenderView (void)
        R_DrawModels(r_shadow_lightingmode > 0);
        R_TimeReport("models");
 
-       if (r_shadows.integer == 1)
+       if (r_shadows.integer == 1 && r_shadow_lightingmode <= 0)
        {
                R_DrawFakeShadows();
                R_TimeReport("fakeshadow");
@@ -1271,7 +1275,7 @@ void R_RenderView (void)
 
        R_MeshQueue_Render();
        R_MeshQueue_EndScene();
-       if (r_shadow_realtime.integer == 2)
+       if (r_shadow_realtime.integer >= 2)
        {
                R_ShadowVolumeLighting(true);
                R_TimeReport("shadowvolume");
@@ -1396,7 +1400,7 @@ void R_DrawNoModel(entity_render_t *ent)
        //      R_DrawNoModelCallback(ent, 0);
 }
 
-void R_CalcBeamVerts (float *vert, vec3_t org1, vec3_t org2, float width)
+void R_CalcBeamVerts (float *vert, const vec3_t org1, const vec3_t org2, float width)
 {
        vec3_t right1, right2, diff, normal;