diff options
author | Rémi Verschelde <rverschelde@gmail.com> | 2019-10-07 08:57:44 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-10-07 08:57:44 +0200 |
commit | 234289de2b10b76d368650a144a35c040a196ee0 (patch) | |
tree | ea02048b6d0ffa34bc1730d0b835c6a5da26cf41 | |
parent | f84bf7e8a8b8ea3804b91ec6dfffcd005b9b36c5 (diff) | |
parent | 77939c6e2e2a54fbd4d74c14f35afbeae1863884 (diff) |
Merge pull request #32613 from clayjohn/GLES2-canvas-bg-mode
Add canvas background mode to GLES2
-rw-r--r-- | drivers/gles2/rasterizer_scene_gles2.cpp | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/drivers/gles2/rasterizer_scene_gles2.cpp b/drivers/gles2/rasterizer_scene_gles2.cpp index 5ed3a5f6c5..088ce3d198 100644 --- a/drivers/gles2/rasterizer_scene_gles2.cpp +++ b/drivers/gles2/rasterizer_scene_gles2.cpp @@ -3297,6 +3297,12 @@ void RasterizerSceneGLES2::render_scene(const Transform &p_cam_transform, const reflection_probe_count = 0; } + if (env && env->bg_mode == VS::ENV_BG_CANVAS) { + // If using canvas background, copy 2d to screen copy texture + // TODO: When GLES2 renders to current_rt->mip_maps[], this copy will no longer be needed + _copy_texture_to_buffer(storage->frame.current_rt->color, storage->frame.current_rt->copy_screen_effect.fbo); + } + // render list stuff render_list.clear(); @@ -3433,8 +3439,11 @@ void RasterizerSceneGLES2::render_scene(const Transform &p_cam_transform, const clear_color = Color(0.0, 1.0, 0.0, 1.0); } } break; + case VS::ENV_BG_CANVAS: { + // use screen copy as background + _copy_texture_to_buffer(storage->frame.current_rt->copy_screen_effect.color, current_fb); + } break; default: { - // FIXME: implement other background modes } break; } } |