/* ================ R_RenderScene r_refdef must be set before the first call ================ */ void R_RenderScene (void) { R_SetupFrame (); R_SetFrustum (); R_SetupGL (); R_MarkLeaves (); // done here so we know if we're in water R_DrawWorld (); // adds static entities to the list S_ExtraUpdate (); // don't let sound get messed up if going slow R_DrawEntitiesOnList (); GL_DisableMultitexture(); R_RenderDlights (); R_DrawParticles (); #ifdef GLTEST Test_Draw (); #endif }
/* ================ R_RenderScene r_refdef must be set before the first call ================ */ void R_RenderScene (void) { R_SetupFrame (); R_SetFrustum (); R_SetupGL (); R_MarkLeaves (); // done here so we know if we're in water /* Experimenting with lighting. glEnable(GL_LIGHTING); glShadeModel(GL_SMOOTH); glEnable(GL_LIGHT0); glEnable(GL_COLOR_MATERIAL); GLfloat specular[4] = {1, 1, 1, 1}; glMaterialfv(GL_FRONT_AND_BACK, GL_SPECULAR, specular); int li = 0; for (; li < 8; li += 1) { if (cl_dlights[li].die >= cl.time && cl_dlights[li].radius) { GLfloat pos[4] = { cl_dlights[li].origin[0], cl_dlights[li].origin[1], cl_dlights[li].origin[2], 1.0}; glLightfv(GL_LIGHT0+li, GL_POSITION, pos); glLightf(GL_LIGHT0+li, GL_CONSTANT_ATTENUATION, 0.1); glEnable(GL_LIGHT0+li); } else { break; } } */ R_DrawWorld (); // adds static entities to the list S_ExtraUpdate (); // don't let sound get messed up if going slow /*for (li -=1; li >= 0; li -= 1) { glDisable(GL_LIGHT0+li); } glDisable(GL_LIGHTING);*/ R_DrawEntitiesOnList (); GL_DisableMultitexture(); R_RenderDlights (); R_DrawParticles (); #ifdef GLTEST Test_Draw (); #endif }