fog_density = 0;
- mbuf = vbuf = fbuf = svbuf = 0;
+ mbuf = 0;
+ default_vs_ub = 0;
+ default_fs_ub = 0;
+ sky_vs_ub = 0;
}
MorphRenderer::~MorphRenderer()
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;
}
for(size_t i=0; i<scene->objects.size(); i++) {
mu.t = (sin(time_sec + 7.3 * noise(i * M_PI)) + 1) * 0.5;
mbuf->update(&mu);
- mbuf->bind(MORPHING_UNIFORMS);
+ 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]);
}