From 06aa70caca81d7dbaeafca63b5fd929d1ffbb405 Mon Sep 17 00:00:00 2001 From: ilotterytea Date: Fri, 25 Oct 2024 11:16:11 +0500 Subject: fix: segmentation violation --- .../kz/ilotterytea/maxon/screens/MenuScreen.java | 15 +++++++------- .../ilotterytea/maxon/screens/game/GameScreen.java | 23 +++++++++++----------- 2 files changed, 20 insertions(+), 18 deletions(-) diff --git a/core/src/kz/ilotterytea/maxon/screens/MenuScreen.java b/core/src/kz/ilotterytea/maxon/screens/MenuScreen.java index 2401d06..153a5bd 100644 --- a/core/src/kz/ilotterytea/maxon/screens/MenuScreen.java +++ b/core/src/kz/ilotterytea/maxon/screens/MenuScreen.java @@ -461,6 +461,14 @@ public class MenuScreen implements Screen { // setup quick IBL (image based lighting) IBLBuilder iblBuilder = IBLBuilder.createOutdoor(light); + + Cubemap environmentCubemap = EnvironmentUtil.createCubemap( + new InternalFileHandleResolver(), + "skyboxes/menu/", + ".png", + EnvironmentUtil.FACE_NAMES_NEG_POS + ); + Cubemap diffuseCubemap = iblBuilder.buildIrradianceMap(256); Cubemap specularCubemap = iblBuilder.buildRadianceMap(10); iblBuilder.dispose(); @@ -472,13 +480,6 @@ public class MenuScreen implements Screen { sceneManager.environment.set(PBRCubemapAttribute.createSpecularEnv(specularCubemap)); sceneManager.environment.set(PBRCubemapAttribute.createDiffuseEnv(diffuseCubemap)); - Cubemap environmentCubemap = EnvironmentUtil.createCubemap( - new InternalFileHandleResolver(), - "skyboxes/menu/", - ".png", - EnvironmentUtil.FACE_NAMES_NEG_POS - ); - sceneManager.setSkyBox(new SceneSkybox(environmentCubemap)); } } diff --git a/core/src/kz/ilotterytea/maxon/screens/game/GameScreen.java b/core/src/kz/ilotterytea/maxon/screens/game/GameScreen.java index b1a519e..3f8c19b 100644 --- a/core/src/kz/ilotterytea/maxon/screens/game/GameScreen.java +++ b/core/src/kz/ilotterytea/maxon/screens/game/GameScreen.java @@ -416,16 +416,6 @@ public class GameScreen implements Screen, InputProcessor { // setup quick IBL (image based lighting) IBLBuilder iblBuilder = IBLBuilder.createOutdoor(light); - Cubemap diffuseCubemap = iblBuilder.buildIrradianceMap(256); - Cubemap specularCubemap = iblBuilder.buildRadianceMap(10); - iblBuilder.dispose(); - - Texture brdfLUT = new Texture(Gdx.files.classpath("net/mgsx/gltf/shaders/brdfLUT.png")); - - sceneManager.setAmbientLight(1f); - sceneManager.environment.set(new PBRTextureAttribute(PBRTextureAttribute.BRDFLUTTexture, brdfLUT)); - sceneManager.environment.set(PBRCubemapAttribute.createSpecularEnv(specularCubemap)); - sceneManager.environment.set(PBRCubemapAttribute.createDiffuseEnv(diffuseCubemap)); Cubemap environmentCubemap; @@ -437,9 +427,20 @@ public class GameScreen implements Screen, InputProcessor { EnvironmentUtil.FACE_NAMES_NEG_POS ); } else { - environmentCubemap = iblBuilder.buildEnvMap(1024); + environmentCubemap = iblBuilder.buildEnvMap(1000); } + Cubemap diffuseCubemap = iblBuilder.buildIrradianceMap(256); + Cubemap specularCubemap = iblBuilder.buildRadianceMap(10); + iblBuilder.dispose(); + + Texture brdfLUT = new Texture(Gdx.files.classpath("net/mgsx/gltf/shaders/brdfLUT.png")); + + sceneManager.setAmbientLight(1f); + sceneManager.environment.set(new PBRTextureAttribute(PBRTextureAttribute.BRDFLUTTexture, brdfLUT)); + sceneManager.environment.set(PBRCubemapAttribute.createSpecularEnv(specularCubemap)); + sceneManager.environment.set(PBRCubemapAttribute.createDiffuseEnv(diffuseCubemap)); + sceneManager.setSkyBox(new SceneSkybox(environmentCubemap)); } -- cgit v1.2.3