From 45e28e55684d493d396c6c9891450ca0ec1170a6 Mon Sep 17 00:00:00 2001 From: austin Date: Sun, 25 Jul 2021 23:34:04 -0400 Subject: [PATCH] Fix skybox tracking potentially --- assets/Shaders/skybox/VertexShaderNoTexture.vs | 2 +- .../java/electrosphere/engine/LoadingThread.java | 3 +-- .../game/client/ClientFunctions.java | 16 ++++++++++++++++ .../game/client/drawcell/DrawCellManager.java | 4 ++-- src/main/java/electrosphere/main/Globals.java | 3 +++ .../java/electrosphere/renderer/RenderUtils.java | 16 ++++++++-------- 6 files changed, 31 insertions(+), 13 deletions(-) diff --git a/assets/Shaders/skybox/VertexShaderNoTexture.vs b/assets/Shaders/skybox/VertexShaderNoTexture.vs index 021ad22b..82e15797 100644 --- a/assets/Shaders/skybox/VertexShaderNoTexture.vs +++ b/assets/Shaders/skybox/VertexShaderNoTexture.vs @@ -29,6 +29,6 @@ void main() //send color to the frag shader color = colors[int(id)]; //set final position with opengl space - vec4 pos = projection * view * FinalVertex; + vec4 pos = projection * view * model * FinalVertex; gl_Position = pos.xyww; } diff --git a/src/main/java/electrosphere/engine/LoadingThread.java b/src/main/java/electrosphere/engine/LoadingThread.java index b732f97a..7191404e 100644 --- a/src/main/java/electrosphere/engine/LoadingThread.java +++ b/src/main/java/electrosphere/engine/LoadingThread.java @@ -423,8 +423,7 @@ public class LoadingThread extends Thread { */ Model skyboxModel = Globals.assetManager.fetchModel(AssetDataStrings.ASSET_STRING_SKYBOX_BASIC); - Entity skyboxEntity = EntityUtils.spawnDrawableEntity(AssetDataStrings.ASSET_STRING_SKYBOX_BASIC); - EntityUtils.getScale(skyboxEntity).mul(100); + Globals.skybox = EntityUtils.spawnDrawableEntity(AssetDataStrings.ASSET_STRING_SKYBOX_BASIC); Globals.skyboxColors.add(new Vector3f(100,150,200)); diff --git a/src/main/java/electrosphere/game/client/ClientFunctions.java b/src/main/java/electrosphere/game/client/ClientFunctions.java index def492f7..ba238db6 100644 --- a/src/main/java/electrosphere/game/client/ClientFunctions.java +++ b/src/main/java/electrosphere/game/client/ClientFunctions.java @@ -1,6 +1,9 @@ package electrosphere.game.client; +import electrosphere.entity.CameraEntityUtils; +import electrosphere.entity.EntityUtils; import electrosphere.main.Globals; +import org.joml.Vector3f; /** * @@ -12,5 +15,18 @@ public class ClientFunctions { Globals.clientTerrainManager.handleMessages(); Globals.clientTerrainManager.ejectLoadedChunks(); } + updateSkyboxPos(); + } + + static void updateSkyboxPos(){ + if(Globals.skybox != null){ +// Vector3f skyboxPos = EntityUtils.getPosition(Globals.skybox); +// +// Vector3f playerCameraPos = EntityUtils.getPosition(Globals.playerCamera); +// if(skyboxPos != null && playerCameraPos != null){ +// skyboxPos.set(playerCameraPos); +// } + EntityUtils.getPosition(Globals.skybox).set(EntityUtils.getPosition(Globals.playerCharacter)).mul(0.01f); + } } } diff --git a/src/main/java/electrosphere/game/client/drawcell/DrawCellManager.java b/src/main/java/electrosphere/game/client/drawcell/DrawCellManager.java index f5e69f09..76a3b30f 100644 --- a/src/main/java/electrosphere/game/client/drawcell/DrawCellManager.java +++ b/src/main/java/electrosphere/game/client/drawcell/DrawCellManager.java @@ -43,9 +43,9 @@ public class DrawCellManager { - int drawRadius = 35; + int drawRadius = 5; int drawStepdownInterval = 3; - int drawStepdownValue = 9; + int drawStepdownValue = 25; int physicsRadius = 3; diff --git a/src/main/java/electrosphere/main/Globals.java b/src/main/java/electrosphere/main/Globals.java index 32468e34..1a41f441 100644 --- a/src/main/java/electrosphere/main/Globals.java +++ b/src/main/java/electrosphere/main/Globals.java @@ -226,6 +226,9 @@ public class Globals { //the creature the player camera will orbit and will receive controlHandler movementTree updates public static Entity playerCharacter; + //skybox entity + public static Entity skybox; + //ai manager public static AIManager aiManager; diff --git a/src/main/java/electrosphere/renderer/RenderUtils.java b/src/main/java/electrosphere/renderer/RenderUtils.java index 5e58828c..f8f90928 100644 --- a/src/main/java/electrosphere/renderer/RenderUtils.java +++ b/src/main/java/electrosphere/renderer/RenderUtils.java @@ -278,14 +278,14 @@ public class RenderUtils { float[] vertexcoords = { - 1.0f,1.0f,1.0f, - 1.0f,1.0f,-1.0f, - 1.0f,-1.0f,1.0f, - 1.0f,-1.0f,-1.0f, - -1.0f,1.0f,1.0f, - -1.0f,1.0f,-1.0f, - -1.0f,-1.0f,1.0f, - -1.0f,-1.0f,-1.0f, + 100.0f, 100.0f, 100.0f, + 100.0f, 100.0f,-100.0f, + 100.0f,-100.0f, 100.0f, + 100.0f,-100.0f,-100.0f, + -100.0f, 100.0f, 100.0f, + -100.0f, 100.0f,-100.0f, + -100.0f,-100.0f, 100.0f, + -100.0f,-100.0f,-100.0f, };