From 889af211fe7ae980587af079ec3ac63b9841ae71 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Branimir=20Karad=C5=BEi=C4=87?= Date: Mon, 1 Sep 2014 13:24:30 -0700 Subject: [PATCH] Updated MRT examples to use MRT clear API. --- examples/19-oit/oit.cpp | 30 ++++++++++++++++++++++-------- examples/21-deferred/deferred.cpp | 19 +++++++++++++------ 2 files changed, 35 insertions(+), 14 deletions(-) diff --git a/examples/19-oit/oit.cpp b/examples/19-oit/oit.cpp index ed1a03fd..cc05fbb8 100644 --- a/examples/19-oit/oit.cpp +++ b/examples/19-oit/oit.cpp @@ -143,10 +143,6 @@ void screenSpaceQuad(float _textureWidth, float _textureHeight, bool _originBott int _main_(int /*_argc*/, char** /*_argv*/) { - // Create vertex stream declaration. - PosColorVertex::init(); - PosColorTexCoord0Vertex::init(); - uint32_t width = 1280; uint32_t height = 720; uint32_t debug = BGFX_DEBUG_TEXT; @@ -155,6 +151,10 @@ int _main_(int /*_argc*/, char** /*_argv*/) bgfx::init(); bgfx::reset(width, height, reset); + // Create vertex stream declaration. + PosColorVertex::init(); + PosColorTexCoord0Vertex::init(); + // Enable debug text. bgfx::setDebug(debug); @@ -306,11 +306,25 @@ int _main_(int /*_argc*/, char** /*_argv*/) bgfx::setViewTransform(0, view, proj); - bgfx::setViewClearMask(0x3 + // Set clear color palette for index 0 + bgfx::setClearColor(0, 0.0f, 0.0f, 0.0f, 0.0f); + + // Set clear color palette for index 1 + bgfx::setClearColor(1, 1.0f, 1.0f, 1.0f, 1.0f); + + bgfx::setViewClear(0 , BGFX_CLEAR_COLOR_BIT|BGFX_CLEAR_DEPTH_BIT - , 0x00000000 - , 1.0f - , 0 + , 1.0f // Depth + , 0 // Stencil + , 0 // FB texture 0, color palette 0 + , 1 == mode ? 1 : 0 // FB texture 1, color palette 1 + ); + + bgfx::setViewClear(1 + , BGFX_CLEAR_COLOR_BIT|BGFX_CLEAR_DEPTH_BIT + , 1.0f // Depth + , 0 // Stencil + , 0 // Color palette 0 ); bgfx::FrameBufferHandle invalid = BGFX_INVALID_HANDLE; diff --git a/examples/21-deferred/deferred.cpp b/examples/21-deferred/deferred.cpp index dbaf3c83..64e54ce0 100644 --- a/examples/21-deferred/deferred.cpp +++ b/examples/21-deferred/deferred.cpp @@ -232,19 +232,26 @@ int _main_(int /*_argc*/, char** /*_argv*/) // Enable debug text. bgfx::setDebug(debug); - // Set view 0 clear state. + // Set clear color palette for index 0 + bgfx::setClearColor(0, UINT32_C(0x00000000) ); + + // Set clear color palette for index 1 + bgfx::setClearColor(1, UINT32_C(0x303030ff) ); + + // Set geometry pass view clear state. bgfx::setViewClear(RENDER_PASS_GEOMETRY_ID , BGFX_CLEAR_COLOR_BIT|BGFX_CLEAR_DEPTH_BIT - , 0x303030ff , 1.0f , 0 + , 1 ); + // Set light pass view clear state. bgfx::setViewClear(RENDER_PASS_LIGHT_ID , BGFX_CLEAR_COLOR_BIT|BGFX_CLEAR_DEPTH_BIT - , 0 , 1.0f , 0 + , 0 ); // Create vertex stream declaration. @@ -439,7 +446,7 @@ int _main_(int /*_argc*/, char** /*_argv*/) // Setup views float vp[16]; - float invvp[16]; + float invMvp[16]; { bgfx::setViewRectMask(0 | RENDER_PASS_GEOMETRY_BIT @@ -459,7 +466,7 @@ int _main_(int /*_argc*/, char** /*_argv*/) bgfx::setViewTransform(RENDER_PASS_GEOMETRY_ID, view, proj); bx::mtxMul(vp, view, proj); - bx::mtxInverse(invvp, vp); + bx::mtxInverse(invMvp, vp); bx::mtxOrtho(proj, 0.0f, 1.0f, 1.0f, 0.0f, 0.0f, 100.0f); bgfx::setViewTransformMask(0 @@ -644,7 +651,7 @@ int _main_(int /*_argc*/, char** /*_argv*/) // Draw light. bgfx::setUniform(u_lightPosRadius, &lightPosRadius); bgfx::setUniform(u_lightRgbInnerR, lightRgbInnerR); - bgfx::setUniform(u_mtx, invvp); + bgfx::setUniform(u_mtx, invMvp); const uint16_t scissorHeight = uint16_t(y1-y0); bgfx::setScissor(uint16_t(x0), height-scissorHeight-uint16_t(y0), uint16_t(x1-x0), scissorHeight); bgfx::setTexture(0, s_normal, gbuffer, 1);