@@ -256,7 +256,7 @@ int main()
256256 auto progressBar = loading.get <tgui::ProgressBar>(" progressBar" );
257257
258258 auto viewportWindow = editor.get <tgui::ChildWindow>(" viewport" );
259- auto viewport = tgui::CanvasOpenGL3::create ({ viewportWindow-> getSize (). x , viewportWindow-> getSize (). y - 28 });
259+ auto viewport = tgui::CanvasOpenGL3::create ({ " 100% " , " 100% " });
260260
261261 viewportWindow->add (viewport);
262262
@@ -568,7 +568,7 @@ int main()
568568 Renderer::GetInstance ()->SetSSRRayStep (properties[" renderer" ][" ssrRayStep" ].asFloat ());
569569 Renderer::GetInstance ()->SetSSRMaxSteps (properties[" renderer" ][" ssrMaxSteps" ].asInt ());
570570 Renderer::GetInstance ()->SetSSRMaxBinarySearchSteps (properties[" renderer" ][" ssrMaxBinarySearchSteps" ].asInt ());
571- Renderer::GetInstance ()->Init ({ (uint32_t )viewportWindow ->getSize ().x , (uint32_t )viewportWindow ->getSize ().y - 28 },
571+ Renderer::GetInstance ()->Init ({ (uint32_t )viewport ->getSize ().x , (uint32_t )viewport ->getSize ().y },
572572 properties[" renderer" ][" hdriPath" ].asString (),
573573 properties[" renderer" ][" skyboxSideSize" ].asInt (),
574574 properties[" renderer" ][" irradianceSideSize" ].asInt (),
@@ -584,8 +584,8 @@ int main()
584584 engine.GetWindow ().display ();
585585
586586 Camera cam (&engine.GetWindow ());
587- cam.SetViewportSize ({ (uint32_t )viewportWindow ->getSize ().x , (uint32_t )viewportWindow ->getSize ().y - 28 });
588- cam.SetGuiSize ({ (uint32_t )viewportWindow ->getSize ().x , (uint32_t )viewportWindow ->getSize ().y - 28 });
587+ cam.SetViewportSize ({ (uint32_t )viewport ->getSize ().x , (uint32_t )viewport ->getSize ().y });
588+ cam.SetGuiSize ({ (uint32_t )viewport ->getSize ().x , (uint32_t )viewport ->getSize ().y });
589589
590590 Light* shadowSource = new Light ({ 0 , 0 , 0 }, { 30.1 , 50.0 , -30.1 }, true );
591591
@@ -645,7 +645,7 @@ int main()
645645
646646 // Gizmos
647647 sf::Vector2i prevMPos;
648- auto gizmosFb = std::make_shared<Framebuffer>(Renderer::GetInstance ()->GetShader (Renderer::ShaderType::Post), (uint32_t )viewportWindow ->getSize ().x , (uint32_t )viewportWindow ->getSize ().y - 28 );
648+ auto gizmosFb = std::make_shared<Framebuffer>(Renderer::GetInstance ()->GetShader (Renderer::ShaderType::Post), (uint32_t )viewport ->getSize ().x , (uint32_t )viewport ->getSize ().y );
649649
650650 Material gizmoXMat (
651651 {
@@ -1418,6 +1418,41 @@ int main()
14181418 editor.handleEvent (event);
14191419 if (focusCodeArea)
14201420 codeArea->setFocused (true );
1421+ if (event.type == sf::Event::Resized)
1422+ {
1423+ auto p = editor.get <tgui::ChildWindow>(" objectEditorWindow" );
1424+ auto s = editor.get <tgui::ChildWindow>(" sceneTreeWindow" );
1425+ auto m = editor.get <tgui::ChildWindow>(" messagesWindow" );
1426+ auto c = editor.get <tgui::ChildWindow>(" createWindow" );
1427+
1428+ p->setPosition ({ event.size .width - p->getSize ().x , event.size .height - p->getSize ().y });
1429+
1430+ s->setPosition ({ event.size .width - s->getSize ().x , 0 });
1431+ s->setSize ({ 270 , p->getPosition ().y });
1432+
1433+ m->setPosition ({ m->getPosition ().x , event.size .height - m->getSize ().y });
1434+ m->setSize ({ p->getPosition ().x - m->getPosition ().x , m->getSize ().y });
1435+
1436+ c->setSize ({ c->getSize ().x , event.size .height });
1437+
1438+ viewportWindow->setSize ({ p->getPosition ().x - c->getSize ().x , event.size .height - m->getSize ().y });
1439+ editor.get <tgui::ChildWindow>(" codeEditor" )->setSize (viewportWindow->getSize ());
1440+
1441+ engine.SetGuiView ({ 0 , 0 , viewportWindow->getSize ().x * 1 .65f , viewportWindow->getSize ().y * 1 .65f });
1442+ engine.SetGuiViewport ({ 221 , 26 , viewportWindow->getSize ().x - 1 , viewportWindow->getSize ().y - 28 });
1443+
1444+ cam.SetViewportSize ({ (uint32_t )viewport->getSize ().x , (uint32_t )viewport->getSize ().y });
1445+ cam.SetGuiSize ({ (uint32_t )viewport->getSize ().x , (uint32_t )viewport->getSize ().y });
1446+
1447+ Renderer::GetInstance ()->GetFramebuffer (Renderer::FramebufferType::GBuffer)->Resize (viewport->getSize ().x , viewport->getSize ().y );
1448+ Renderer::GetInstance ()->GetFramebuffer (Renderer::FramebufferType::DecalsGBuffer)->Resize (viewport->getSize ().x , viewport->getSize ().y );
1449+ Renderer::GetInstance ()->GetFramebuffer (Renderer::FramebufferType::Main)->Resize (viewport->getSize ().x , viewport->getSize ().y );
1450+ Renderer::GetInstance ()->GetFramebuffer (Renderer::FramebufferType::Transparency)->Resize (viewport->getSize ().x , viewport->getSize ().y );
1451+ Renderer::GetInstance ()->GetFramebuffer (Renderer::FramebufferType::SSAO)->Resize (viewport->getSize ().x / 2.0 , viewport->getSize ().y / 2.0 );
1452+ Renderer::GetInstance ()->GetFramebuffer (Renderer::FramebufferType::SSR)->Resize (viewport->getSize ().x , viewport->getSize ().y );
1453+ Renderer::GetInstance ()->GetFramebuffer (Renderer::FramebufferType::BloomPingPong0)->Resize (viewport->getSize ().x / properties[" renderer" ][" bloomResolutionScale" ].asFloat (), viewport->getSize ().y / properties[" renderer" ][" bloomResolutionScale" ].asFloat ());
1454+ Renderer::GetInstance ()->GetFramebuffer (Renderer::FramebufferType::BloomPingPong1)->Resize (viewport->getSize ().x / properties[" renderer" ][" bloomResolutionScale" ].asFloat (), viewport->getSize ().y / properties[" renderer" ][" bloomResolutionScale" ].asFloat ());
1455+ }
14211456 if (event.type == sf::Event::Closed)
14221457 engine.Close ();
14231458 });
0 commit comments