diff --git a/.classpath b/.classpath index 3df74ba..5cde1e7 100644 --- a/.classpath +++ b/.classpath @@ -11,13 +11,13 @@ - + - + diff --git a/src/sg/SpaceGame.java b/src/sg/SpaceGame.java index 3a3c7e4..2e174a1 100644 --- a/src/sg/SpaceGame.java +++ b/src/sg/SpaceGame.java @@ -62,6 +62,6 @@ public class SpaceGame extends SimplePhysicsGame { } public void simpleUpdate(){ - environment.setLocalTranslation(cam.getLocation()); + environment.update(); } } \ No newline at end of file diff --git a/src/sg/data/skybox/advanced/front.png b/src/sg/data/skybox/advanced/front.png index 3693f90..1e82b77 100644 Binary files a/src/sg/data/skybox/advanced/front.png and b/src/sg/data/skybox/advanced/front.png differ diff --git a/src/sg/data/skybox/advanced/rest.png b/src/sg/data/skybox/advanced/rest.png index 35ae69e..8c4ab5f 100644 Binary files a/src/sg/data/skybox/advanced/rest.png and b/src/sg/data/skybox/advanced/rest.png differ diff --git a/src/sg/env/Environment.java b/src/sg/env/Environment.java index ef27554..88de1b5 100644 --- a/src/sg/env/Environment.java +++ b/src/sg/env/Environment.java @@ -1,59 +1,38 @@ package sg.env; -import sg.SpaceGame; +import sg.util.SGUtil; import com.jme.image.Texture; import com.jme.scene.Node; import com.jme.scene.Skybox; -import com.jme.util.TextureManager; +import com.jme.system.DisplaySystem; public class Environment extends Node { private static final long serialVersionUID = 1L; + + private Skybox space; public Environment(){ buildSkyBox(); } private void buildSkyBox() { - Skybox skybox = new Skybox("skybox", 500, 500, 500); - Texture north = TextureManager.loadTexture( - SpaceGame.class.getClassLoader().getResource( - "sg/data/skybox/advanced/front.png"), - Texture.MinificationFilter.BilinearNearestMipMap, - Texture.MagnificationFilter.Bilinear); - Texture south = TextureManager.loadTexture( - SpaceGame.class.getClassLoader().getResource( - "sg/data/skybox/advanced/rest.png"), - Texture.MinificationFilter.BilinearNearestMipMap, - Texture.MagnificationFilter.Bilinear); - Texture east = TextureManager.loadTexture( - SpaceGame.class.getClassLoader().getResource( - "sg/data/skybox/advanced/rest.png"), - Texture.MinificationFilter.BilinearNearestMipMap, - Texture.MagnificationFilter.Bilinear); - Texture west = TextureManager.loadTexture( - SpaceGame.class.getClassLoader().getResource( - "sg/data/skybox/advanced/rest.png"), - Texture.MinificationFilter.BilinearNearestMipMap, - Texture.MagnificationFilter.Bilinear); - Texture up = TextureManager.loadTexture( - SpaceGame.class.getClassLoader().getResource( - "sg/data/skybox/advanced/rest.png"), - Texture.MinificationFilter.BilinearNearestMipMap, - Texture.MagnificationFilter.Bilinear); - Texture down = TextureManager.loadTexture( - SpaceGame.class.getClassLoader().getResource( - "sg/data/skybox/advanced/rest.png"), - Texture.MinificationFilter.BilinearNearestMipMap, - Texture.MagnificationFilter.Bilinear); - skybox.setTexture(Skybox.Face.North, north); - skybox.setTexture(Skybox.Face.West, west); - skybox.setTexture(Skybox.Face.South, south); - skybox.setTexture(Skybox.Face.East, east); - skybox.setTexture(Skybox.Face.Up, up); - skybox.setTexture(Skybox.Face.Down, down); - skybox.preloadTextures(); - skybox.updateRenderState(); - this.attachChild(skybox); + space = new Skybox("space", 500, 500, 500); + Texture north = SGUtil.loadTexture("sg/data/skybox/advanced/front.png"); + Texture rest = SGUtil.loadTexture("sg/data/skybox/advanced/rest.png"); + + space.setTexture(Skybox.Face.North, north); + space.setTexture(Skybox.Face.West, rest); + space.setTexture(Skybox.Face.South, rest); + space.setTexture(Skybox.Face.East, rest); + space.setTexture(Skybox.Face.Up, rest); + space.setTexture(Skybox.Face.Down, rest); + space.preloadTextures(); + space.updateRenderState(); + this.attachChild(space); + } + + public void update(){ + space.setLocalTranslation(DisplaySystem.getDisplaySystem().getRenderer().getCamera().getLocation()); } } diff --git a/src/sg/util/Util.java b/src/sg/util/SGUtil.java similarity index 83% rename from src/sg/util/Util.java rename to src/sg/util/SGUtil.java index 6332b4f..c0488f9 100644 --- a/src/sg/util/Util.java +++ b/src/sg/util/SGUtil.java @@ -8,10 +8,10 @@ import java.net.URISyntaxException; import java.net.URL; import com.jme.bounding.BoundingBox; +import com.jme.image.Texture; import com.jme.scene.Node; import com.jme.scene.Spatial; -import com.jme.scene.state.ZBufferState; -import com.jme.system.DisplaySystem; +import com.jme.util.TextureManager; import com.jme.util.export.binary.BinaryImporter; import com.jme.util.resource.ResourceLocatorTool; import com.jme.util.resource.SimpleResourceLocator; @@ -29,12 +29,12 @@ import com.jmex.model.converters.ObjToJme; * @author Erick B Passos * */ -public class Util { +public class SGUtil { // So JME can find the model textures easily. private static URL textureSearchPath; static { - textureSearchPath = Util.class.getClassLoader().getResource("tancz/test/physics/vehicle/data/"); + textureSearchPath = SGUtil.class.getClassLoader().getResource("sg/data/"); try { ResourceLocatorTool.addResourceLocator(ResourceLocatorTool.TYPE_TEXTURE, new SimpleResourceLocator(textureSearchPath)); } catch (URISyntaxException e) { @@ -85,15 +85,30 @@ public class Util { return null; } + /** + * Loads textures + * + * @param url is the path to the texture + * @return an texture + */ + public static Texture loadTexture(String url){ + return TextureManager.loadTexture( + FileFinder.findURL(url), + Texture.MinificationFilter.BilinearNearestMipMap, + Texture.MagnificationFilter.Bilinear); + } + + /** * Helper method to apply a ZBufferState to a node. * @param node */ + /* public static void applyZBuffer(Node node) { ZBufferState zbuf = DisplaySystem.getDisplaySystem().getRenderer().createZBufferState(); zbuf.setWritable(false); zbuf.setEnabled(true); zbuf.setFunction(ZBufferState.CF_LEQUAL); node.setRenderState(zbuf); - } + }*/ }