backup - missing some
[demo] / src / renderer.cc
index 5d57a36..cefdcc4 100644 (file)
@@ -32,14 +32,16 @@ Renderer::Renderer()
 
        fog_density = 0;
 
-       vbuf = fbuf = svbuf = 0;
+       default_vs_ub = 0;
+       default_fs_ub = 0;
+       sky_vs_ub = 0;
 }
 
 Renderer::~Renderer()
 {
-       delete vbuf;
-       delete fbuf;
-       delete svbuf;
+       delete default_vs_ub;
+       delete default_fs_ub;
+       delete sky_vs_ub;
 }
 
 bool Renderer::create()
@@ -50,20 +52,20 @@ bool Renderer::create()
        //      tf(stderr, "Failed to load debug shaders.\n");
        // }
 
-       vbuf = gfx_create_uniform_buffer();
-       if(!vbuf->create(sizeof vu)) {
+       default_vs_ub = gfx_create_uniform_buffer();
+       if(!default_vs_ub->create(sizeof default_vs_uniforms)) {
                fprintf(stderr, "Failed to create uniform buffer.\n");
                return false;
        }
 
-       fbuf = gfx_create_uniform_buffer();
-       if(!fbuf->create(sizeof fu)) {
+       default_fs_ub = gfx_create_uniform_buffer();
+       if(!default_fs_ub->create(sizeof default_fs_uniforms)) {
                fprintf(stderr, "Failed to create uniform buffer.\n");
                return false;
        }
 
-       svbuf = gfx_create_uniform_buffer();
-       if(!svbuf->create(sizeof svu)) {
+       sky_vs_ub = gfx_create_uniform_buffer();
+       if(!sky_vs_ub->create(sizeof sky_vs_uniforms)) {
                fprintf(stderr, "Failed to create uniform buffer.\n");
                return false;
        }
@@ -104,13 +106,13 @@ void Renderer::draw_object(Object *object)
 
        /* setting uniforms for material */
 
-       fu.diffuse = Vec4(m->diffuse.x, m->diffuse.y, m->diffuse.z, 1.0);
-       fu.specular = Vec4(m->specular.x, m->specular.y, m->specular.z, 1.0);
-       fu.shininess = m->shininess;
-       fu.fog_density = fog_density;
+       default_fs_uniforms.diffuse = Vec4(m->diffuse.x, m->diffuse.y, m->diffuse.z, 1.0);
+       default_fs_uniforms.specular = Vec4(m->specular.x, m->specular.y, m->specular.z, 1.0);
+       default_fs_uniforms.shininess = m->shininess;
+       default_fs_uniforms.fog_density = fog_density;
 
-       fbuf->update(&fu);
-       fbuf->bind(SHADING_UNIFORMS);
+       default_fs_ub->update(&default_fs_uniforms);
+       default_fs_ub->bind(SHADING_UNIFORMS);
 
        /* texture */
 
@@ -119,12 +121,12 @@ void Renderer::draw_object(Object *object)
 
        /* setting uniforms for matrices */
 
-       vu.mview = object->transform * camera->get_view_matrix();
-       vu.mmviewproj = object->transform * camera->get_view_matrix() * mprojection;
-       vu.mmod = object->transform.upper3x3();
+       default_vs_uniforms.mview = object->transform * camera->get_view_matrix();
+       default_vs_uniforms.mmviewproj = object->transform * camera->get_view_matrix() * mprojection;
+       default_vs_uniforms.mmod = object->transform.upper3x3();
 
-       vbuf->update(&vu);
-       vbuf->bind(MATRIX_UNIFORMS);
+       default_vs_ub->update(&default_vs_uniforms);
+       default_vs_ub->bind(MATRIX_UNIFORMS);
 
        object->mesh->draw();
 
@@ -132,8 +134,8 @@ void Renderer::draw_object(Object *object)
 #ifdef DRAW_NORMALS
        if(nprog) {
                vu.mmviewproj = mmviewproj;
-               vbuf->update(&vu);
-               vbuf->bind(MATRIX_UNIFORMS);
+               default_vs_ub->update(&vu);
+               default_vs_ub->bind(MATRIX_UNIFORMS);
 
                nprog->use();
                object->mesh->draw_normals(1.0);
@@ -170,9 +172,9 @@ void Renderer::draw_skybox()
        skytex->bind();
        skyprog->use();
 
-       svu.mviewproj = camera->get_view_matrix().upper3x3() * mprojection;
-       svbuf->update(&svu);
-       svbuf->bind(SKY_MATRIX_UNIFORMS);
+       sky_vs_uniforms.mviewproj = camera->get_view_matrix().upper3x3() * mprojection;
+       sky_vs_ub->update(&sky_vs_uniforms);
+       sky_vs_ub->bind(SKY_MATRIX_UNIFORMS);
 
        skymesh->draw();