void HUD::Render(DirectionalLighting &program) noexcept {
+ program.SetLightDirection({ 1.0f, 3.0f, 5.0f });
+ // disable distance fog
+ program.SetFogDensity(0.0f);
+ GLContext::ClearDepthBuffer();
+
+ program.SetVP(view, projection);
+
if (block_visible) {
- program.SetLightDirection({ 1.0f, 3.0f, 5.0f });
- // disable distance fog
- program.SetFogDensity(0.0f);
- GLContext::ClearDepthBuffer();
- program.SetMVP(block_transform, view, projection);
+ program.SetM(block_transform);
block.Draw();
- program.SetM(crosshair_transform);
- crosshair.Draw();
}
+
+ program.SetM(crosshair_transform);
+ crosshair.Draw();
}
TurnBlock();
break;
+ case SDLK_n:
+ ToggleCollision();
+ break;
+
case SDLK_b:
PrintBlockInfo();
break;
hud.Display(selection);
}
+void Interface::ToggleCollision() {
+ ctrl.Controlled().WorldCollidable(!ctrl.Controlled().WorldCollidable());
+ std::cout << "collision " << (ctrl.Controlled().WorldCollidable() ? "on" : "off") << std::endl;
+}
+
void Interface::PrintBlockInfo() {
std::cout << std::endl;
if (!aim_chunk) {