Przeglądaj źródła

Fix depth prepass in GLES2, closes #23321

Juan Linietsky 6 lat temu
rodzic
commit
5b5db08a51
1 zmienionych plików z 6 dodań i 0 usunięć
  1. 6 0
      drivers/gles2/rasterizer_scene_gles2.cpp

+ 6 - 0
drivers/gles2/rasterizer_scene_gles2.cpp

@@ -994,6 +994,12 @@ void RasterizerSceneGLES2::_add_geometry_with_material(RasterizerStorageGLES2::G
 		e->depth_layer = e->instance->depth_layer;
 		e->priority = p_material->render_priority;
 
+		if (has_alpha && p_material->shader->spatial.depth_draw_mode == RasterizerStorageGLES2::Shader::Spatial::DEPTH_DRAW_ALPHA_PREPASS) {
+			//add element to opaque
+			RenderList::Element *eo = render_list.add_element();
+			*eo = *e;
+		}
+
 		int rpsize = e->instance->reflection_probe_instances.size();
 		if (rpsize > 0) {
 			bool first = true;