fix viewport not being set for probe draw (#2489)

This commit is contained in:
ManDude 2023-04-15 03:09:39 +01:00 committed by GitHub
parent c7f2a23abf
commit 99fe918a1a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 7 additions and 2 deletions

View file

@ -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() {

View file

@ -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;
}
}