Added Rendrerer class and camera optimization

This commit is contained in:
Julian Nießner
2018-05-08 11:43:47 +02:00
parent d9eb21a3e8
commit 1a6966f03a
9 changed files with 62 additions and 18 deletions

View File

@@ -9,6 +9,7 @@ DarkRP2D::~DarkRP2D() {
delete obj;
delete inputHandler;
delete camera;
delete renderer;
}
void DarkRP2D::create () {
@@ -18,6 +19,8 @@ void DarkRP2D::create () {
assets->loadShader("vert.shader","frag.shader",nullptr,"defaultShader");
assets->loadShader("bitmapvert.shader","bitmapfrag.shader",nullptr,"bitmapShader");
renderer = new Renderer();
std::vector<Vertex2D> vertices({
Vertex2D{glm::vec2(-0.5f,-0.5f), glm::vec2(0.0f,1.0f)},
Vertex2D{glm::vec2(0.5f,-0.5f), glm::vec2(1.0f,1.0f)},
@@ -34,8 +37,6 @@ void DarkRP2D::create () {
font = new BitmapFont("arial.ttf");
camera = new OrtographicCamera();
glClearColor(1.f,1.f,1.f,1.f);
}
void DarkRP2D::loop(unsigned int delta) {
@@ -72,14 +73,13 @@ void DarkRP2D::update(unsigned int delta) {
}
void DarkRP2D::render(unsigned int delta) {
glClear(GL_COLOR_BUFFER_BIT);
renderer->clear();
//Drawing
Shader defaultShader = assets->getShader("defaultShader");
defaultShader.SetMatrix4("view",camera->getViewMatrix(),true);
defaultShader.SetMatrix4("projection",camera->getProjectionMatrix(),true);
defaultShader.SetMatrix4("MVP",camera->getCombinedMatrix(),true);
//Draw Mesh
obj->draw();
renderer->draw(*obj,defaultShader);
//texttest
Shader bitmapShader = assets->getShader("bitmapShader");