]> git.localhorst.tv Git - blank.git/blobdiff - src/ui/ui.cpp
implemented font redering
[blank.git] / src / ui / ui.cpp
index c71b7c105a0f0c357a359e5cd8ac34779856d166..8ddd40c57fb8327a32c5097e890f5d4b6093e326 100644 (file)
@@ -63,16 +63,20 @@ void HUD::Display(const Block &b) {
 
 
 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();
 }
 
 
@@ -128,6 +132,10 @@ void Interface::HandlePress(const SDL_KeyboardEvent &event) {
                        TurnBlock();
                        break;
 
+               case SDLK_n:
+                       ToggleCollision();
+                       break;
+
                case SDLK_b:
                        PrintBlockInfo();
                        break;
@@ -178,6 +186,11 @@ void Interface::TurnBlock() {
        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) {