From 97032c2fe65c47fac416d157c9f8d0e88b059da5 Mon Sep 17 00:00:00 2001 From: Anselme Date: Wed, 9 Dec 2015 09:44:29 +0100 Subject: [PATCH] added clearColor attribute in sparrowRenderer --- forwardmodule.cpp | 3 --- sparrowrenderer.cpp | 3 +++ sparrowrenderer.h | 9 +++++++++ 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/forwardmodule.cpp b/forwardmodule.cpp index 0c58bfa..05844c3 100644 --- a/forwardmodule.cpp +++ b/forwardmodule.cpp @@ -29,9 +29,6 @@ void ForwardModule::renderGL(Camera* myCamera, Scene* scene) renderTarget->bindFBO(); // render ambient lighting - glAssert(glClearColor(0, 0.1f, 0.05f, 1.)); // add attribute, and setter for clear color - glAssert(glClearDepth(1.0)); - glAssert(glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT)); glAssert(glDepthFunc(GL_LESS)); glAssert(glDisable(GL_BLEND)); diff --git a/sparrowrenderer.cpp b/sparrowrenderer.cpp index 5983d35..5bbc856 100644 --- a/sparrowrenderer.cpp +++ b/sparrowrenderer.cpp @@ -58,6 +58,9 @@ void SparrowRenderer::resizeGL(int width, int height) void SparrowRenderer::renderGL() { + glAssert(glClearColor(clearColor.r, clearColor.g, clearColor.b, 1)); + glAssert(glClearDepth(1.0)); + glAssert(glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT)); for(ModuleNode &m : modules) { if(m.isEnabled) diff --git a/sparrowrenderer.h b/sparrowrenderer.h index a86f595..e980412 100644 --- a/sparrowrenderer.h +++ b/sparrowrenderer.h @@ -3,6 +3,7 @@ #include #include +#include class Camera; class Module; @@ -11,12 +12,19 @@ class Scene; class SparrowRenderer { public: + SparrowRenderer() : + camera(NULL), + scene(NULL), + clearColor(0) + {} + // main methods void initGL(int width, int height, bool forceCrappy = false); void destroyGL(); void resizeGL(int width, int height); void renderGL(); static bool isModernOpenGLAvailable(); + void setClearColor(glm::vec3 color) {clearColor=color;} // clock methods double getFPS(); @@ -48,6 +56,7 @@ protected: Scene* scene; std::vector modules; static bool modernOpenglAvailable; + glm::vec3 clearColor; std::vector::iterator getModuleNode(std::string name); };