X-Git-Url: https://eleni.mutantstargoat.com/git/?p=demo;a=blobdiff_plain;f=src%2Fmorph_renderer.cc;fp=src%2Fmorph_renderer.cc;h=a8adf56a82e9b2bc41c7dece80de5baeb1f54d33;hp=7540ba1daf341666ecae157e2699034054973c3c;hb=f6ceb163227d00d7f97df1fc2dfbdd419c56277e;hpb=75b8713addd14a845e2fa8ad9a9d3d4a6a323bec diff --git a/src/morph_renderer.cc b/src/morph_renderer.cc index 7540ba1..a8adf56 100644 --- a/src/morph_renderer.cc +++ b/src/morph_renderer.cc @@ -23,7 +23,10 @@ MorphRenderer::MorphRenderer() fog_density = 0; - mbuf = vbuf = fbuf = svbuf = 0; + mbuf = 0; + default_vs_ub = 0; + default_fs_ub = 0; + sky_vs_ub = 0; } MorphRenderer::~MorphRenderer() @@ -43,25 +46,25 @@ bool MorphRenderer::create() return false; } - if(!vbuf) { - vbuf = gfx_create_uniform_buffer(); - if(!vbuf->create(sizeof vu)) { + if(!default_vs_ub) { + 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; } } - if(!fbuf) { - fbuf = gfx_create_uniform_buffer(); - if(!fbuf->create(sizeof fu)) { + if(!default_fs_ub) { + 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; } } - if(!svbuf) { - svbuf = gfx_create_uniform_buffer(); - if(!svbuf->create(sizeof svu)) { + if(!sky_vs_ub) { + 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; } @@ -89,9 +92,9 @@ void MorphRenderer::draw() mbuf->update(&mu); mbuf->bind(MORPHING_MATRIX_UNIFORMS); - vu.mmod = scene->objects[i]->transform.upper3x3(); - vbuf->update(&vu); - vbuf->bind(MATRIX_UNIFORMS); + default_vs_uniforms.mmod = scene->objects[i]->transform.upper3x3(); + default_vs_ub->update(&default_vs_uniforms); + default_vs_ub->bind(MATRIX_UNIFORMS); draw_object(scene->objects[i]); }