, window()
, ctx(window.CreateContext())
, init_glew()
-, program()
+, chunk_prog()
+, entity_prog()
, cam()
, world(config.world)
, interface(config.interface, world)
Entity &Application::MakeTestEntity(World &world) {
Entity &e = world.AddEntity();
e.Position({ 0.0f, 0.0f, 0.0f });
- e.SetShape(world.BlockTypes()[1]->shape, { 1.0f, 1.0f, 0.0f });
+ e.SetShape(world.BlockTypes()[1].shape, { 1.0f, 1.0f, 0.0f });
e.AngularVelocity(glm::quat(glm::vec3{ 0.00001f, 0.000006f, 0.000013f }));
return e;
}
void Application::Render() {
GLContext::Clear();
- program.Activate();
+ chunk_prog.SetProjection(cam.Projection());
+ entity_prog.SetProjection(cam.Projection());
- program.SetProjection(cam.Projection());
- world.Render(program);
+ world.Render(chunk_prog, entity_prog);
- interface.Render(program);
+ interface.Render(entity_prog);
window.Flip();
}