diff --git a/src/MarbleWorld.hx b/src/MarbleWorld.hx index 59ef02f8..3f2126ce 100644 --- a/src/MarbleWorld.hx +++ b/src/MarbleWorld.hx @@ -354,7 +354,7 @@ class MarbleWorld extends Scheduler { worker.loadFile(file); } - this.scene.camera.zFar = Math.max(4000, Std.parseFloat(this.skyElement.visibledistance)); + this.scene.camera.zFar = Std.parseFloat(this.skyElement.visibledistance); this.sky = new Sky(); diff --git a/src/PreviewWorld.hx b/src/PreviewWorld.hx index 98d141f5..8a258f93 100644 --- a/src/PreviewWorld.hx +++ b/src/PreviewWorld.hx @@ -197,7 +197,7 @@ class PreviewWorld extends Scheduler { if (misname == "marblepicker") difficulty = "advanced"; else - difficulty = ["beginner", "intermediate", "advanced"][mis.difficultyIndex]; + difficulty = mis.type; var curToken = _loadToken; @@ -273,6 +273,7 @@ class PreviewWorld extends Scheduler { worker.addTask(fwd -> { sky.init(null, () -> { scene.addChild(sky); + sky.setPosition(scene.camera.pos.x, scene.camera.pos.y, scene.camera.pos.z); fwd(); }, skyElem); }); diff --git a/src/Sky.hx b/src/Sky.hx index 268ef509..9b3adc5a 100644 --- a/src/Sky.hx +++ b/src/Sky.hx @@ -39,7 +39,7 @@ class Sky extends Object { sky.addNormals(); sky.addUVs(); var skyMesh = new h3d.scene.Mesh(sky, this); - skyMesh.material.mainPass.culling = Front; + skyMesh.material.mainPass.culling = None; // This is such a hack // skyMesh.material.mainPass.addShader(new h3d.shader.pbr.PropsValues(1, 0, 0, 1)); skyMesh.material.mainPass.enableLights = false; @@ -51,7 +51,7 @@ class Sky extends Object { // pbrprops.occlusionValue = 0; // pbrprops.metalnessValue = 1; - skyMesh.scale(3500); + skyMesh.scale(10); // var env = new Environment(texture); // env.compute(); // var renderer = cast(level.scene.renderer, h3d.scene.pbr.Renderer); @@ -59,7 +59,7 @@ class Sky extends Object { skyMesh.material.mainPass.removeShader(skyMesh.material.textureShader); skyMesh.material.mainPass.addShader(shad); skyMesh.material.mainPass.depthWrite = false; - skyMesh.material.mainPass.depth(false, h3d.mat.Data.Compare.LessEqual); + skyMesh.material.mainPass.depth(false, Always); skyMesh.material.mainPass.setPassName("sky"); cubemap = texture; onFinish(); diff --git a/src/shaders/CubemapRenderer.hx b/src/shaders/CubemapRenderer.hx index 7f7036e0..6204f5c4 100644 --- a/src/shaders/CubemapRenderer.hx +++ b/src/shaders/CubemapRenderer.hx @@ -24,7 +24,7 @@ class CubemapRenderer { this.sky = sky; this.cubemap = new Texture(128, 128, [Cube, Dynamic, Target], h3d.mat.Data.TextureFormat.RGB8); this.cubemap.depthBuffer = new h3d.mat.DepthBuffer(128, 128, h3d.mat.DepthBuffer.DepthFormat.Depth16); - this.camera = new Camera(90, 1, 1, 0.02, scene.camera.zFar); + this.camera = new Camera(90, 1, 1, 0.1, 1000); this.position = new Vector(); this.nextFaceToRender = 0; }