#include "pipeline.h" #include "forwardmodule.h" #include "shadersource.h" #include "sparrowrenderer.h" #include "scene.h" #include "camera.h" Pipeline::~Pipeline() { for(Module *m : modules) delete m; } SimplePipeline::SimplePipeline(ShaderSource *forwardSource) { glEnable(GL_DEPTH_TEST); glEnable(GL_CULL_FACE); glEnable(GL_TEXTURE_2D); ForwardModule *forward = new ForwardModule(); forward->setShaderSource(forwardSource); modules.push_back(forward); } void SimplePipeline::renderGL(Scene *scene) { glClearColor(m_clearColor.r, m_clearColor.g, m_clearColor.b, 1); glClearDepth(1.0); glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glViewport(0, 0, width, height); modules[0]->renderGL(m_camera, scene); } void SimplePipeline::resizeGL(int w, int h) { width = w; height = h; if(m_camera != NULL) m_camera->resize(w, h); modules[0]->resize(w, h); } void SimplePipeline::refreshScene(Scene *scene) { ForwardModule *forward = (ForwardModule*)(modules[0]); forward->compileShaders(scene); } StandardPipeline::StandardPipeline(const Settings &mySettings, const SourcePack &mySourcePack) { glEnable(GL_DEPTH_TEST); glEnable(GL_CULL_FACE); glEnable(GL_TEXTURE_2D); // TODO } void StandardPipeline::renderGL(Scene *scene) { } void StandardPipeline::resizeGL(int w, int h) { }