#include "ui.h"
#include "opt.h"
#include "post.h"
+#include "renderer.h"
#include "blob_exhibit.h"
#define NEAR_CLIP 5.0
static BlobExhibit *blobs;
static bool show_blobs;
+static Renderer *rend;
+
bool app_init(int argc, char **argv)
{
float ambient[] = {0.0, 0.0, 0.0, 0.0};
glLightModelfv(GL_LIGHT_MODEL_AMBIENT, ambient);
- glClearColor(0.2, 0.2, 0.2, 1.0);
+ glClearColor(1, 1, 1, 1);
mscn = new MetaScene;
if(!mscn->load(opt.scenefile ? opt.scenefile : "data/museum.scene")) {
sdr_post_gamma = create_program_load("sdr/post_gamma.v.glsl", "sdr/post_gamma.p.glsl");
}
+ rend = new Renderer;
+ rend->set_scene(mscn);
+
glUseProgram(0);
if(opt.vr || opt.fullscreen) {
goatvr_shutdown();
}
+ delete rend;
+
blobs->destroy();
delete blobs->node;
delete blobs;
set_light(1, lpos[1], Vec3(0.6, 0.7, 1.0) * 0.6);
set_light(2, lpos[2], Vec3(0.8, 1.0, 0.8) * 0.3);
- mscn->draw();
+ rend->draw();
+
if(show_blobs) {
blobs->draw();
}
show_blobs = !show_blobs;
show_message("blobs: %s\n", show_blobs ? "on" : "off");
break;
+
+ case ' ':
+ goatvr_recenter();
+ show_message("VR recenter\n");
+ break;
}
}
show_message("blobs: %s\n", show_blobs ? "on" : "off");
break;
+ case GPAD_START:
+ goatvr_recenter();
+ show_message("VR recenter\n");
+ break;
+
default:
break;
}