Huge rework of editor and other changes.
This commit is contained in:
@@ -40,6 +40,8 @@ namespace Nuake {
|
||||
|
||||
Window::Window()
|
||||
{
|
||||
m_Title = DEFAULT_TITLE;
|
||||
|
||||
Init();
|
||||
Renderer::Init();
|
||||
}
|
||||
@@ -75,6 +77,17 @@ namespace Nuake {
|
||||
return m_Scene;
|
||||
}
|
||||
|
||||
void Window::SetTitle(const std::string& title)
|
||||
{
|
||||
m_Title = title;
|
||||
glfwSetWindowTitle(m_Window, m_Title.c_str());
|
||||
}
|
||||
|
||||
std::string Window::GetTitle()
|
||||
{
|
||||
return m_Title;
|
||||
}
|
||||
|
||||
Ref<FrameBuffer> Window::GetFrameBuffer() const
|
||||
{
|
||||
return m_Framebuffer;
|
||||
@@ -96,7 +109,7 @@ namespace Nuake {
|
||||
}
|
||||
|
||||
{ // Create window
|
||||
m_Window = glfwCreateWindow(m_Width, m_Height, "Nuake - Dev build", NULL, NULL);
|
||||
m_Window = glfwCreateWindow(m_Width, m_Height, m_Title.c_str(), NULL, NULL);
|
||||
if (!m_Window)
|
||||
{
|
||||
Logger::Log("Window creation failed.", CRITICAL);
|
||||
@@ -123,13 +136,11 @@ namespace Nuake {
|
||||
// TODO: have clear color in environnement.
|
||||
glClearColor(0.f, 0.f, 0.f, 1.0f);
|
||||
|
||||
glfwSwapInterval(1);
|
||||
glEnable(GL_TEXTURE_CUBE_MAP_SEAMLESS);
|
||||
glEnable(GL_DEPTH_TEST);
|
||||
glEnable(GL_MULTISAMPLE);
|
||||
glEnable(GL_BLEND);
|
||||
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
|
||||
|
||||
//glEnable(GL_CULL_FACE);
|
||||
}
|
||||
|
||||
@@ -137,9 +148,7 @@ namespace Nuake {
|
||||
m_Framebuffer = CreateRef<FrameBuffer>(true, glm::vec2(1920, 1080));
|
||||
m_Framebuffer->SetTexture(CreateRef<Texture>(glm::vec2(1920, 1080), GL_RGB));
|
||||
|
||||
|
||||
|
||||
|
||||
// ImGui init
|
||||
{
|
||||
ImGui::CreateContext();
|
||||
ImGuiIO& io = ImGui::GetIO(); (void)io;
|
||||
@@ -222,7 +231,6 @@ namespace Nuake {
|
||||
colors[ImGuiCol_ModalWindowDimBg] = ImVec4(0.80f, 0.80f, 0.80f, 0.35f);
|
||||
|
||||
|
||||
|
||||
ImGui_ImplGlfw_InitForOpenGL(m_Window, true);
|
||||
ImGui_ImplOpenGL3_Init("#version 330");
|
||||
}
|
||||
@@ -230,7 +238,6 @@ namespace Nuake {
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
void Window::Update(Timestep ts)
|
||||
{
|
||||
// TODO: have event here?
|
||||
@@ -242,8 +249,6 @@ namespace Nuake {
|
||||
m_Scene->FixedUpdate(ts);
|
||||
}
|
||||
|
||||
|
||||
|
||||
void Window::Draw()
|
||||
{
|
||||
// Dont render if no scene is loaded.
|
||||
@@ -268,120 +273,6 @@ namespace Nuake {
|
||||
m_Scene->Draw(*m_Framebuffer.get(), m_Scene->m_EditorCamera->GetPerspective(), m_Scene->m_EditorCamera->GetTransform());
|
||||
}
|
||||
|
||||
|
||||
|
||||
//m_GBuffer->Bind();
|
||||
//m_GBuffer->Clear();
|
||||
//{
|
||||
// if (Engine::IsPlayMode)
|
||||
// m_Scene->DrawDeferred();
|
||||
// else
|
||||
// m_Scene->EditorDrawDeferred();
|
||||
//}
|
||||
//
|
||||
//m_GBuffer->Unbind();
|
||||
//
|
||||
//m_DeferredBuffer->Bind();
|
||||
//m_DeferredBuffer->Clear();
|
||||
//{
|
||||
// glDisable(GL_CULL_FACE);
|
||||
//
|
||||
// if (Engine::IsPlayMode)
|
||||
// m_Scene->DrawDeferredShading();
|
||||
// else
|
||||
// m_Scene->EditorDrawDeferredShading();
|
||||
//
|
||||
// m_GBuffer->GetTexture(GL_DEPTH_ATTACHMENT)->Bind(5);
|
||||
// m_GBuffer->GetTexture(GL_COLOR_ATTACHMENT0)->Bind(6);
|
||||
// m_GBuffer->GetTexture(GL_COLOR_ATTACHMENT1)->Bind(7);
|
||||
// m_GBuffer->GetTexture(GL_COLOR_ATTACHMENT2)->Bind(8);
|
||||
//
|
||||
// glDisable(GL_CULL_FACE);
|
||||
//
|
||||
// Shader* deferredShader = ShaderManager::GetShader("resources/Shaders/deferred.shader");
|
||||
// deferredShader->Bind();
|
||||
// deferredShader->SetUniform1i("m_Depth", 5);
|
||||
// deferredShader->SetUniform1i("m_Albedo", 6);
|
||||
// deferredShader->SetUniform1i("m_Normal", 7);
|
||||
// deferredShader->SetUniform1i("m_Material", 8);
|
||||
//
|
||||
// Renderer::DrawQuad(Matrix4());
|
||||
//
|
||||
// auto interfaceView = m_Scene->m_Registry.view<InterfaceComponent>();
|
||||
// for (auto i : interfaceView)
|
||||
// {
|
||||
// InterfaceComponent& uInterface = interfaceView.get<InterfaceComponent>(i);
|
||||
// if (uInterface.Interface)
|
||||
// uInterface.Interface->Draw(m_DeferredBuffer->GetSize());
|
||||
// }
|
||||
//}
|
||||
//m_DeferredBuffer->Unbind();
|
||||
//
|
||||
//bloom.Threshold = GetScene()->GetEnvironment()->BloomThreshold;
|
||||
//bloom.BlurAmount = GetScene()->GetEnvironment()->BloomBlurAmount;
|
||||
//
|
||||
//bloom.Draw();
|
||||
|
||||
|
||||
|
||||
// m_BloomFrameBuffer->Bind();
|
||||
// m_BloomFrameBuffer->Clear();
|
||||
// m_BloomFrameBuffer->SetTexture(m_BloomTextures[0]);
|
||||
// {
|
||||
//
|
||||
// Ref<Shader> bloomShader = ShaderManager::GetShader("resources/Shaders/bloom.shader");
|
||||
// bloomShader->Bind();
|
||||
//
|
||||
// // Threshold
|
||||
// bloomShader->SetUniform1i("u_Stage", 0);
|
||||
// bloomShader->SetUniform1f("u_Threshold", 0.5);
|
||||
// m_DeferredBuffer->GetTexture()->Bind(1);
|
||||
// bloomShader->SetUniform1i("u_LightingBuffer", 1);
|
||||
//
|
||||
// Renderer::DrawQuad(Matrix4());
|
||||
|
||||
// Downsample
|
||||
|
||||
//m_BloomTextures.clear();
|
||||
//const int DownsampleAmount = 4;
|
||||
//m_BloomTextures.reserve(4);
|
||||
//m_BloomTextures.push_back(m_BloomFrameBuffer->GetTexture());
|
||||
//
|
||||
//Vector2 originalSize = m_BloomFrameBuffer->GetSize();
|
||||
//Vector2 currentSize = originalSize;
|
||||
//for (unsigned int i = 1; i < DownsampleAmount; i++) // # of iterations for down sample
|
||||
//{
|
||||
// m_BloomFrameBuffer->Clear();
|
||||
// currentSize /= 2;
|
||||
// m_BloomTextures.push_back(m_BloomFrameBuffer->GetTexture());
|
||||
//
|
||||
// m_BloomFrameBuffer->SetSize(currentSize);
|
||||
// m_BloomFrameBuffer->SetTexture(CreateRef<Texture>(currentSize, GL_RGB));
|
||||
//
|
||||
// m_BloomFrameBuffer->Clear();
|
||||
// bloomShader->SetUniform1i("u_Stage", 1);
|
||||
// bloomShader->SetUniform1i("u_DownsamplingSource", m_BloomTextures[i - 1]->GetID());
|
||||
// Renderer::DrawQuad(Matrix4());
|
||||
//
|
||||
// if (ImGui::Begin(("Downsample " + std::to_string(i)).c_str()))
|
||||
// {
|
||||
// ImGui::Image((void*)m_BloomTextures[i]->GetID(), ImGui::GetContentRegionAvail(), ImVec2(0, 1), ImVec2(1, 0));
|
||||
// }
|
||||
// ImGui::End();
|
||||
//}
|
||||
|
||||
// Upsample
|
||||
|
||||
|
||||
//}
|
||||
//m_BloomFrameBuffer->Unbind();
|
||||
|
||||
//if (ImGui::Begin("Bloom"))
|
||||
//{
|
||||
// ImGui::Image((void*)bloom.GetThreshold()->GetID(), ImGui::GetContentRegionAvail(), ImVec2(0, 1), ImVec2(1, 0));
|
||||
//}
|
||||
//ImGui::End();
|
||||
|
||||
glEnable(GL_DEPTH_TEST);
|
||||
Renderer::EndDraw();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user