From 078ca46e6fec3456f667edea29b3c256244319c4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Branimir=20Karad=C5=BEi=C4=87?= Date: Mon, 18 Feb 2019 13:40:41 -0800 Subject: [PATCH] Fixed framebuffer RW example. --- examples/21-deferred/common.sh | 8 +-- examples/21-deferred/deferred.cpp | 61 +++++++++--------- examples/21-deferred/fs_deferred_clear_uav.sc | 4 +- examples/21-deferred/fs_deferred_light.sc | 4 +- examples/21-deferred/fs_deferred_light_ta.sc | 4 +- examples/21-deferred/fs_deferred_light_uav.sc | 12 ++-- .../shaders/dx11/fs_deferred_clear_uav.bin | Bin 294 -> 314 bytes .../shaders/dx11/fs_deferred_combine.bin | Bin 707 -> 731 bytes .../shaders/dx11/fs_deferred_debug.bin | Bin 327 -> 343 bytes .../shaders/dx11/fs_deferred_debug_line.bin | Bin 262 -> 270 bytes .../runtime/shaders/dx11/fs_deferred_geom.bin | Bin 1461 -> 1485 bytes .../shaders/dx11/fs_deferred_light.bin | Bin 1381 -> 1405 bytes .../shaders/dx11/fs_deferred_light_ta.bin | Bin 1425 -> 1445 bytes .../shaders/dx11/fs_deferred_light_uav.bin | Bin 1521 -> 1521 bytes .../shaders/dx11/vs_deferred_combine.bin | Bin 520 -> 528 bytes .../shaders/dx11/vs_deferred_debug.bin | Bin 520 -> 528 bytes .../shaders/dx11/vs_deferred_debug_line.bin | Bin 512 -> 520 bytes .../runtime/shaders/dx11/vs_deferred_geom.bin | Bin 2090 -> 2098 bytes .../shaders/dx11/vs_deferred_light.bin | Bin 520 -> 528 bytes .../shaders/glsl/fs_deferred_clear_uav.bin | Bin 10862 -> 10697 bytes .../shaders/glsl/fs_deferred_combine.bin | Bin 687 -> 691 bytes .../shaders/glsl/fs_deferred_debug.bin | Bin 160 -> 164 bytes .../shaders/glsl/fs_deferred_debug_line.bin | Bin 83 -> 87 bytes .../runtime/shaders/glsl/fs_deferred_geom.bin | Bin 904 -> 908 bytes .../shaders/glsl/fs_deferred_light.bin | Bin 1726 -> 1754 bytes .../shaders/glsl/fs_deferred_light_ta.bin | Bin 1808 -> 1832 bytes .../shaders/glsl/fs_deferred_light_uav.bin | Bin 11539 -> 11377 bytes .../shaders/glsl/vs_deferred_combine.bin | Bin 307 -> 311 bytes .../shaders/glsl/vs_deferred_debug.bin | Bin 307 -> 311 bytes .../shaders/glsl/vs_deferred_debug_line.bin | Bin 295 -> 299 bytes .../runtime/shaders/glsl/vs_deferred_geom.bin | Bin 1593 -> 1597 bytes .../shaders/glsl/vs_deferred_light.bin | Bin 307 -> 311 bytes 32 files changed, 48 insertions(+), 45 deletions(-) diff --git a/examples/21-deferred/common.sh b/examples/21-deferred/common.sh index 4588f6964..fcb93f2c0 100644 --- a/examples/21-deferred/common.sh +++ b/examples/21-deferred/common.sh @@ -47,11 +47,11 @@ vec3 calcLight(vec3 _wpos, vec3 _normal, vec3 _view, vec3 _lightPos, float _ligh float toClipSpaceDepth(float _depthTextureZ) { -#if BGFX_SHADER_LANGUAGE_HLSL || BGFX_SHADER_LANGUAGE_PSSL || BGFX_SHADER_LANGUAGE_METAL - return _depthTextureZ; -#else +#if BGFX_SHADER_LANGUAGE_GLSL return _depthTextureZ * 2.0 - 1.0; -#endif // BGFX_SHADER_LANGUAGE_HLSL || BGFX_SHADER_LANGUAGE_PSSL || BGFX_SHADER_LANGUAGE_METAL +#else + return _depthTextureZ; +#endif // BGFX_SHADER_LANGUAGE_GLSL } vec3 clipToWorld(mat4 _invViewProj, vec3 _clipPos) diff --git a/examples/21-deferred/deferred.cpp b/examples/21-deferred/deferred.cpp index 8f7054746..5727fc8d7 100644 --- a/examples/21-deferred/deferred.cpp +++ b/examples/21-deferred/deferred.cpp @@ -12,11 +12,11 @@ namespace { -#define RENDER_PASS_GEOMETRY_ID 0 -#define RENDER_PASS_LIGHT_ID 1 -#define RENDER_PASS_COMBINE_ID 2 -#define RENDER_PASS_DEBUG_LIGHTS_ID 3 -#define RENDER_PASS_DEBUG_GBUFFER_ID 4 +constexpr bgfx::ViewId kRenderPassGeometry = 0; +constexpr bgfx::ViewId kRenderPassLight = 1; +constexpr bgfx::ViewId kRenderPassCombine = 2; +constexpr bgfx::ViewId kRenderPassDebugLights = 3; +constexpr bgfx::ViewId kRenderPassDebugGBuffer = 4; static float s_texelHalf = 0.0f; @@ -225,7 +225,7 @@ public: bgfx::setPaletteColor(1, UINT32_C(0x303030ff) ); // Set geometry pass view clear state. - bgfx::setViewClear(RENDER_PASS_GEOMETRY_ID + bgfx::setViewClear(kRenderPassGeometry , BGFX_CLEAR_COLOR|BGFX_CLEAR_DEPTH , 1.0f , 0 @@ -233,7 +233,7 @@ public: ); // Set light pass view clear state. - bgfx::setViewClear(RENDER_PASS_LIGHT_ID + bgfx::setViewClear(kRenderPassLight , BGFX_CLEAR_COLOR|BGFX_CLEAR_DEPTH , 1.0f , 0 @@ -561,19 +561,19 @@ public: float vp[16]; float invMvp[16]; { - bgfx::setViewRect(RENDER_PASS_GEOMETRY_ID, 0, 0, uint16_t(m_width), uint16_t(m_height) ); - bgfx::setViewRect(RENDER_PASS_LIGHT_ID, 0, 0, uint16_t(m_width), uint16_t(m_height) ); - bgfx::setViewRect(RENDER_PASS_COMBINE_ID, 0, 0, uint16_t(m_width), uint16_t(m_height) ); - bgfx::setViewRect(RENDER_PASS_DEBUG_LIGHTS_ID, 0, 0, uint16_t(m_width), uint16_t(m_height) ); - bgfx::setViewRect(RENDER_PASS_DEBUG_GBUFFER_ID, 0, 0, uint16_t(m_width), uint16_t(m_height) ); + bgfx::setViewRect(kRenderPassGeometry, 0, 0, uint16_t(m_width), uint16_t(m_height) ); + bgfx::setViewRect(kRenderPassLight, 0, 0, uint16_t(m_width), uint16_t(m_height) ); + bgfx::setViewRect(kRenderPassCombine, 0, 0, uint16_t(m_width), uint16_t(m_height) ); + bgfx::setViewRect(kRenderPassDebugLights, 0, 0, uint16_t(m_width), uint16_t(m_height) ); + bgfx::setViewRect(kRenderPassDebugGBuffer, 0, 0, uint16_t(m_width), uint16_t(m_height) ); - bgfx::setViewFrameBuffer(RENDER_PASS_LIGHT_ID, m_lightBuffer); + bgfx::setViewFrameBuffer(kRenderPassLight, m_lightBuffer); float proj[16]; bx::mtxProj(proj, 60.0f, float(m_width)/float(m_height), 0.1f, 100.0f, m_caps->homogeneousDepth); - bgfx::setViewFrameBuffer(RENDER_PASS_GEOMETRY_ID, m_gbuffer); - bgfx::setViewTransform(RENDER_PASS_GEOMETRY_ID, view, proj); + bgfx::setViewFrameBuffer(kRenderPassGeometry, m_gbuffer); + bgfx::setViewTransform(kRenderPassGeometry, view, proj); bx::mtxMul(vp, view, proj); bx::mtxInverse(invMvp, vp); @@ -581,16 +581,16 @@ public: const bgfx::Caps* caps = bgfx::getCaps(); bx::mtxOrtho(proj, 0.0f, 1.0f, 1.0f, 0.0f, 0.0f, 100.0f, 0.0f, caps->homogeneousDepth); - bgfx::setViewTransform(RENDER_PASS_LIGHT_ID, NULL, proj); - bgfx::setViewTransform(RENDER_PASS_COMBINE_ID, NULL, proj); + bgfx::setViewTransform(kRenderPassLight, NULL, proj); + bgfx::setViewTransform(kRenderPassCombine, NULL, proj); const float aspectRatio = float(m_height)/float(m_width); const float size = 10.0f; bx::mtxOrtho(proj, -size, size, size*aspectRatio, -size*aspectRatio, 0.0f, 1000.0f, 0.0f, caps->homogeneousDepth); - bgfx::setViewTransform(RENDER_PASS_DEBUG_GBUFFER_ID, NULL, proj); + bgfx::setViewTransform(kRenderPassDebugGBuffer, NULL, proj); bx::mtxOrtho(proj, 0.0f, (float)m_width, 0.0f, (float)m_height, 0.0f, 1000.0f, 0.0f, caps->homogeneousDepth); - bgfx::setViewTransform(RENDER_PASS_DEBUG_LIGHTS_ID, NULL, proj); + bgfx::setViewTransform(kRenderPassDebugLights, NULL, proj); } const uint32_t dim = 11; @@ -635,7 +635,7 @@ public: ); // Submit primitive for rendering to view 0. - bgfx::submit(RENDER_PASS_GEOMETRY_ID, m_geomProgram); + bgfx::submit(kRenderPassGeometry, m_geomProgram); } } @@ -647,7 +647,7 @@ public: | BGFX_STATE_WRITE_RGB | BGFX_STATE_WRITE_A ); - bgfx::submit(RENDER_PASS_LIGHT_ID, m_clearUavProgram); + bgfx::submit(kRenderPassLight, m_clearUavProgram); } // Draw lights into light buffer. @@ -744,7 +744,7 @@ public: | BGFX_STATE_PT_LINES | BGFX_STATE_BLEND_ALPHA ); - bgfx::submit(RENDER_PASS_DEBUG_LIGHTS_ID, m_lineProgram); + bgfx::submit(kRenderPassDebugLights, m_lineProgram); } } @@ -771,17 +771,20 @@ public: | BGFX_STATE_BLEND_ADD ); screenSpaceQuad( (float)m_width, (float)m_height, s_texelHalf, m_caps->originBottomLeft); - if (bgfx::isValid(m_lightTaProgram) && m_useTArray) + + if (bgfx::isValid(m_lightTaProgram) + && m_useTArray) { - bgfx::submit(RENDER_PASS_LIGHT_ID, m_lightTaProgram); + bgfx::submit(kRenderPassLight, m_lightTaProgram); } - else if (bgfx::isValid(m_lightUavProgram) && m_useUav) + else if (bgfx::isValid(m_lightUavProgram) + && m_useUav) { - bgfx::submit(RENDER_PASS_LIGHT_ID, m_lightUavProgram); + bgfx::submit(kRenderPassLight, m_lightUavProgram); } else { - bgfx::submit(RENDER_PASS_LIGHT_ID, m_lightProgram); + bgfx::submit(kRenderPassLight, m_lightProgram); } } } @@ -794,7 +797,7 @@ public: | BGFX_STATE_WRITE_A ); screenSpaceQuad( (float)m_width, (float)m_height, s_texelHalf, m_caps->originBottomLeft); - bgfx::submit(RENDER_PASS_COMBINE_ID, m_combineProgram); + bgfx::submit(kRenderPassCombine, m_combineProgram); if (m_showGBuffer) { @@ -815,7 +818,7 @@ public: bgfx::setIndexBuffer(m_ibh, 0, 6); bgfx::setTexture(0, s_texColor, m_gbufferTex[ii]); bgfx::setState(BGFX_STATE_WRITE_RGB); - bgfx::submit(RENDER_PASS_DEBUG_GBUFFER_ID, m_debugProgram); + bgfx::submit(kRenderPassDebugGBuffer, m_debugProgram); } } } diff --git a/examples/21-deferred/fs_deferred_clear_uav.sc b/examples/21-deferred/fs_deferred_clear_uav.sc index 4340099a0..6fd797a03 100644 --- a/examples/21-deferred/fs_deferred_clear_uav.sc +++ b/examples/21-deferred/fs_deferred_clear_uav.sc @@ -8,10 +8,10 @@ $input v_texcoord0 #include "common.sh" #include -IMAGE2D_RW(s_lights, rgba8, 1); +FRAMEBUFFER_IMAGE2D_RW(s_light, rgba8, 0); void main() { ivec2 coord = ivec2(gl_FragCoord.xy); - imageStore(s_lights, coord, vec4(0.0, 0.0, 0.0, 0.0)); + imageStore(s_light, coord, vec4(0.0, 0.0, 0.0, 0.0)); } diff --git a/examples/21-deferred/fs_deferred_light.sc b/examples/21-deferred/fs_deferred_light.sc index 4857c663a..e5e34c37a 100644 --- a/examples/21-deferred/fs_deferred_light.sc +++ b/examples/21-deferred/fs_deferred_light.sc @@ -21,9 +21,9 @@ void main() float depth = toClipSpaceDepth(deviceDepth); vec3 clip = vec3(v_texcoord0 * 2.0 - 1.0, depth); -#if BGFX_SHADER_LANGUAGE_HLSL || BGFX_SHADER_LANGUAGE_PSSL || BGFX_SHADER_LANGUAGE_METAL +#if !BGFX_SHADER_LANGUAGE_GLSL clip.y = -clip.y; -#endif // BGFX_SHADER_LANGUAGE_HLSL || BGFX_SHADER_LANGUAGE_PSSL || BGFX_SHADER_LANGUAGE_METAL +#endif // !BGFX_SHADER_LANGUAGE_GLSL vec3 wpos = clipToWorld(u_mtx, clip); vec3 view = mul(u_view, vec4(wpos, 0.0) ).xyz; diff --git a/examples/21-deferred/fs_deferred_light_ta.sc b/examples/21-deferred/fs_deferred_light_ta.sc index 9313b655a..4fb575401 100644 --- a/examples/21-deferred/fs_deferred_light_ta.sc +++ b/examples/21-deferred/fs_deferred_light_ta.sc @@ -21,9 +21,9 @@ void main() float depth = toClipSpaceDepth(deviceDepth); vec3 clip = vec3(v_texcoord0 * 2.0 - 1.0, depth); -#if BGFX_SHADER_LANGUAGE_HLSL || BGFX_SHADER_LANGUAGE_PSSL || BGFX_SHADER_LANGUAGE_METAL +#if !BGFX_SHADER_LANGUAGE_GLSL clip.y = -clip.y; -#endif // BGFX_SHADER_LANGUAGE_HLSL || BGFX_SHADER_LANGUAGE_PSSL || BGFX_SHADER_LANGUAGE_METAL +#endif // !BGFX_SHADER_LANGUAGE_GLSL vec3 wpos = clipToWorld(u_mtx, clip); vec3 view = mul(u_view, vec4(wpos, 0.0) ).xyz; diff --git a/examples/21-deferred/fs_deferred_light_uav.sc b/examples/21-deferred/fs_deferred_light_uav.sc index 87d43368f..a12872a6a 100644 --- a/examples/21-deferred/fs_deferred_light_uav.sc +++ b/examples/21-deferred/fs_deferred_light_uav.sc @@ -11,7 +11,7 @@ $input v_texcoord0 SAMPLER2D(s_normal, 0); SAMPLER2D(s_depth, 1); -IMAGE2D_RW(s_lights, rgba8, 1); +FRAMEBUFFER_IMAGE2D_RW(s_light, rgba8, 0); uniform vec4 u_lightPosRadius[1]; uniform vec4 u_lightRgbInnerR[1]; @@ -24,17 +24,17 @@ void main() float depth = toClipSpaceDepth(deviceDepth); vec3 clip = vec3(v_texcoord0 * 2.0 - 1.0, depth); -#if BGFX_SHADER_LANGUAGE_HLSL || BGFX_SHADER_LANGUAGE_PSSL || BGFX_SHADER_LANGUAGE_METAL +#if !BGFX_SHADER_LANGUAGE_GLSL clip.y = -clip.y; -#endif // BGFX_SHADER_LANGUAGE_HLSL || BGFX_SHADER_LANGUAGE_PSSL || BGFX_SHADER_LANGUAGE_METAL +#endif // !BGFX_SHADER_LANGUAGE_GLSL vec3 wpos = clipToWorld(u_mtx, clip); vec3 view = mul(u_view, vec4(wpos, 0.0) ).xyz; view = -normalize(view); ivec2 coord = ivec2(gl_FragCoord.xy); - + vec3 lightColor = calcLight(wpos, normal, view, u_lightPosRadius[0].xyz, u_lightPosRadius[0].w, u_lightRgbInnerR[0].xyz, u_lightRgbInnerR[0].w); - vec4 color = imageLoad(s_lights, coord); - imageStore(s_lights, coord, color + vec4(toGamma(lightColor.xyz), 1.0)); + vec4 color = imageLoad(s_light, coord); + imageStore(s_light, coord, color + vec4(toGamma(lightColor.xyz), 1.0)); } diff --git a/examples/runtime/shaders/dx11/fs_deferred_clear_uav.bin b/examples/runtime/shaders/dx11/fs_deferred_clear_uav.bin index 0cdabef5fc6185a301bbc80d08fbc8ab2820d71e..7c52d20afb76bb74efe5c91dcb7198a6113b0456 100644 GIT binary patch delta 103 zcmZ3+w2R5XE!cxCU(U{k0Sr_a85mq5oSb7b_ZdG4WRY9BVbaN;rmqr#!VDle79ec^ j#2r991BgW!C)%_z3QRm~4J7_6iv+uQ8gKx`K^O)A&YTpG delta 84 zcmdnRw2aBdE!cxCU(U{k0Sp8f85mq5oSb9+zma|N;rW?^noXpIq%mNf+005{b6Se>V diff --git a/examples/runtime/shaders/dx11/fs_deferred_combine.bin b/examples/runtime/shaders/dx11/fs_deferred_combine.bin index d1fa77c8ab698fcfbdf4bc681942d02ad3a6394f..81b873d3d4100e7a965e29261eadd4417a7063c6 100644 GIT binary patch delta 103 zcmX@idYhHUE!cxCU(U{k0SG2?$jh!^VqkEIaB?=?dfRMkcm8F|7?o4}D^vs-f$}RR sx-1lOjd%fM2LQQMK%B+Fz&P=9G-vlA28IUbP*H}-{*2{FyyJ|20HeVixc~qF delta 79 zcmcc3dYF~NE!cxKU(U{EB9FZ66eb1+mk1~4wJfb}=2;rTFZZ6G(X^|omyv;iVai00 fg?uhSSAc8>Ah#5VC;pCRSNM&3-(}J(*53(0StZsNtXyG=YaRQQVf&X=6uLFSF_VnD2Wj${$ry0Tp`y8 T8z3_Pi1~pyi-Uo2;w2LR{>T$h delta 65 zcmeBUYGYD&3-(}L(*53(f#C}S1A|M1lk>8Ajz?4X#xJ&yj_3>F?@VU|ihr4?J(tfV Q$O6c80AfBMo_Nay0IYlx?*IS* diff --git a/examples/runtime/shaders/dx11/fs_deferred_geom.bin b/examples/runtime/shaders/dx11/fs_deferred_geom.bin index c6e5ac9999ebefba14d08e89983b2780e050365f..f3779ffc28f0f64e3fe4372aa4e505c63558e656 100644 GIT binary patch delta 107 zcmdnWeU_WYE!cz2^2EGH3_viE!&J6~m4U$}!pZrLN_mCHYS-y8;Uex?ZaW?^0_9sa zMtL#{xkkvaFfarF`RqW!EDi?7$r~AGb9NtMU}$g-6=j(0%aqRr=NWC@$Ml^E06U-^ A0ssI2 delta 83 zcmX@hy_K88E!czA^2EGH6M0N!3s@N#Tq2yDUllP=vC5q>Ax2B9*j8ZwaYhCPhJuZ8 mo{W4hK^!a$3=Tj(6HsvSPR7}coRedj@|ie4ZNA3zoe2OE#TV89 diff --git a/examples/runtime/shaders/dx11/fs_deferred_light.bin b/examples/runtime/shaders/dx11/fs_deferred_light.bin index e6ccaeca96145cda96594a4bb220b9be06b34e53..2636b4d01b825d832f89fcccb9682b026eff34d7 100644 GIT binary patch delta 109 zcmaFL^_PpsE!cxCU(U{k0SG2?M9K-UGBCJAI60?J3w*8j&{gHYE{US&td08_f${>Z z6YCcUxkd!AFfarF`658UEDi?7$-0c6xw;QAFf=%aiZTdoR$}sFMDU9?7cqZk1OOgm B96JC2 delta 85 zcmey%^^}XlE!cxKU(U{EB2T2;9~K4%mk1~4JJ*gW+U7@OYMBcL1v5O=Vq{=o_`@=> kc>$kGkPT3c1CY-T6r60z_?e0G(`F+kKSmJU#r&BO05+i*RsaA1 diff --git a/examples/runtime/shaders/dx11/fs_deferred_light_ta.bin b/examples/runtime/shaders/dx11/fs_deferred_light_ta.bin index fc51f342422cd21802d19e95bb915ef8f21ab68c..0d4d5af596a17835675cd6833eab324761a35665 100644 GIT binary patch delta 94 zcmbQpy_9=Gs;mVo1A|M1lXH31eB1xpXM<<{TPDh#)7HSqz`$TJv1y@@YeWSL1496i sD+d(I;$UE$Y{>YTtNRcGLxXduD1*>uHKsB~u5KnK2)}6aJm$}g01(C*y#N3J delta 74 zcmZ3=J&}7ts;mkt1A|M1lXGkZ>#XoMTFktA?<}08Ki`s(fq_9~V$(uCm!K3D1_lQp aR}v^T*_81!6X&PRMoeXlAbJz?XGQ=J1{E9t diff --git a/examples/runtime/shaders/dx11/fs_deferred_light_uav.bin b/examples/runtime/shaders/dx11/fs_deferred_light_uav.bin index 6991d11202bff365ed4ac5752796d04726c4dcb8..9b9892a1fae5f38fe183cb2e764ca4342dffc32d 100644 GIT binary patch delta 57 zcmey!{gHb@Es00jARb~cO*{H5`^`6;P6VVSAr0Y&*)EI=6+h6juc3@#B)&YKtf t*GTX?Zl+R}WZHK#<||N`;lV`PgF>zm3_x}OkZ=GBWpOYtPUd0!0|4AD8Djtd delta 64 zcmbQh(!s(K7VN<~kwZrI4kH7DON5g%cUIB5t`A3dg(@FUKYILSGfs00jARb~cO*{H5`^`6;P6VVSAr0Y&*)EI=6+h6juc3@#B)&YKtf t*GTX?Zl+R}WZHK#<||N`;lV`PgF>zm3_x}OkZ=GBWpOYtPUd0!0|4AD8Djtd delta 64 zcmbQh(!s(K7VN<~kwZrI4kH7DON5g%cUIB5t`A3dg(@FUKYILSGf0ogT3-(}R0D>jm?>!kA_)Ft+^HWlD!ZK6K1B&vqSb#Dt3^y1V7+fNpoFyFs tJyJgS%gvjjcie)7{|iu<;l@PUokFe=3_x}OkZ=GBWpOYtPG({J0|4@%7@hzC delta 64 zcmeBRX<%Uq3-(~0$RQ(pg^_{5CBn(sX!hN$E4M3sI3H)CQ}m&o0VvFHWuoIwK9`_B QK&Aswz#d3X=3)E;0EmGTHUIzs diff --git a/examples/runtime/shaders/dx11/vs_deferred_geom.bin b/examples/runtime/shaders/dx11/vs_deferred_geom.bin index 8f0f9a6b85821355dca49792e29680390ab0983d..5a82b7f05c16ea473a7bf02ac3ae0b0dd0c43d6f 100644 GIT binary patch delta 74 zcmZ1_ut|U;EZBpM0SG3t7|Fh1XJBxNaB_aMLaQR{!^!3Ok;k9U4F2TJ2$X-ZF?b@Q akZXhmP;~$UBSRlhFpGnMaq}le3pM~%-4&<+ delta 66 zcmdlauu6a>EZBo}B8QRe6Ltm$mk1~4HN4#skHr73ao0F~bY+HoBqIX@!;_8S6B+qj Wf=t*L7#tWF8G3<&n}0D{umJ$Hwi8JJ diff --git a/examples/runtime/shaders/dx11/vs_deferred_light.bin b/examples/runtime/shaders/dx11/vs_deferred_light.bin index 8df2a6c91d2e27e1fa33c7d492c2cde7aebc6c6f..c9e2fc315377543397aef5041eba8d681ba3f0eb 100644 GIT binary patch delta 96 zcmeBRnZV*07VN>s00jARb~cO*{H5`^`6;P6VVSAr0Y&*)EI=6+h6juc3@#B)&YKtf t*GTX?Zl+R}WZHK#<||N`;lV`PgF>zm3_x}OkZ=GBWpOYtPUd0!0|4AD8Djtd delta 64 zcmbQh(!s(K7VN<~kwZrI4kH7DON5g%cUIB5t`A3dg(@FUKYILSGfk&8lcd`@P1M#Z{4PYmE!cxCU(U{k0SuzGHVQ0hg=&SO z)RNMoJcz7De1#53*jk~M3#8l_ENqNdlQC2iibfN#MiYoe5p33N4rW;*zxk)K6YFG0 RO-aV$$x)gfKys0$IsjKFLF@nk diff --git a/examples/runtime/shaders/glsl/fs_deferred_combine.bin b/examples/runtime/shaders/glsl/fs_deferred_combine.bin index 1307504d09e7cb47cbb5a677e01ee83f64121c95..886f2d088b591db4d612c473c154aceb02cd8cde 100644 GIT binary patch delta 21 bcmZ3_x|x;7E!cxCU(U{k0SGp7EN21$Iq(F@ delta 17 YcmdnYx}KH8E!cxKU(U{EBhPXs04ys6$N&HU diff --git a/examples/runtime/shaders/glsl/fs_deferred_debug.bin b/examples/runtime/shaders/glsl/fs_deferred_debug.bin index 2d87b63a218978587a074ab71165dda677e4bfab..26a480b17dee73b3f7487f6581aae52f01844851 100644 GIT binary patch delta 20 acmZ3$xP+0%E!cxCU(U{k0SG2?%m4r}?gVlG delta 16 XcmZ3&xPXzvE!cxKU(U{EBF_u}B*Fx7 diff --git a/examples/runtime/shaders/glsl/fs_deferred_debug_line.bin b/examples/runtime/shaders/glsl/fs_deferred_debug_line.bin index 9d60f87204d380327e116f601a9ec8e3bb35e64f..357d409cbc0af6f0bed2b5e5191ceff35dcebbe0 100644 GIT binary patch delta 18 YcmWFz=Wz@6U|Z7t-je|cCUSTK05UoR=>Px# delta 14 VcmWF!=5P!4U|rJv-g6?4Hvl2}1n2+& diff --git a/examples/runtime/shaders/glsl/fs_deferred_geom.bin b/examples/runtime/shaders/glsl/fs_deferred_geom.bin index 2036d69c95a358d6482695c906ede1cd834ac12e..43c37cad9fda48157219a07ef173bfa8e5511e0c 100644 GIT binary patch delta 21 bcmeBR?_uY03-(~MJTdPP0}yQFXkZ2aLNf)^ delta 17 YcmeBS?_lR}3-(~OJTdRlMxF*{057fu(f|Me diff --git a/examples/runtime/shaders/glsl/fs_deferred_light.bin b/examples/runtime/shaders/glsl/fs_deferred_light.bin index abacd365731ab4d7ae7a85b31054d6786539273c..fd669aa59167595f5d82cae255dfe0b7f117a7af 100644 GIT binary patch delta 175 zcmdnTdyALHE!cxCU(U{k0SG2?q%kIM%%94nl9rR7SfUW0lbN1T;+dD1S`=??&82`U zFgbx)MzSn5*;t_@x1cPsDBc331je2$%WOEgiP>DhLI*CUsi~l^Fj ZK{6VKdIk!*XqNnAc3`yFY|m291ORVfHPHY7 delta 132 zcmcb`yN{Q{E!cxKU(U{EB2OBl_r~I>Op;}($;JvLxdmm3Me*j=TncdZau2gDx48~N=@n*0NvOQ0g1&-=p`L+)E?kEcivy$i=4h6BCIDva BCWin3 diff --git a/examples/runtime/shaders/glsl/fs_deferred_light_ta.bin b/examples/runtime/shaders/glsl/fs_deferred_light_ta.bin index d67f0098fd0d9ad3f20caaef4901bf3ce5942606..57a8f69ff83d778f8cf42401c26760bfcdb8bded 100644 GIT binary patch delta 152 zcmbQhw}Nj%5#z><#rK$0(sJ?>OBCXBGSf3kJoEBWi{dS;xfDHi{F;r7QUqQoA&p<&J&1_#52S&@yeJo8( E0LZ#BY5)KL delta 127 zcmZ3%H-T?L5#!8_#rK#b%Tkk#6-sgo$`Xs>Ev&f|;Oxn(m<>f!Q_@on;w?eqP^N;d y!sI|U5ytY#7nz;8Ep!m-o delta 236 zcmewuF*!=WE!cxCU(U{k0RnV43PiKimzJd_8!3Rv_~L?`#1f6t%)AnX_zF#hYK5ZI zlG36)h^$6@g$_vATA`K;q}&)RY>ZcvF;o+ZMia0`6Np9;Y}RcKW?3S?`KNLvtCXff zXBrS9-0X}n1 AHUIzs diff --git a/examples/runtime/shaders/glsl/vs_deferred_combine.bin b/examples/runtime/shaders/glsl/vs_deferred_combine.bin index 16256a7f9e6243625b71792c41520bc4d6fc9b99..1f587f25a6f37a11d264cfa5cb9dc0119ddc9709 100644 GIT binary patch delta 17 XcmdnYw4I3~EZBpM0SGp-=raNUB_9J* delta 13 Ucmdnaw3&$|EZBo}BZodC02@*RQUCw| diff --git a/examples/runtime/shaders/glsl/vs_deferred_debug.bin b/examples/runtime/shaders/glsl/vs_deferred_debug.bin index 16256a7f9e6243625b71792c41520bc4d6fc9b99..1f587f25a6f37a11d264cfa5cb9dc0119ddc9709 100644 GIT binary patch delta 17 XcmdnYw4I3~EZBpM0SGp-=raNUB_9J* delta 13 Ucmdnaw3&$|EZBo}BZodC02@*RQUCw| diff --git a/examples/runtime/shaders/glsl/vs_deferred_debug_line.bin b/examples/runtime/shaders/glsl/vs_deferred_debug_line.bin index 150f27f526496253ce3a36683b730ab3b1364d5d..1e6f1decf0f9c18ef7b13dc183cd6863eaa7e3b2 100644 GIT binary patch delta 17 XcmZ3^w3>+{EZBpM0SGp-C^G^8BZmVo delta 13 UcmZ3@w48}0EZBo}BZo3002&$tE&u=k diff --git a/examples/runtime/shaders/glsl/vs_deferred_geom.bin b/examples/runtime/shaders/glsl/vs_deferred_geom.bin index c0b72c63d3ebb3f5db13e15329a236715de6a625..086b2d91680111c23a5d36a01fe5cbd5fbd49729 100644 GIT binary patch delta 17 XcmdnVvzLb>EZBpM0SGp-n6d!?CmaKQ delta 13 UcmdnXvy+D