]> git.localhorst.tv Git - blobs.git/blobdiff - src/app/states.cpp
basic sky box
[blobs.git] / src / app / states.cpp
index 8647ff63d49ce4375645395b9df14fa353ba63ec..3736331cb54532935d4b16ec9ac0098eae19f09a 100644 (file)
@@ -89,6 +89,8 @@ void MasterState::OnResize(int w, int h) {
        assets.shaders.sun_surface.SetVP(cam.View(), cam.Projection());
        assets.shaders.creature_skin.Activate();
        assets.shaders.creature_skin.SetVP(cam.View(), cam.Projection());
+       assets.shaders.sky_box.Activate();
+       assets.shaders.sky_box.SetVP(cam.View() * cam.Universe(), cam.Projection());
 }
 
 void MasterState::OnUpdate(int dt) {
@@ -244,6 +246,8 @@ void MasterState::OnRender(graphics::Viewport &viewport) {
        cam.LookAt(glm::vec3(cam_pos), glm::vec3(cam_focus), glm::vec3(cam_up));
        assets.shaders.planet_surface.Activate();
        assets.shaders.planet_surface.SetV(cam.View());
+       assets.shaders.sky_box.Activate();
+       assets.shaders.sky_box.SetV(cam.View() * cam.Universe());
        assets.shaders.sun_surface.Activate();
        assets.shaders.sun_surface.SetV(cam.View());
        assets.shaders.creature_skin.Activate();
@@ -306,6 +310,10 @@ void MasterState::OnRender(graphics::Viewport &viewport) {
                c->Draw(viewport);
        }
 
+       assets.shaders.sky_box.Activate();
+       assets.shaders.sky_box.SetTexture(assets.textures.sky);
+       assets.shaders.sky_box.Draw();
+
        viewport.ClearDepth();
        bp.Draw(viewport);
        cp.Draw(viewport);