2222
2323
2424Sandbox2D::Sandbox2D ()
25- :Layer(" Sandbox2D" ), m_CameraController(90 .0f , 1600 .0f , 900 .0f , 10 . 0f , 1000 .0f ), m_SquareColor({ 0 .2f , 0 .3f , 0 .8f , 1 .0f })
25+ :Layer(" Sandbox2D" ), m_CameraController(60 .0f , 1600 .0f , 900 .0f , 0 . 1f , 1000 .0f ), m_SquareColor({ 0 .2f , 0 .3f , 0 .8f , 1 .0f })
2626{
2727
2828}
@@ -32,7 +32,7 @@ void Sandbox2D::OnAttach()
3232 LUX_PROFILE_FUNCTION (" Sandbox2D::OnAttach" );
3333
3434 m_CommandBuffer = Lux::RenderCommandBuffer::Create (0 , " Sandbox2D" );
35- // m_CheckerboardTexture = Lux::TextureImporter::LoadTexture2D("assets/textures/Checkerboard.png");
35+ m_CheckerboardTexture = Lux::TextureImporter::LoadTexture2D (" assets/textures/Checkerboard.png" );
3636}
3737
3838void Sandbox2D::OnDetach ()
@@ -51,14 +51,14 @@ void Sandbox2D::OnUpdate(Lux::Timestep ts)
5151 Lux::Renderer2D::ResetStats ();
5252
5353 auto & swapchain = Lux::Application::Get ().GetWindow ().GetSwapChain ();
54- Lux::Ref<Lux::SwapChainFramebuffer > framebuffer = Lux::SwapChainFramebuffer::Create (&swapchain);
54+ Lux::Ref<Lux::Framebuffer > framebuffer = Lux::SwapChainFramebuffer::Create (&swapchain);
5555
56- // Submit clear and 2D draws via render command buffer
5756 m_CommandBuffer->Begin ();
5857
5958 Lux::Renderer::Submit ([cmd = m_CommandBuffer, fb = framebuffer]()
6059 {
61- nvrhi::utils::ClearColorAttachment (cmd->GetActive (), fb->GetHandle (), 0 , nvrhi::Color (0 .1f , 0 .1f , 0 .1f , 1 .0f ));
60+ nvrhi::utils::ClearColorAttachment (cmd->GetActive (), fb->GetHandle (), 0 ,
61+ nvrhi::Color (0 .1f , 0 .1f , 0 .1f , 1 .0f ));
6262 });
6363
6464 {
@@ -68,9 +68,10 @@ void Sandbox2D::OnUpdate(Lux::Timestep ts)
6868 LUX_PROFILE_SCOPE (" Renderer Draw" );
6969
7070 Lux::Ref<Lux::Texture2D> bgTexture = m_CheckerboardTexture ? m_CheckerboardTexture : Lux::Renderer::GetWhiteTexture ();
71- Lux::Renderer2D::BeginScene (m_CommandBuffer, &swapchain, m_CameraController);
72- // Lux::Renderer2D::DrawQuad({ 0.0f, 0.0f, -0.1f }, { 20.0f, 20.0f }, bgTexture, 10.0f);
73- Lux::Renderer2D::DrawRotatedQuad ({ 1 .0f , 0 .0f }, { 0 .8f , 0 .8f }, rotation, { 0 .8f , 0 .2f , 0 .3f , 1 .0f });
71+ // Put geometry well inside the frustum to avoid any near-plane clipping ambiguity
72+ Lux::Renderer2D::BeginScene (m_CommandBuffer, framebuffer, m_CameraController);
73+ Lux::Renderer2D::DrawQuad ({ 0 .0f , 0 .0f , -5 .0f }, { 20 .0f , 20 .0f }, bgTexture, 10 .0f );
74+ // Lux::Renderer2D::DrawRotatedQuad({ 1.0f, 0.0f, -5.0f }, { 0.8f, 0.8f }, rotation, { 0.8f, 0.2f, 0.3f, 1.0f });
7475 Lux::Renderer2D::EndScene ();
7576 }
7677
0 commit comments