36 lines
778 B
C++
36 lines
778 B
C++
#include "sparrowrenderer.h"
|
|
#include "shader.h"
|
|
#include "camera.h"
|
|
#include "scene.h"
|
|
#include "glassert.h"
|
|
#include <glew/glew.h>
|
|
#include <QString>
|
|
|
|
SparrowRenderer::SparrowRenderer(int width, int height)
|
|
{
|
|
shader = new Shader(QString("../phong.vert"), QString("../phong.frag"));
|
|
scene = new Scene();
|
|
scene->setCamera(new Camera(width, height));
|
|
}
|
|
|
|
SparrowRenderer::~SparrowRenderer()
|
|
{
|
|
delete(scene->getCamera());
|
|
delete(shader);
|
|
delete(scene);
|
|
}
|
|
|
|
void SparrowRenderer::resize(int width, int height)
|
|
{
|
|
scene->getCamera()->resize(width, height);
|
|
}
|
|
|
|
void SparrowRenderer::render()
|
|
{
|
|
// bind shader
|
|
GLuint programId = shader->getProgramId();
|
|
glAssert(glUseProgram(programId));
|
|
// draw geometry
|
|
scene->drawEntities(programId);
|
|
}
|