diff options
author | Dan Goodliffe <dan@randomdan.homeip.net> | 2023-01-02 17:26:23 +0000 |
---|---|---|
committer | Dan Goodliffe <dan@randomdan.homeip.net> | 2023-01-02 17:26:23 +0000 |
commit | b7b5db10f9b99815d8a32fafde27c0c51f7e26d3 (patch) | |
tree | da031c708b90a614bd1f47bf92ba76878c98142f /gfx | |
parent | Add gl_traits for all the common types (diff) | |
download | ilt-b7b5db10f9b99815d8a32fafde27c0c51f7e26d3.tar.bz2 ilt-b7b5db10f9b99815d8a32fafde27c0c51f7e26d3.tar.xz ilt-b7b5db10f9b99815d8a32fafde27c0c51f7e26d3.zip |
Single helper for rendering the fullscreen quad
Diffstat (limited to 'gfx')
-rw-r--r-- | gfx/gl/sceneRenderer.cpp | 16 | ||||
-rw-r--r-- | gfx/gl/sceneRenderer.h | 2 |
2 files changed, 12 insertions, 6 deletions
diff --git a/gfx/gl/sceneRenderer.cpp b/gfx/gl/sceneRenderer.cpp index ee6d927..8b299ad 100644 --- a/gfx/gl/sceneRenderer.cpp +++ b/gfx/gl/sceneRenderer.cpp @@ -96,9 +96,7 @@ SceneRenderer::render(const SceneProvider & scene) const glActiveTexture(GL_TEXTURE3); glBindTexture(GL_TEXTURE_2D, gIllumination); lighting.use(); - glBindVertexArray(displayVAO); - glDrawArrays(GL_TRIANGLE_STRIP, 0, 4); - glBindVertexArray(0); + renderQuad(); } void @@ -119,12 +117,18 @@ SceneRenderer::setDirectionalLight( glViewport(0, 0, size.x, size.y); dirLight.use(); dirLight.setDirectionalLight(colour, direction, lvp.projections, lvp.regions); - glBindVertexArray(displayVAO); - glDrawArrays(GL_TRIANGLE_STRIP, 0, 4); - glBindVertexArray(0); + renderQuad(); } } +void +SceneRenderer::renderQuad() const +{ + glBindVertexArray(displayVAO); + glDrawArrays(GL_TRIANGLE_STRIP, 0, 4); + glBindVertexArray(0); +} + SceneRenderer::DirectionalLightProgram::DirectionalLightProgram() : Program {lightingShader_vs, directionalLight_fs}, directionLoc {*this, "lightDirection"}, colourLoc {*this, "lightColour"}, lightViewProjectionLoc {*this, "lightViewProjection"}, diff --git a/gfx/gl/sceneRenderer.h b/gfx/gl/sceneRenderer.h index 28acc3b..5f6a36e 100644 --- a/gfx/gl/sceneRenderer.h +++ b/gfx/gl/sceneRenderer.h @@ -20,6 +20,8 @@ public: Camera camera; private: + void renderQuad() const; + glm::ivec2 size; GLuint output; glFrameBuffer gBuffer; |