diff --git a/src/framebuffer.cpp b/src/framebuffer.cpp index c05686a..c1a1a37 100644 --- a/src/framebuffer.cpp +++ b/src/framebuffer.cpp @@ -15,6 +15,11 @@ FrameBuffer::~FrameBuffer() { if(allocated) glDeleteFramebuffers(1, &fbo); + for(Texture* t : textures) + { + t->unbind(); + delete(t); + } } void FrameBuffer::addTexture(Texture* tex, GLenum attachment) diff --git a/src/pipeline.cpp b/src/pipeline.cpp index b4ecff7..bf27795 100644 --- a/src/pipeline.cpp +++ b/src/pipeline.cpp @@ -4,7 +4,9 @@ #include "sparrowrenderer.h" #include "scene.h" #include "camera.h" +#include +RESOURCE_PACK(shaders) Pipeline::~Pipeline() { @@ -19,6 +21,14 @@ SimplePipeline::SimplePipeline(ShaderSource *forwardSource) glEnable(GL_TEXTURE_2D); ForwardModule *forward = new ForwardModule(); + if(forwardSource == NULL) + { + forwardSource = new ShaderSource(); + Resource::ResourceMap shadersMap; + Resource::getResourcePack_shaders(shadersMap); + forwardSource->setSource(shadersMap["shaders/forward.vert.glsl"], ShaderSource::VERTEX); + forwardSource->setSource(shadersMap["shaders/forward.frag.glsl"], ShaderSource::FRAGMENT); + } forward->setShaderSource(forwardSource); modules.push_back(forward); }