aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Hickling2018-03-26 14:12:23 +0100
committerHein-Pieter van Braam2018-04-28 17:53:53 +0200
commit71885e5ae44ba4155b7716fecee82f39ea65c673 (patch)
treeab9458e2b35b930961b235142d9c12d8305bde3a
parent038c4d3a83c2d3ed00765823a6cc7fcca9b297f4 (diff)
downloadgodot-71885e5ae44ba4155b7716fecee82f39ea65c673.tar.gz
godot-71885e5ae44ba4155b7716fecee82f39ea65c673.tar.zst
godot-71885e5ae44ba4155b7716fecee82f39ea65c673.zip
multiply blend mode fix for spatial materials
(cherry picked from commit 314a41951105bc6c37c570e5a9664d28a40ce985)
-rw-r--r--drivers/gles3/rasterizer_scene_gles3.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/gles3/rasterizer_scene_gles3.cpp b/drivers/gles3/rasterizer_scene_gles3.cpp
index 02d851288..5b6b3d44f 100644
--- a/drivers/gles3/rasterizer_scene_gles3.cpp
+++ b/drivers/gles3/rasterizer_scene_gles3.cpp
@@ -2085,9 +2085,9 @@ void RasterizerSceneGLES3::_render_list(RenderList::Element **p_elements, int p_
case RasterizerStorageGLES3::Shader::Spatial::BLEND_MODE_MUL: {
glBlendEquation(GL_FUNC_ADD);
if (storage->frame.current_rt && storage->frame.current_rt->flags[RasterizerStorage::RENDER_TARGET_TRANSPARENT]) {
- glBlendFuncSeparate(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, GL_ONE, GL_ONE_MINUS_SRC_ALPHA);
+ glBlendFuncSeparate(GL_DST_COLOR, GL_ZERO, GL_DST_ALPHA, GL_ZERO);
} else {
- glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
+ glBlendFuncSeparate(GL_DST_COLOR, GL_ZERO, GL_ZERO, GL_ONE);
}
} break;