From fb4cfd473c102d11488180f43f79a7cfa3aa7bb7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Branimir=20Karad=C5=BEi=C4=87?= Date: Thu, 20 Sep 2018 22:48:07 -0700 Subject: [PATCH] Cleanup. --- examples/38-bloom/bloom.cpp | 38 ++++++++---------- examples/38-bloom/fs_upsample.sc | 26 ++++++------ examples/runtime/shaders/essl/fs_upsample.bin | Bin 1522 -> 1593 bytes examples/runtime/shaders/glsl/fs_upsample.bin | Bin 1445 -> 1510 bytes .../runtime/shaders/metal/fs_upsample.bin | Bin 2137 -> 2201 bytes 5 files changed, 29 insertions(+), 35 deletions(-) diff --git a/examples/38-bloom/bloom.cpp b/examples/38-bloom/bloom.cpp index d5a0336e0..804587d4e 100644 --- a/examples/38-bloom/bloom.cpp +++ b/examples/38-bloom/bloom.cpp @@ -264,7 +264,6 @@ public: for (int ii = 0; ii < TEX_CHAIN_LEN; ++ii) { m_texChainFb[ii] = BGFX_INVALID_HANDLE; - m_texChainTex[ii] = BGFX_INVALID_HANDLE; } // Imgui. @@ -402,21 +401,18 @@ public: const float dim = float(1 << ii); - m_texChainTex[ii] = bgfx::createTexture2D( + m_texChainFb[ii] = bgfx::createFrameBuffer( (uint16_t)(m_width / dim) , (uint16_t)(m_height / dim) - , false - , 1 , bgfx::TextureFormat::RGBA32F , tsFlags ); - m_texChainFb[ii] = bgfx::createFrameBuffer(1, &m_texChainTex[ii], true); } bgfx::TextureHandle gbufferTex[] = { bgfx::createTexture2D(uint16_t(m_width), uint16_t(m_height), false, 1, bgfx::TextureFormat::RGBA32F, tsFlags), - m_texChainTex[0], + bgfx::getTexture(m_texChainFb[0]), bgfx::createTexture2D(uint16_t(m_width), uint16_t(m_height), false, 1, bgfx::TextureFormat::D24S8, tsFlags), }; @@ -424,17 +420,17 @@ public: } ImGui::SetNextWindowPos( - ImVec2(m_width - m_width / 5.0f - 10.0f, 10.0f) + ImVec2(m_width - m_width / 5.0f - 10.0f, 10.0f) , ImGuiCond_FirstUseEver - ); + ); ImGui::SetNextWindowSize( - ImVec2(m_width / 5.0f, m_height / 6.0f) + ImVec2(m_width / 5.0f, m_height / 6.0f) , ImGuiCond_FirstUseEver - ); + ); ImGui::Begin("Settings" , NULL , 0 - ); + ); ImGui::SliderFloat("intensity", &m_intensity, 0.0f, 3.0f); @@ -497,12 +493,12 @@ public: const uint32_t kNum = 9; const int kNumColors = 5; const float color[4*kNumColors] = - { - 0.0f, 1.0f, 0.0f, 1.0f, - 1.0f, 0.0f, 0.0f, 1.0f, - 0.0f, 0.0f, 1.0f, 1.0f, - 1.0f, 0.0f, 1.0f, 1.0f, - 0.0f, 1.0f, 1.0f, 1.0f, + { // Palette: http://www.colourlovers.com/palette/3647908/RGB_Ice_Cream + 0.847f*0.2f, 0.365f*0.2f, 0.408f*0.2f, 1.0f, + 0.976f*0.2f, 0.827f*0.2f, 0.533f*0.2f, 1.0f, + 0.533f*0.2f, 0.867f*0.2f, 0.741f*0.2f, 1.0f, + 0.894f*0.2f, 0.620f*0.2f, 0.416f*0.2f, 1.0f, + 0.584f*0.2f, 0.788f*0.2f, 0.882f*0.2f, 1.0f, }; // Render a whole bunch of colored cubes to the g-buffer. @@ -554,7 +550,7 @@ public: }; bgfx::setUniform(u_pixelSize, pixelSize); - bgfx::setTexture(0, s_tex, m_texChainTex[ii]); + bgfx::setTexture(0, s_tex, bgfx::getTexture(m_texChainFb[ii]) ); bgfx::setState(0 | BGFX_STATE_WRITE_RGB @@ -583,7 +579,7 @@ public: bgfx::setUniform(u_intensity, intensity); // Combine color and light buffers. - bgfx::setTexture(0, s_tex, m_texChainTex[TEX_CHAIN_LEN - 1 - ii]); + bgfx::setTexture(0, s_tex, bgfx::getTexture(m_texChainFb[TEX_CHAIN_LEN - 1 - ii]) ); // As we upscale, we also sum with the previous mip level. We do this by alpha blending. bgfx::setState(0 @@ -598,7 +594,7 @@ public: // Do final pass, that combines the bloom with the g-buffer. bgfx::setTexture(0, s_albedo, bgfx::getTexture(m_gbuffer, 0) ); - bgfx::setTexture(1, s_light, m_texChainTex[0]); + bgfx::setTexture(1, s_light, bgfx::getTexture(m_texChainFb[0]) ); bgfx::setState(0 | BGFX_STATE_WRITE_RGB | BGFX_STATE_WRITE_A @@ -639,9 +635,7 @@ public: bgfx::ProgramHandle m_combineProgram; bgfx::FrameBufferHandle m_gbuffer; - bgfx::FrameBufferHandle m_texChainFb[TEX_CHAIN_LEN]; - bgfx::TextureHandle m_texChainTex[TEX_CHAIN_LEN]; uint32_t m_width; uint32_t m_height; diff --git a/examples/38-bloom/fs_upsample.sc b/examples/38-bloom/fs_upsample.sc index 20237dfac..54ac70a61 100644 --- a/examples/38-bloom/fs_upsample.sc +++ b/examples/38-bloom/fs_upsample.sc @@ -14,22 +14,22 @@ uniform vec4 u_intensity; void main() { - vec2 halfpixel = 1.0 * vec2(u_pixelSize.x, u_pixelSize.y); - vec2 uv = v_texcoord0.xy; + vec2 halfpixel = u_pixelSize.xy; + vec2 uv = v_texcoord0.xy; - vec4 sum = vec4(0.0, 0.0, 0.0, 0.0); + vec4 sum = vec4_splat(0.0); - sum += (2.0 / 16.0) * texture2D(s_tex, uv + vec2(-halfpixel.x , 0.0)); - sum += (2.0 / 16.0) * texture2D(s_tex, uv + vec2(0.0, halfpixel.y)); - sum += (2.0 / 16.0) * texture2D(s_tex, uv + vec2(halfpixel.x , 0.0)); - sum += (2.0 / 16.0) * texture2D(s_tex, uv + vec2(0.0, -halfpixel.y)); + sum += (2.0 / 16.0) * texture2D(s_tex, uv + vec2(-halfpixel.x, 0.0) ); + sum += (2.0 / 16.0) * texture2D(s_tex, uv + vec2( 0.0, halfpixel.y) ); + sum += (2.0 / 16.0) * texture2D(s_tex, uv + vec2( halfpixel.x, 0.0) ); + sum += (2.0 / 16.0) * texture2D(s_tex, uv + vec2( 0.0, -halfpixel.y) ); - sum += (1.0 / 16.0) * texture2D(s_tex, uv + vec2(-halfpixel.x, -halfpixel.y)); - sum += (1.0 / 16.0) * texture2D(s_tex, uv + vec2(-halfpixel.x, halfpixel.y)); - sum += (1.0 / 16.0) * texture2D(s_tex, uv + vec2(halfpixel.x, -halfpixel.y)); - sum += (1.0 / 16.0) * texture2D(s_tex, uv + vec2(halfpixel.x, halfpixel.y)); + sum += (1.0 / 16.0) * texture2D(s_tex, uv + vec2(-halfpixel.x, -halfpixel.y) ); + sum += (1.0 / 16.0) * texture2D(s_tex, uv + vec2(-halfpixel.x, halfpixel.y) ); + sum += (1.0 / 16.0) * texture2D(s_tex, uv + vec2( halfpixel.x, -halfpixel.y) ); + sum += (1.0 / 16.0) * texture2D(s_tex, uv + vec2( halfpixel.x, halfpixel.y) ); - sum += (4.0 / 16.0) * texture2D(s_tex, uv); + sum += (4.0 / 16.0) * texture2D(s_tex, uv); - gl_FragColor.xyzw = u_intensity.x * sum; + gl_FragColor = u_intensity.x * sum; } diff --git a/examples/runtime/shaders/essl/fs_upsample.bin b/examples/runtime/shaders/essl/fs_upsample.bin index 37f454f9a51d872d9c40f5beb59b8e53a9cb1eac..01c22c33a0c9e38178757948f5c6a2312d852bbc 100644 GIT binary patch delta 82 zcmeywy_08x72~gs))mZ?Sy@~rKV|WlJekFe(PZ)&7Rkw6OwyD8u~-6Sg!l~&t+^Bw kN^%Rz5{u#u4JYqqk!CcUe3K;s*Q diff --git a/examples/runtime/shaders/glsl/fs_upsample.bin b/examples/runtime/shaders/glsl/fs_upsample.bin index 6195fc97a396e814b9d852dcbc81db4f39299a7a..dfb1acc2fad535c0a1cfb3f1bb253c549da2e4d2 100644 GIT binary patch delta 92 zcmZ3={fv8p731=a*5=HUcQElxzQAlWc?OHeWFHoT$uF6CCU>#$O}@=2J^3Gt#$;J0 u_Q?-exIpUo4Gpci6ckEw3(69U;tdTa7qCb(8cyzE2?df_%ubV4SQ`PM;T;zM delta 79 zcmaFHy_9=`6=T{)YjftwTbZo{bQMbD3o8$ktI3OCS diff --git a/examples/runtime/shaders/metal/fs_upsample.bin b/examples/runtime/shaders/metal/fs_upsample.bin index ae10db847528f9cab0858819c6deeafe30b0f7e6..69cf6e3467b4039800becff1fefde22d5734f99d 100644 GIT binary patch delta 90 zcmca9FjH`X9%I@@eRI~yw^&^!|7MY#{Ep3Yaub_5qsinwY?71HnWcduAwXF^VM9X& rTLlAaE(L{>+=8;iqIg5Y$!po984V}DXHf;J@&dAASz{+pV?PW4XbT#;j9>Q27SE{Z03`Hvhgz- YOn%Rz3RL3-WW8mV1+ttb-(Wuo0Qe&n