From 99fe918a1a58f487afcf4b8cb20c899f6ccf03da Mon Sep 17 00:00:00 2001 From: ManDude <7569514+ManDude@users.noreply.github.com> Date: Sat, 15 Apr 2023 03:09:39 +0100 Subject: [PATCH] fix viewport not being set for probe draw (#2489) --- .../opengl_renderer/shaders/glow_probe_downsample.frag | 3 ++- game/graphics/opengl_renderer/sprite/GlowRenderer.cpp | 6 +++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/game/graphics/opengl_renderer/shaders/glow_probe_downsample.frag b/game/graphics/opengl_renderer/shaders/glow_probe_downsample.frag index b50e89c455..16f1896772 100644 --- a/game/graphics/opengl_renderer/shaders/glow_probe_downsample.frag +++ b/game/graphics/opengl_renderer/shaders/glow_probe_downsample.frag @@ -1,8 +1,9 @@ #version 430 core out vec4 out_color; + uniform sampler2D tex; -in flat vec4 fragment_color; + in vec2 tex_coord; void main() { diff --git a/game/graphics/opengl_renderer/sprite/GlowRenderer.cpp b/game/graphics/opengl_renderer/sprite/GlowRenderer.cpp index 351180eab6..774210b716 100644 --- a/game/graphics/opengl_renderer/sprite/GlowRenderer.cpp +++ b/game/graphics/opengl_renderer/sprite/GlowRenderer.cpp @@ -538,6 +538,9 @@ void GlowRenderer::draw_probes(SharedRenderState* render_state, glBindVertexArray(m_ogl.vao); glEnable(GL_PRIMITIVE_RESTART); glPrimitiveRestartIndex(UINT32_MAX); + GLint old_viewport[4]; + glGetIntegerv(GL_VIEWPORT, old_viewport); + glViewport(0, 0, m_ogl.probe_fbo_w, m_ogl.probe_fbo_h); glBindBuffer(GL_ARRAY_BUFFER, m_ogl.vertex_buffer); glBufferData(GL_ARRAY_BUFFER, m_next_vertex * sizeof(Vertex), m_vertex_buffer.data(), GL_STREAM_DRAW); @@ -554,6 +557,7 @@ void GlowRenderer::draw_probes(SharedRenderState* render_state, glDepthFunc(GL_GEQUAL); glDrawElements(GL_TRIANGLE_STRIP, idx_end - idx_start, GL_UNSIGNED_INT, (void*)(idx_start * sizeof(u32))); + glViewport(old_viewport[0], old_viewport[1], old_viewport[2], old_viewport[3]); } /*! @@ -744,4 +748,4 @@ u32* GlowRenderer::alloc_index(int num) { auto* result = &m_index_buffer[m_next_index]; m_next_index += num; return result; -} \ No newline at end of file +}