From 5c6b31c024b60ae9c43dc48c04128de99d147f5a Mon Sep 17 00:00:00 2001 From: Juan Linietsky Date: Thu, 30 Apr 2015 11:34:24 -0300 Subject: [PATCH] -fixed broken lighting in release version of godot for isometric light demo, fixes #1697 --- demos/2d/isometric_light/character_shder.res | Bin 1150 -> 1152 bytes demos/2d/isometric_light/cubio.scn | Bin 6927 -> 7003 bytes demos/2d/isometric_light/floor_shader.res | Bin 1026 -> 1027 bytes demos/2d/isometric_light/map.scn | Bin 8535 -> 8634 bytes demos/2d/isometric_light/tileset.res | Bin 2775 -> 2781 bytes demos/2d/isometric_light/wall_shader.res | Bin 1684 -> 1687 bytes drivers/gles2/rasterizer_gles2.cpp | 2 ++ servers/visual/visual_server_raster.cpp | 4 ++++ 8 files changed, 6 insertions(+) diff --git a/demos/2d/isometric_light/character_shder.res b/demos/2d/isometric_light/character_shder.res index ca221f766c888d64be77bcdff6b23ba5764a4ab9..17cd9ad2870f58dfd89fba63dea4ae84a011e1eb 100644 GIT binary patch delta 243 zcmeyz(ZH!16zuHG00IIG3=V7z3>hp842%p64U7zo3TzI{4h#&!3M>(>>Ice z1X(ik(&KX-tQiC!Fo<)+7bF%X=ISTsH*8>FQjlQaQefuF$xlwqvC`K!U{F}_j6q64 zRG~{jm@zp+!H6MQ;VDymafU)RgPwvY6T@3p1vv!;Tbr5!7a5?B&Aq@0@{R`bNd(XLs_8@jpaF8>|rvRQAI`04g delta 220 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 F{|||sFdP5? delta 3980 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 Lo^`(5C;0yX(#8=! diff --git a/demos/2d/isometric_light/floor_shader.res b/demos/2d/isometric_light/floor_shader.res index 446c71d2271b49c6a0eabdd4f8b7f0fb6f1aeeb2..c078d27b97a505cc63578d43e62931860dfd6cbd 100644 GIT binary patch delta 235 zcmZqTXy#B23U+p800998hMTMm46m6P7#JBC8W$qNKDal|fX2TcLj9GG!B2 z2Wtfe25|-E1x746`T0fh4Rs893PMZ_xvUD(Kp8;==7)?148aK-6RI4X7^D(k{MFWX>=L1qV5UJO}_)Z#>%o diff --git a/demos/2d/isometric_light/map.scn b/demos/2d/isometric_light/map.scn index c939a4b392c02a53e4e3d5620ab3a021b7843f98..c1d11f8e4cd7892fd658cc3f309dfbd7210bbbcd 100644 GIT binary patch delta 4252 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 delta 178 zcmcaBdR9D&(?lLE5drc`{cbbz(HDQ*-Fz zF{Y?v(MyPS=@JXOu*cobU8YV7U3v%A=Ouhj0%w6lv6Ro_-A5p<1BX6<0S*HrpHKxb zNc=dqayUd&j&26|R;_$9*hA_fgbhk_+1iFeVfab)tycHj zyLQ$5Oy}BMD)n7fs>^0Zo!)8IJRZ-6Jr>6j70jqugiedRZdGKRvPv4xNGL3#`j>?maU`IaMsnj*ds~ z^cJ-(lGKs*L3BpB)|4wH(4omcM(ju8CI3Hp>i*<6enoC>QY?4mwm$q;vI%$AXNa{P y^Y_sPPd*j;2$S}uCh%)eAZeImZ&O;&__wewzIj^u?MuM!13f&b#Zocu9O}s5$(ov!jC=@gmGWJQCQ3-3GQh4*EQ{T~=(9lGaY4 zU_5y6C=oo1o)G!eu9j~;dCtIfDdM)~f$xxq;ZrhcX?Ce0H8AM5qe5mhr zcfGo}r&Il9qPIysVBYthGSpFlnW){(TiWk-1qqh>rd_^_@Q0v zOxB*;@@dc;yH%{O!Aiv7{*XmSXhX~0y&hqP^fxvKPv4B^3^5Bv`cVBnOb%Xslight_mask&light->item_mask && p_z>=light->z_min && p_z<=light->z_max && ci->global_rect_cache.intersects_transformed(light->xform_cache,light->rect_cache)) { //intersects this light @@ -9489,6 +9490,7 @@ void RasterizerGLES2::canvas_render_items(CanvasItem *p_item_list,int p_z,const } + bool has_shadow = light->shadow_buffer.is_valid() && ci->light_mask&light->item_shadow_mask; canvas_shader.set_conditional(CanvasShaderGLES2::USE_SHADOWS,has_shadow); diff --git a/servers/visual/visual_server_raster.cpp b/servers/visual/visual_server_raster.cpp index 64ddc125139..6556f8bc425 100644 --- a/servers/visual/visual_server_raster.cpp +++ b/servers/visual/visual_server_raster.cpp @@ -7047,17 +7047,20 @@ void VisualServerRaster::_draw_viewport(Viewport *p_viewport,int p_ofs_x, int p_ for(Set::Element *F=E->get().canvas->lights.front();F;F=F->next()) { + Rasterizer::CanvasLight* cl=F->get(); if (cl->enabled && cl->texture.is_valid()) { //not super efficient.. Size2 tsize(rasterizer->texture_get_width(cl->texture),rasterizer->texture_get_height(cl->texture)); tsize*=cl->scale; + Vector2 offset=tsize/2.0; cl->rect_cache=Rect2(-offset+cl->texture_offset,tsize); cl->xform_cache=xf * cl->xform; if (clip_rect.intersects_transformed(cl->xform_cache,cl->rect_cache)) { + cl->filter_next_ptr=lights; lights=cl; cl->texture_cache=NULL; @@ -7067,6 +7070,7 @@ void VisualServerRaster::_draw_viewport(Viewport *p_viewport,int p_ofs_x, int p_ cl->light_shader_xform = (cl->xform_cache * scale).affine_inverse(); cl->light_shader_pos=cl->xform_cache[2]; if (cl->shadow_buffer.is_valid()) { + cl->shadows_next_ptr=lights_with_shadow; if (lights_with_shadow==NULL) { shadow_rect = cl->xform_cache.xform(cl->rect_cache);