improved framebuffer destructor, simple pipeline had now the ability to load default shaders if none is provided

This commit is contained in:
Anselme 2016-06-10 12:05:54 +02:00
parent 610cf8af44
commit bca6c8c13f
2 changed files with 15 additions and 0 deletions

View File

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

View File

@ -4,7 +4,9 @@
#include "sparrowrenderer.h"
#include "scene.h"
#include "camera.h"
#include <resource.h>
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);
}