diff --git a/main.cpp b/main.cpp index d68826f..1c09a91 100644 --- a/main.cpp +++ b/main.cpp @@ -67,6 +67,7 @@ public: grbl::program_renderer renderer; glm::vec3 cam_target = glm::vec3(0); + glm::vec3 cam_pan = glm::vec3(0); float cam_zoom = 0; glm::quat cam_src_rotation = glm::quat(1.0, 0.0, 0.0, 0.0); // identity quaternion @@ -128,10 +129,9 @@ public: perform_layout(); - m_render_pass = new RenderPass({this}); + m_render_pass = new RenderPass({this}, nullptr, nullptr, nullptr, true); m_render_pass->set_clear_color(0, Color(0.13f, 0.13f, 0.13f, 1.f)); - m_render_pass->set_clear_depth(0.0); - m_render_pass->set_depth_test(RenderPass::DepthTest::Always, true); + m_render_pass->set_depth_test(RenderPass::DepthTest::Greater, true); m_render_pass->set_cull_mode(RenderPass::CullMode::Disabled); } @@ -955,8 +955,8 @@ public: } } else if (is_panning) { -// cam_src.x += (float) rel.x() / 10.0f; -// cam_src.y += (float) rel.y() / 10.0f; + cam_pan.x += (float) rel.x() / 10.0f; + cam_pan.y -= (float) rel.y() / 10.0f; } return true; } @@ -1007,10 +1007,11 @@ public: glm::mat4 view = glm::translate(glm::mat4(1.0f), glm::vec3(0, 0, -cam_zoom)) * glm::toMat4(cam_src_rotation) * - glm::translate(glm::mat4(1.0f), -cam_target); + glm::translate(glm::mat4(1.0f), cam_pan - cam_target); glm::mat4 model = glm::mat4(1.0f); glm::mat3 normal_mat = glm::inverseTranspose(glm::mat3(view * model)); + renderer.render(model, view, projection, normal_mat, glm::vec2(fb_size.x(), fb_size.y())); }