From b4a837f002b36e888045df3d51b0ff212471e9d5 Mon Sep 17 00:00:00 2001 From: fintmc Date: Sat, 19 Oct 2024 22:32:40 +0300 Subject: [PATCH] fix framebuffer resize (#11) --- ScuffedMinecraft/src/Application.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/ScuffedMinecraft/src/Application.cpp b/ScuffedMinecraft/src/Application.cpp index 953a117..bc7d3cc 100644 --- a/ScuffedMinecraft/src/Application.cpp +++ b/ScuffedMinecraft/src/Application.cpp @@ -39,6 +39,8 @@ bool escapeDown = false; float windowX = 1920; float windowY = 1080; +GLuint framebufferTexture; + Camera camera; // Window options @@ -120,7 +122,6 @@ int main() glGenFramebuffers(1, &FBO); glBindFramebuffer(GL_FRAMEBUFFER, FBO); - unsigned int framebufferTexture; glGenTextures(1, &framebufferTexture); glBindTexture(GL_TEXTURE_2D, framebufferTexture); glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, windowX, windowY, 0, GL_RGB, GL_UNSIGNED_BYTE, NULL); @@ -220,7 +221,7 @@ int main() highestFps = fps; fpsCount++; std::chrono::steady_clock::time_point currentTimePoint = std::chrono::steady_clock::now(); - if (std::chrono::duration_cast(currentTimePoint - fpsStartTime).count() > 1000) + if (std::chrono::duration_cast(currentTimePoint - fpsStartTime).count() >= 1) { avgFps = fpsCount; lowestFps = -1; @@ -345,6 +346,10 @@ void framebufferSizeCallback(GLFWwindow* window, int width, int height) windowX = width; windowY = height; glViewport(0, 0, width, height); + // Resize the framebuffer texture + glBindTexture(GL_TEXTURE_2D, framebufferTexture); + glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, width, height, 0, GL_RGB, GL_UNSIGNED_BYTE, NULL); + glBindTexture(GL_TEXTURE_2D, 0); } void processInput(GLFWwindow* window)