diff --git a/examples/14-shadowvolumes/shadowvolumes.cpp b/examples/14-shadowvolumes/shadowvolumes.cpp index c541b3cb4..ddb3623f3 100644 --- a/examples/14-shadowvolumes/shadowvolumes.cpp +++ b/examples/14-shadowvolumes/shadowvolumes.cpp @@ -1868,7 +1868,6 @@ class ExampleShadowVolumes : public entry::AppI { void init(int _argc, char** _argv) BX_OVERRIDE { - Args args(_argc, _argv); m_viewState = ViewState(1280, 720); @@ -2081,7 +2080,7 @@ class ExampleShadowVolumes : public entry::AppI // Respond properly on resize. if (m_oldWidth != m_viewState.m_width - || m_oldHeight != m_viewState.m_height) + || m_oldHeight != m_viewState.m_height) { m_oldWidth = m_viewState.m_width; m_oldHeight = m_viewState.m_height; @@ -2129,15 +2128,16 @@ class ExampleShadowVolumes : public entry::AppI bx::mtxProj(m_viewState.m_proj, fov, aspect, nearPlane, farPlane, s_oglNdc); } - imguiBeginFrame(m_mouseState.m_mx - , m_mouseState.m_my - , (m_mouseState.m_buttons[entry::MouseButton::Left ] ? IMGUI_MBUT_LEFT : 0) - | (m_mouseState.m_buttons[entry::MouseButton::Right ] ? IMGUI_MBUT_RIGHT : 0) - | (m_mouseState.m_buttons[entry::MouseButton::Middle] ? IMGUI_MBUT_MIDDLE : 0) - , m_mouseState.m_mz - , uint16_t(m_viewState.m_width) - , uint16_t(m_viewState.m_height) - ); + imguiBeginFrame( + m_mouseState.m_mx + , m_mouseState.m_my + , (m_mouseState.m_buttons[entry::MouseButton::Left] ? IMGUI_MBUT_LEFT : 0) + | (m_mouseState.m_buttons[entry::MouseButton::Right] ? IMGUI_MBUT_RIGHT : 0) + | (m_mouseState.m_buttons[entry::MouseButton::Middle] ? IMGUI_MBUT_MIDDLE : 0) + , m_mouseState.m_mz + , uint16_t(m_viewState.m_width) + , uint16_t(m_viewState.m_height) + ); ImGui::SetNextWindowPos(ImVec2(m_viewState.m_width - 256.0f, 10.0f) ); ImGui::Begin("Settings" @@ -2163,9 +2163,7 @@ class ExampleShadowVolumes : public entry::AppI } ImGui::SliderInt("Lights", &m_settings_numLights, 1, MAX_LIGHTS_COUNT); - ImGui::Checkbox("Update lights", &m_settings_updateLights); - ImGui::Indent(); if (ImGui::RadioButton("Light pattern 0", LightPattern0 == m_lightPattern) ) @@ -2243,15 +2241,17 @@ class ExampleShadowVolumes : public entry::AppI ImGui::End(); - ImGui::SetNextWindowPos(ImVec2(10, m_viewState.m_height - 77 - 10) ); + ImGui::SetNextWindowPos(ImVec2(10, float(m_viewState.m_height) - 77.0f - 10.0f) ); ImGui::Begin("Show help:" - , NULL - , ImVec2(120.0f, 77.0f) - , ImGuiWindowFlags_AlwaysAutoResize - ); + , NULL + , ImVec2(120.0f, 77.0f) + , ImGuiWindowFlags_AlwaysAutoResize + ); - if ( ImGui::Button(m_settings_showHelp ? "ON" : "OFF") ) + if (ImGui::Button(m_settings_showHelp ? "ON" : "OFF") ) + { m_settings_showHelp = !m_settings_showHelp; + } ImGui::End(); @@ -2537,13 +2537,13 @@ class ExampleShadowVolumes : public entry::AppI // Make sure at the beginning everything gets cleared. bgfx::setViewClear(0 - , BGFX_CLEAR_COLOR - | BGFX_CLEAR_DEPTH - | BGFX_CLEAR_STENCIL - , m_clearValues.m_clearRgba - , m_clearValues.m_clearDepth - , m_clearValues.m_clearStencil - ); + , BGFX_CLEAR_COLOR + | BGFX_CLEAR_DEPTH + | BGFX_CLEAR_STENCIL + , m_clearValues.m_clearRgba + , m_clearValues.m_clearDepth + , m_clearValues.m_clearStencil + ); ::touch(0); @@ -2555,9 +2555,10 @@ class ExampleShadowVolumes : public entry::AppI s_uniforms.m_color[1] = 1.0f; s_uniforms.m_color[2] = 1.0f; - const RenderState& drawAmbient = (m_settings_useStencilTexture ? - s_renderStates[RenderState::ShadowVolume_UsingStencilTexture_DrawAmbient]: - s_renderStates[RenderState::ShadowVolume_UsingStencilBuffer_DrawAmbient]); + const RenderState& drawAmbient = m_settings_useStencilTexture + ? s_renderStates[RenderState::ShadowVolume_UsingStencilTexture_DrawAmbient] + : s_renderStates[RenderState::ShadowVolume_UsingStencilBuffer_DrawAmbient] + ; // Draw shadow casters. for (uint8_t ii = 0; ii < shadowCastersCount[m_currentScene]; ++ii) @@ -2601,7 +2602,7 @@ class ExampleShadowVolumes : public entry::AppI { const float* lightPos = lightPosRadius[ii]; - bx::memCopy(s_uniforms.m_lightPosRadius, lightPosRadius[ii], 4*sizeof(float) ); + bx::memCopy(s_uniforms.m_lightPosRadius, lightPosRadius[ii], 4*sizeof(float) ); bx::memCopy(s_uniforms.m_lightRgbInnerR, m_lightRgbInnerR[ii], 3*sizeof(float) ); bx::memCopy(s_uniforms.m_color, m_lightRgbInnerR[ii], 3*sizeof(float) ); @@ -2610,11 +2611,11 @@ class ExampleShadowVolumes : public entry::AppI bgfx::setViewFrameBuffer(viewId, s_stencilFb); bgfx::setViewClear(viewId - , BGFX_CLEAR_COLOR - , 0x00000000 - , 1.0f - , 0 - ); + , BGFX_CLEAR_COLOR + , 0x00000000 + , 1.0f + , 0 + ); } else { @@ -2622,11 +2623,11 @@ class ExampleShadowVolumes : public entry::AppI bgfx::setViewFrameBuffer(viewId, invalid); bgfx::setViewClear(viewId - , BGFX_CLEAR_STENCIL - , m_clearValues.m_clearRgba - , m_clearValues.m_clearDepth - , m_clearValues.m_clearStencil - ); + , BGFX_CLEAR_STENCIL + , m_clearValues.m_clearRgba + , m_clearValues.m_clearDepth + , m_clearValues.m_clearStencil + ); } // Create near clip volume for current light. @@ -2658,11 +2659,11 @@ class ExampleShadowVolumes : public entry::AppI // Compute virtual light position for shadow volume generation. float transformedLightPos[3]; shadowVolumeLightTransform(transformedLightPos - , instance.m_scale - , instance.m_rotation - , instance.m_pos - , lightPos - ); + , instance.m_scale + , instance.m_rotation + , instance.m_pos + , lightPos + ); // Set virtual light pos. bx::memCopy(s_uniforms.m_virtualLightPos_extrusionDist, transformedLightPos, 3*sizeof(float) ); @@ -2671,16 +2672,16 @@ class ExampleShadowVolumes : public entry::AppI // Compute transform for shadow volume. float shadowVolumeMtx[16]; bx::mtxSRT(shadowVolumeMtx - , instance.m_scale[0] - , instance.m_scale[1] - , instance.m_scale[2] - , instance.m_rotation[0] - , instance.m_rotation[1] - , instance.m_rotation[2] - , instance.m_pos[0] - , instance.m_pos[1] - , instance.m_pos[2] - ); + , instance.m_scale[0] + , instance.m_scale[1] + , instance.m_scale[2] + , instance.m_rotation[0] + , instance.m_rotation[1] + , instance.m_rotation[2] + , instance.m_pos[0] + , instance.m_pos[1] + , instance.m_pos[2] + ); GroupArray& groups = model->m_mesh.m_groups; const uint16_t stride = model->m_mesh.m_decl.getStride(); @@ -2691,14 +2692,14 @@ class ExampleShadowVolumes : public entry::AppI // Create shadow volume. ShadowVolume shadowVolume; shadowVolumeCreate(shadowVolume - , group - , stride - , shadowVolumeMtx - , transformedLightPos - , shadowVolumeImpl - , m_settings_shadowVolumeAlgorithm - , m_settings_useStencilTexture - ); + , group + , stride + , shadowVolumeMtx + , transformedLightPos + , shadowVolumeImpl + , m_settings_shadowVolumeAlgorithm + , m_settings_useStencilTexture + ); m_numShadowVolumeVertices += shadowVolume.m_numVertices; m_numShadowVolumeIndices += shadowVolume.m_numIndices; @@ -2708,21 +2709,21 @@ class ExampleShadowVolumes : public entry::AppI if (m_settings_useStencilTexture) { renderStateIndex = ShadowVolumeImpl::DepthFail == shadowVolumeImpl - ? RenderState::ShadowVolume_UsingStencilTexture_CraftStencil_DepthFail - : RenderState::ShadowVolume_UsingStencilTexture_CraftStencil_DepthPass - ; + ? RenderState::ShadowVolume_UsingStencilTexture_CraftStencil_DepthFail + : RenderState::ShadowVolume_UsingStencilTexture_CraftStencil_DepthPass + ; programIndex = ShadowVolumeAlgorithm::FaceBased == m_settings_shadowVolumeAlgorithm - ? ShadowVolumeProgramType::Tex1 - : ShadowVolumeProgramType::Tex2 - ; + ? ShadowVolumeProgramType::Tex1 + : ShadowVolumeProgramType::Tex2 + ; } else { renderStateIndex = ShadowVolumeImpl::DepthFail == shadowVolumeImpl - ? RenderState::ShadowVolume_UsingStencilBuffer_CraftStencil_DepthFail - : RenderState::ShadowVolume_UsingStencilBuffer_CraftStencil_DepthPass - ; + ? RenderState::ShadowVolume_UsingStencilBuffer_CraftStencil_DepthFail + : RenderState::ShadowVolume_UsingStencilBuffer_CraftStencil_DepthPass + ; } const RenderState& renderStateCraftStencil = s_renderStates[renderStateIndex]; @@ -2786,9 +2787,9 @@ class ExampleShadowVolumes : public entry::AppI s_uniforms.m_params.m_lightingPass = 1.0f; RenderState& drawDiffuse = m_settings_useStencilTexture - ? s_renderStates[RenderState::ShadowVolume_UsingStencilTexture_DrawDiffuse] - : s_renderStates[RenderState::ShadowVolume_UsingStencilBuffer_DrawDiffuse] - ; + ? s_renderStates[RenderState::ShadowVolume_UsingStencilTexture_DrawDiffuse] + : s_renderStates[RenderState::ShadowVolume_UsingStencilBuffer_DrawDiffuse] + ; // If using stencil texture, viewId is set to render target. Incr it to render to default back buffer. viewId += uint8_t(m_settings_useStencilTexture); @@ -2834,13 +2835,15 @@ class ExampleShadowVolumes : public entry::AppI // Reset clear values. setViewClearMask(UINT32_MAX - , BGFX_CLEAR_NONE - , m_clearValues.m_clearRgba - , m_clearValues.m_clearDepth - , m_clearValues.m_clearStencil - ); + , BGFX_CLEAR_NONE + , m_clearValues.m_clearRgba + , m_clearValues.m_clearDepth + , m_clearValues.m_clearStencil + ); + return true; } + return false; }