@@ -977,7 +977,7 @@ void RasterizerSceneGLES3::_update_sky_radiance(RID p_env, const Projection &p_p
977
977
glBindFramebuffer (GL_FRAMEBUFFER, sky->radiance_framebuffer );
978
978
979
979
scene_state.reset_gl_state ();
980
- scene_state.set_gl_cull_mode (GLES3::SceneShaderData::CULL_DISABLED );
980
+ scene_state.set_gl_cull_mode (RS::CULL_MODE_DISABLED );
981
981
scene_state.enable_gl_blend (false );
982
982
983
983
for (int i = 0 ; i < 6 ; i++) {
@@ -1000,7 +1000,7 @@ void RasterizerSceneGLES3::_update_sky_radiance(RID p_env, const Projection &p_p
1000
1000
} else {
1001
1001
if (sky_mode == RS::SKY_MODE_INCREMENTAL && sky->processing_layer < max_processing_layer) {
1002
1002
scene_state.reset_gl_state ();
1003
- scene_state.set_gl_cull_mode (GLES3::SceneShaderData::CULL_DISABLED );
1003
+ scene_state.set_gl_cull_mode (RS::CULL_MODE_DISABLED );
1004
1004
scene_state.enable_gl_blend (false );
1005
1005
1006
1006
cubemap_filter->filter_radiance (sky->raw_radiance , sky->radiance , sky->radiance_framebuffer , sky->radiance_size , sky->mipmap_count , sky->processing_layer );
@@ -1433,6 +1433,10 @@ void RasterizerSceneGLES3::_fill_render_list(RenderListType p_render_list, const
1433
1433
if (surf->flags & GeometryInstanceSurface::FLAG_PASS_SHADOW) {
1434
1434
rl->add_element (surf);
1435
1435
}
1436
+ } else if (p_pass_mode == PASS_MODE_MATERIAL) {
1437
+ if (surf->flags & (GeometryInstanceSurface::FLAG_PASS_DEPTH | GeometryInstanceSurface::FLAG_PASS_OPAQUE | GeometryInstanceSurface::FLAG_PASS_ALPHA)) {
1438
+ rl->add_element (surf);
1439
+ }
1436
1440
} else {
1437
1441
if (surf->flags & (GeometryInstanceSurface::FLAG_PASS_DEPTH | GeometryInstanceSurface::FLAG_PASS_OPAQUE)) {
1438
1442
rl->add_element (surf);
@@ -2210,7 +2214,7 @@ void RasterizerSceneGLES3::_render_shadow_pass(RID p_light, RID p_shadow_atlas,
2210
2214
scene_state.enable_gl_depth_test (false );
2211
2215
scene_state.enable_gl_depth_draw (true );
2212
2216
glDisable (GL_CULL_FACE);
2213
- scene_state.cull_mode = GLES3::SceneShaderData::CULL_DISABLED ;
2217
+ scene_state.cull_mode = RS::CULL_MODE_DISABLED ;
2214
2218
glBindFramebuffer (GL_FRAMEBUFFER, GLES3::TextureStorage::system_fbo);
2215
2219
}
2216
2220
@@ -2587,7 +2591,7 @@ void RasterizerSceneGLES3::render_scene(const Ref<RenderSceneBuffers> &p_render_
2587
2591
scene_state.enable_gl_depth_draw (false );
2588
2592
scene_state.enable_gl_depth_test (false );
2589
2593
scene_state.enable_gl_blend (false );
2590
- scene_state.set_gl_cull_mode (GLES3::SceneShaderData::CULL_BACK );
2594
+ scene_state.set_gl_cull_mode (RS::CULL_MODE_BACK );
2591
2595
2592
2596
Ref<CameraFeed> feed = CameraServer::get_singleton ()->get_feed_by_id (camera_feed_id);
2593
2597
@@ -2615,7 +2619,7 @@ void RasterizerSceneGLES3::render_scene(const Ref<RenderSceneBuffers> &p_render_
2615
2619
2616
2620
scene_state.enable_gl_depth_test (true );
2617
2621
scene_state.enable_gl_blend (false );
2618
- scene_state.set_gl_cull_mode (GLES3::SceneShaderData::CULL_BACK );
2622
+ scene_state.set_gl_cull_mode (RS::CULL_MODE_BACK );
2619
2623
2620
2624
Transform3D transform = render_data.cam_transform ;
2621
2625
Projection projection = render_data.cam_projection ;
@@ -3099,19 +3103,19 @@ void RasterizerSceneGLES3::_render_list_template(RenderListParameters *p_params,
3099
3103
}
3100
3104
3101
3105
// Find cull variant.
3102
- GLES3::SceneShaderData::Cull cull_mode = shader->cull_mode ;
3106
+ RS::CullMode cull_mode = shader->cull_mode ;
3103
3107
3104
3108
if (p_pass_mode == PASS_MODE_MATERIAL || (surf->flags & GeometryInstanceSurface::FLAG_USES_DOUBLE_SIDED_SHADOWS)) {
3105
- cull_mode = GLES3::SceneShaderData::CULL_DISABLED ;
3109
+ cull_mode = RS::CULL_MODE_DISABLED ;
3106
3110
} else {
3107
3111
bool mirror = inst->mirror ;
3108
3112
if (p_params->reverse_cull ) {
3109
3113
mirror = !mirror;
3110
3114
}
3111
- if (cull_mode == GLES3::SceneShaderData::CULL_FRONT && mirror) {
3112
- cull_mode = GLES3::SceneShaderData::CULL_BACK ;
3113
- } else if (cull_mode == GLES3::SceneShaderData::CULL_BACK && mirror) {
3114
- cull_mode = GLES3::SceneShaderData::CULL_FRONT ;
3115
+ if (cull_mode == RS::CULL_MODE_FRONT && mirror) {
3116
+ cull_mode = RS::CULL_MODE_BACK ;
3117
+ } else if (cull_mode == RS::CULL_MODE_BACK && mirror) {
3118
+ cull_mode = RS::CULL_MODE_FRONT ;
3115
3119
}
3116
3120
}
3117
3121
@@ -3832,7 +3836,7 @@ void RasterizerSceneGLES3::_render_buffers_debug_draw(Ref<RenderSceneBuffersGLES
3832
3836
glActiveTexture (GL_TEXTURE0);
3833
3837
scene_state.enable_gl_depth_draw (true );
3834
3838
glDepthFunc (GL_ALWAYS);
3835
- scene_state.set_gl_cull_mode (GLES3::SceneShaderData::CULL_DISABLED );
3839
+ scene_state.set_gl_cull_mode (RS::CULL_MODE_DISABLED );
3836
3840
3837
3841
// Loop through quadrants and copy shadows over.
3838
3842
for (int quadrant = 0 ; quadrant < 4 ; quadrant++) {
0 commit comments