summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--assets/skyboxes/menu/negx.pngbin0 -> 574339 bytes
-rw-r--r--assets/skyboxes/menu/negy.pngbin0 -> 674104 bytes
-rw-r--r--assets/skyboxes/menu/negz.pngbin0 -> 601526 bytes
-rw-r--r--assets/skyboxes/menu/posx.pngbin0 -> 609417 bytes
-rw-r--r--assets/skyboxes/menu/posy.pngbin0 -> 283857 bytes
-rw-r--r--assets/skyboxes/menu/posz.pngbin0 -> 624101 bytes
-rw-r--r--core/src/main/java/kz/ilotterytea/frogartha/screens/MenuScreen.java42
7 files changed, 42 insertions, 0 deletions
diff --git a/assets/skyboxes/menu/negx.png b/assets/skyboxes/menu/negx.png
new file mode 100644
index 0000000..1a137fe
--- /dev/null
+++ b/assets/skyboxes/menu/negx.png
Binary files differ
diff --git a/assets/skyboxes/menu/negy.png b/assets/skyboxes/menu/negy.png
new file mode 100644
index 0000000..8febd50
--- /dev/null
+++ b/assets/skyboxes/menu/negy.png
Binary files differ
diff --git a/assets/skyboxes/menu/negz.png b/assets/skyboxes/menu/negz.png
new file mode 100644
index 0000000..b2a25bf
--- /dev/null
+++ b/assets/skyboxes/menu/negz.png
Binary files differ
diff --git a/assets/skyboxes/menu/posx.png b/assets/skyboxes/menu/posx.png
new file mode 100644
index 0000000..3d1cfa8
--- /dev/null
+++ b/assets/skyboxes/menu/posx.png
Binary files differ
diff --git a/assets/skyboxes/menu/posy.png b/assets/skyboxes/menu/posy.png
new file mode 100644
index 0000000..8bd2fdd
--- /dev/null
+++ b/assets/skyboxes/menu/posy.png
Binary files differ
diff --git a/assets/skyboxes/menu/posz.png b/assets/skyboxes/menu/posz.png
new file mode 100644
index 0000000..718ccf6
--- /dev/null
+++ b/assets/skyboxes/menu/posz.png
Binary files differ
diff --git a/core/src/main/java/kz/ilotterytea/frogartha/screens/MenuScreen.java b/core/src/main/java/kz/ilotterytea/frogartha/screens/MenuScreen.java
index c492ff6..2e30527 100644
--- a/core/src/main/java/kz/ilotterytea/frogartha/screens/MenuScreen.java
+++ b/core/src/main/java/kz/ilotterytea/frogartha/screens/MenuScreen.java
@@ -2,7 +2,10 @@ package kz.ilotterytea.frogartha.screens;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.Screen;
+import com.badlogic.gdx.assets.loaders.resolvers.InternalFileHandleResolver;
+import com.badlogic.gdx.graphics.Cubemap;
import com.badlogic.gdx.graphics.GL20;
+import com.badlogic.gdx.graphics.PerspectiveCamera;
import com.badlogic.gdx.graphics.Texture;
import com.badlogic.gdx.math.Interpolation;
import com.badlogic.gdx.scenes.scene2d.Actor;
@@ -21,12 +24,19 @@ import kz.ilotterytea.frogartha.domain.RoomTopic;
import kz.ilotterytea.frogartha.sessions.IdentityClient;
import kz.ilotterytea.frogartha.sessions.SessionClient;
import kz.ilotterytea.frogartha.ui.menu.RoomTopicWidget;
+import net.mgsx.gltf.scene3d.scene.SceneManager;
+import net.mgsx.gltf.scene3d.scene.SceneSkybox;
+import net.mgsx.gltf.scene3d.utils.EnvironmentUtil;
public class MenuScreen implements Screen {
private FrogarthaGame game;
private SessionClient session;
private IdentityClient identity;
+ private PerspectiveCamera camera;
+ private SceneManager sceneManager;
+ private Cubemap environmentCubemap;
+
private Stage stage;
private Table gameTable, topicTable, credentialsTable;
@@ -39,6 +49,7 @@ public class MenuScreen implements Screen {
identity = game.getIdentityClient();
createStage();
+ create3D();
Gdx.input.setInputProcessor(stage);
}
@@ -48,6 +59,12 @@ public class MenuScreen implements Screen {
Gdx.gl.glClearColor(0f, 0f, 0f, 1f);
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT | GL20.GL_DEPTH_BUFFER_BIT);
+ camera.rotate(2 * delta, 0, 1, 0);
+ camera.update();
+
+ sceneManager.update(delta);
+ sceneManager.render();
+
stage.act(delta);
stage.draw();
@@ -77,6 +94,7 @@ public class MenuScreen implements Screen {
@Override
public void resize(int width, int height) {
stage.getViewport().update(width, height, true);
+ sceneManager.updateViewport(width, height);
}
@Override
@@ -97,6 +115,8 @@ public class MenuScreen implements Screen {
@Override
public void dispose() {
stage.dispose();
+ sceneManager.dispose();
+ environmentCubemap.dispose();
}
private void createStage() {
@@ -261,4 +281,26 @@ public class MenuScreen implements Screen {
controlTable.add(rightGameControlTable).grow();
}
+
+ private void create3D() {
+ sceneManager = new SceneManager();
+
+ camera = new PerspectiveCamera(100f, Gdx.graphics.getWidth(), Gdx.graphics.getHeight());
+ camera.near = 1f;
+ camera.far = 300f;
+ camera.position.set(0f, 5f, 0f);
+
+ camera.update();
+
+ sceneManager.setCamera(camera);
+
+ environmentCubemap = EnvironmentUtil.createCubemap(
+ new InternalFileHandleResolver(),
+ "skyboxes/menu/",
+ ".png",
+ EnvironmentUtil.FACE_NAMES_NEG_POS
+ );
+
+ sceneManager.setSkyBox(new SceneSkybox(environmentCubemap));
+ }
}