From 04f291feb5a3fabaec09fb848d920137eb78f110 Mon Sep 17 00:00:00 2001 From: Juan Linietsky Date: Mon, 2 Mar 2015 00:54:10 -0300 Subject: [PATCH] support for 2D shadow casters Added support for 2D shadow casters. *DANGER* Shaders in CanvasItem CHANGED, if you are using shader in a CanvasItem and pull this, you will lose them. Shaders now work through a 2D material system similar to 3D. If you don't want to lose the 2D shader code, save the shader as a .shd, then create a material in CanvasItem and re-assign the shader. --- 3d/kinematic_char/cubelib.res | Bin 11431 -> 11530 bytes 3d/kinematic_char/level.scn | Bin 15323 -> 15556 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/3d/kinematic_char/cubelib.res b/3d/kinematic_char/cubelib.res index 66b999d78d62d4e697f875f7eaea4891f5f4f928..27f2b9b3bdfd34b0fba38f6b600cd8735c7205f4 100644 GIT binary patch delta 2201 zcmY*bdu&tJ8UL=Y9lw$~!3oZT#K(4=2YJUKkLKZHCk`P`;w0n=_I2Vo1{)`~^MXN4 z6CjXw0WM>(P9j<-F~+1#v!-gQ+IrnOtwSx7Hi=gIgPS7u$6BqEx|L2D`*s79s$J=v zdydZiKI!-PzH{%4ULG?#2U=TU_elka4FP;52e=>uaH{|^lL3^9tHwg6{%YrfNhd&7 z+GHreg~Qyk%O7z?!afh|A=yc@T$l?+D#+T^56vqJQvZ^7$`$)aH6QW1xWMcT2m8pl zAkQK(Nhs`cuQHG$sPxj=kpE=Vpk_~bAzMhwOPcaWCb{s`)&%4VNx5`Ev9#=LH$jdcNY%NQ{P&ws*EP5X^sn zDq~AS-eyE-Nn5G%*|2xP?_Gqp|L_S(#`I1d_;m|EP~A0^_gQ86*JD`O@G ztoFYqbggG&I`Pc0SV%7d5H)}x1tCM@_=pbJ3T@U;vyQcs#5uf;QMn z!A7F-gtUm|RQ~2=>uw$SnwMqPx!nx`2oO1CiHd<4qGn^xkDG`}1l0d=lgOStVT#Ei z=B^Nt$|arLs#|1PVAWJ3R-agm0;pr!SR=TJ4~~-%-=XMZ68!fRl`@+NV2gjCu;tQ? zm`Dqj($R)(Yg3b>S@VJvs%&(-E6lw3AL==w6_q8v&*oW)MBln5gYRiM$B9}mdYc32r*o(ewlAXJ5ymNd5M3=kJZAOcXrl`c z*BrraixYK@vM#JQHe*$8EtaNbS7J#{1)6n5DAc_v)LG+Sr{pk6+jaK^la=4AnbxWX z4vb-EML*h#51PgetZC8~zouDaWlv0xXh}R-JIlyye-unCzmmRTkTjX?Cl(!QC@Il* zZUQmMA*VnCd(G-rxnSB61Bx>~XJq#00hziVt-OTa5TIi9McE}-o>z@E#s+LKw_u~$ zhP0^tIr!d+Axs{$jN@>P3r7!dI6_$cWK$4N(0L5EpTULBbGY2ShOzz)TtC9&`rtLx zUmUoC=bcw@V!P0K*u5cE7VR~vDRt?o0#j$!1a?QsLi!kR#@S9hepuPPm zoHpN6^CP*J|Ci)1x%b(QFG&0sd0I)T@t$PBGB)|vA?@SmOz{uNZ(e*CzikLG%D<_0 z`Lm&ePc!|bC;9));IxdP*BZd3t`%JFS;JF(m+`FgRXjKJ8oo00ZQQdqB5Hf&DqbA9 zhU=r(abx0!Xo>IQrswJJc(z|ONU!ZP zSTi-ks^N9|2Ap=^fvDI+!{n!NPr;ZhWo+jgZy)17C^4H|o5Bg7qCu?cdQ%I&yxXj( zTGn8)VuMlaf-ShD^eOL>!DbY6+XrP%YF65{+EU49)>(>+b)^ Fe*t#z^}_%F delta 2039 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 V