From 52e2f4606f1df7ff84187b8fbc0977ac4e97599d Mon Sep 17 00:00:00 2001 From: Juan Linietsky Date: Fri, 24 Apr 2015 23:46:42 -0300 Subject: [PATCH] -Objects with BlendMode!=MIX do not get affected by CanvasModulate, fixes #1724 --- demos/2d/isometric_light/torch.scn | Bin 4262 -> 4416 bytes demos/2d/isometric_light/torch_shader.res | Bin 741 -> 746 bytes drivers/gles2/rasterizer_gles2.cpp | 2 +- 3 files changed, 1 insertion(+), 1 deletion(-) diff --git a/demos/2d/isometric_light/torch.scn b/demos/2d/isometric_light/torch.scn index d1cb7fe7e6396a66cbf129c12e31360f09f6e6fe..3f08b33311764e611c28e0d1f5adf21c77772f5c 100644 GIT binary patch delta 2596 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 diff --git a/demos/2d/isometric_light/torch_shader.res b/demos/2d/isometric_light/torch_shader.res index ad70d5260de0b0e7ee2c5f8a56d8a8f1f12e81ea..31a35de1da6c391e975bad8e34d02bf2c9314f3b 100644 GIT binary patch delta 171 zcmaFL`ifOGDA?JV0R#jX7=l?C7%nj}FfcMOG%zwSDzG^)J1{T^E3iyd_7@RRuy5c> z5M;^BOOMZWux1c{z#u-cMU}B>;woih4+m=n28Y-NBi54qqU4PDhDHWG1tBJe=gbQ7 z3JeT_3d|1~jTwRywj@+JI59{m$TurwF5JQgu-p7e+~=`ED9_R!VU~h U8yut^bsoz&GY16+IfGmX09>RfQvd(} delta 166 zcmaFG`jk~UDA?JV0R#jX82nin7|t>=FfcMOG%zwSHn1fyFbFHKPE_?55>T*j;9}A* z%}d~5N?{Oxz#u%aLzS^^;yPs$7YAzv28Y-NBi54qqU4PDgc8OgJp~~qhR4hb@(K(L zf(pzJ8TA>06E-ANIXE#$Dabhd+|0tbpHcOkQ?&y#gM`9ur+*F%3@i#P2e_R!I7mC{ PJeF~04hjx(200D@ziube diff --git a/drivers/gles2/rasterizer_gles2.cpp b/drivers/gles2/rasterizer_gles2.cpp index 0598d9222c..759d20aab1 100644 --- a/drivers/gles2/rasterizer_gles2.cpp +++ b/drivers/gles2/rasterizer_gles2.cpp @@ -9376,7 +9376,7 @@ void RasterizerGLES2::canvas_render_items(CanvasItem *p_item_list,int p_z,const _canvas_item_setup_shader_uniforms(material,shader_cache); } - bool unshaded = material && material->shading_mode==VS::CANVAS_ITEM_SHADING_UNSHADED; + bool unshaded = (material && material->shading_mode==VS::CANVAS_ITEM_SHADING_UNSHADED) || ci->blend_mode!=VS::MATERIAL_BLEND_MODE_MIX; if (unshaded) { canvas_shader.set_uniform(CanvasShaderGLES2::MODULATE,Color(1,1,1,1));