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);
}
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
if (!visiblevolumes)
R_Shadow_Stage_End();
+ qglEnable(GL_CULL_FACE);
qglDisable(GL_SCISSOR_TEST);
}
}
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)
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");
R_MeshQueue_Render();
R_MeshQueue_EndScene();
- if (r_shadow_realtime.integer == 2)
+ if (r_shadow_realtime.integer >= 2)
{
R_ShadowVolumeLighting(true);
R_TimeReport("shadowvolume");
// 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;