void gr_opengl_shadow_map_start(matrix4 *shadow_view_matrix, const matrix *light_orient) { if ( !Cmdline_shadow_quality ) return; GL_state.PushFramebufferState(); GL_state.BindFrameBuffer(shadow_fbo); //glDrawBuffer(GL_COLOR_ATTACHMENT0); GLenum buffers[] = { GL_COLOR_ATTACHMENT0}; glDrawBuffers(1, buffers); glClearColor(0.0f, 0.0f, 0.0f, 1.0f); glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); gr_set_lighting(false,false); Rendering_to_shadow_map = true; Glowpoint_override_save = Glowpoint_override; Glowpoint_override = true; gr_htl_projection_matrix_set = true; gr_set_view_matrix(&Eye_position, light_orient); *shadow_view_matrix = gr_view_matrix; int size = (Cmdline_shadow_quality == 2 ? 1024 : 512); glViewport(0, 0, size, size); }
void gr_opengl_clear_states() { GL_state.Texture.DisableAll(); gr_zbias(0); gr_zbuffer_set(ZBUFFER_TYPE_READ); gr_set_cull(0); gr_set_fill_mode(GR_FILL_MODE_SOLID); gr_reset_lighting(); gr_set_lighting(false, false); opengl_shader_set_current(); }
void gr_opengl_clear_states() { if ( GL_version >= 30 ) { glBindVertexArray(GL_vao); } gr_zbias(0); gr_zbuffer_set(ZBUFFER_TYPE_READ); gr_set_cull(0); gr_set_fill_mode(GR_FILL_MODE_SOLID); gr_reset_lighting(); gr_set_lighting(false, false); opengl_shader_set_current(); }