Java Code Examples for com.jme3.scene.Geometry#rotate()
The following examples show how to use
com.jme3.scene.Geometry#rotate() .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: MapDrawer.java From OpenRTS with MIT License | 6 votes |
private void attachNaturalCliff(Cliff c) { Node n = new Node(); tilesSpatial.get(c.getTile()).add(n); castAndReceiveNode.attachChild(n); NaturalFace face = (NaturalFace) (c.face); Geometry g = new Geometry(); g.setMesh(TranslateUtil.toJMEMesh(face.mesh)); if (face.color != null) { g.setMaterial(MaterialManager.getLightingColor(TranslateUtil.toColorRGBA(face.color))); } else { g.setMaterial(MaterialManager.getLightingTexture(face.texturePath)); } // g.setMaterial(mm.getLightingTexture("textures/road.jpg")); g.rotate(0, 0, (float) (c.angle)); g.setLocalTranslation((float)c.getTile().getCoord().x + 0.5f, (float)c.getTile().getCoord().y + 0.5f, (float) (c.level * Tile.STAGE_HEIGHT)); n.attachChild(g); }
Example 2
Source File: TestAnisotropicFilter.java From jmonkeyengine with BSD 3-Clause "New" or "Revised" License | 6 votes |
@Override public void simpleInitApp() { maxAniso = renderer.getLimits().get(Limits.TextureAnisotropy); flyCam.setDragToRotate(true); flyCam.setMoveSpeed(100); cam.setLocation(new Vector3f(197.02617f, 4.6769195f, -194.89545f)); cam.setRotation(new Quaternion(0.07921988f, 0.8992258f, -0.18292196f, 0.38943136f)); Quad q = new Quad(1000, 1000); q.scaleTextureCoordinates(new Vector2f(1000, 1000)); Geometry geom = new Geometry("quad", q); geom.rotate(-FastMath.HALF_PI, 0, 0); geom.setMaterial(createCheckerBoardMaterial(assetManager)); rootNode.attachChild(geom); inputManager.addMapping("higher", new KeyTrigger(KeyInput.KEY_1)); inputManager.addMapping("lower", new KeyTrigger(KeyInput.KEY_2)); inputManager.addListener(this, "higher"); inputManager.addListener(this, "lower"); }
Example 3
Source File: TestDoppler.java From jmonkeyengine with BSD 3-Clause "New" or "Revised" License | 6 votes |
@Override public void simpleInitApp() { flyCam.setMoveSpeed(10); Torus torus = new Torus(10, 6, 1, 3); Geometry g = new Geometry("Torus Geom", torus); g.rotate(-FastMath.HALF_PI, 0, 0); g.center(); g.setMaterial(assetManager.loadMaterial("Common/Materials/RedColor.j3m")); // rootNode.attachChild(g); ufoNode = new AudioNode(assetManager, "Sound/Effects/Beep.ogg", AudioData.DataType.Buffer); ufoNode.setLooping(true); ufoNode.setPitch(0.5f); ufoNode.setRefDistance(1); ufoNode.setMaxDistance(100000000); ufoNode.setVelocityFromTranslation(true); ufoNode.play(); Geometry ball = new Geometry("Beeper", new Sphere(10, 10, 0.1f)); ball.setMaterial(assetManager.loadMaterial("Common/Materials/RedColor.j3m")); ufoNode.attachChild(ball); rootNode.attachChild(ufoNode); }
Example 4
Source File: TestBatchNodeTower.java From MikuMikuStudio with BSD 2-Clause "Simplified" License | 5 votes |
public void addBrick(Vector3f ori) { Geometry reBoxg = new Geometry("brick", brick); reBoxg.setMaterial(mat); reBoxg.setLocalTranslation(ori); reBoxg.rotate(0f, (float)Math.toRadians(angle) , 0f ); reBoxg.addControl(new RigidBodyControl(1.5f)); reBoxg.setShadowMode(ShadowMode.CastAndReceive); reBoxg.getControl(RigidBodyControl.class).setFriction(1.6f); this.batchNode.attachChild(reBoxg); this.getPhysicsSpace().add(reBoxg); nbBrick++; }
Example 5
Source File: TestLightRadius.java From MikuMikuStudio with BSD 2-Clause "Simplified" License | 5 votes |
@Override public void simpleInitApp() { Torus torus = new Torus(10, 6, 1, 3); // Torus torus = new Torus(50, 30, 1, 3); Geometry g = new Geometry("Torus Geom", torus); g.rotate(-FastMath.HALF_PI, 0, 0); g.center(); // g.move(0, 1, 0); Material mat = new Material(assetManager, "Common/MatDefs/Light/Lighting.j3md"); mat.setFloat("Shininess", 32f); mat.setBoolean("UseMaterialColors", true); mat.setColor("Ambient", ColorRGBA.Black); mat.setColor("Diffuse", ColorRGBA.White); mat.setColor("Specular", ColorRGBA.White); // mat.setBoolean("VertexLighting", true); // mat.setBoolean("LowQuality", true); g.setMaterial(mat); rootNode.attachChild(g); lightMdl = new Geometry("Light", new Sphere(10, 10, 0.1f)); lightMdl.setMaterial(assetManager.loadMaterial("Common/Materials/RedColor.j3m")); rootNode.attachChild(lightMdl); pl = new PointLight(); pl.setColor(ColorRGBA.Green); pl.setRadius(4f); rootNode.addLight(pl); DirectionalLight dl = new DirectionalLight(); dl.setColor(ColorRGBA.Red); dl.setDirection(new Vector3f(0, 1, 0)); rootNode.addLight(dl); }
Example 6
Source File: TestTangentCube.java From jmonkeyengine with BSD 3-Clause "New" or "Revised" License | 5 votes |
@Override public void simpleInitApp() { Box aBox = new Box(1, 1, 1); Geometry aGeometry = new Geometry("Box", aBox); TangentBinormalGenerator.generate(aBox); Material aMaterial = new Material(assetManager, "Common/MatDefs/Light/Lighting.j3md"); aMaterial.setTexture("DiffuseMap", assetManager.loadTexture("Textures/Terrain/BrickWall/BrickWall.jpg")); aMaterial.setTexture("NormalMap", assetManager.loadTexture("Textures/Terrain/BrickWall/BrickWall_normal.jpg")); aMaterial.setBoolean("UseMaterialColors", false); aMaterial.setColor("Diffuse", ColorRGBA.White); aMaterial.setColor("Specular", ColorRGBA.White); aMaterial.setFloat("Shininess", 64f); aGeometry.setMaterial(aMaterial); // Rotate 45 degrees to see multiple faces aGeometry.rotate(FastMath.QUARTER_PI, FastMath.QUARTER_PI, 0.0f); rootNode.attachChild(aGeometry); /** * Must add a light to make the lit object visible! */ PointLight aLight = new PointLight(); aLight.setPosition(new Vector3f(0, 3, 3)); aLight.setColor(ColorRGBA.Red); rootNode.addLight(aLight); // // AmbientLight bLight = new AmbientLight(); // bLight.setColor(ColorRGBA.Gray); // rootNode.addLight(bLight); ChaseCameraAppState chaser = new ChaseCameraAppState(); chaser.setTarget(aGeometry); getStateManager().attach(chaser); }
Example 7
Source File: TestLightRadius.java From jmonkeyengine with BSD 3-Clause "New" or "Revised" License | 5 votes |
@Override public void simpleInitApp() { Torus torus = new Torus(10, 6, 1, 3); // Torus torus = new Torus(50, 30, 1, 3); Geometry g = new Geometry("Torus Geom", torus); g.rotate(-FastMath.HALF_PI, 0, 0); g.center(); // g.move(0, 1, 0); Material mat = new Material(assetManager, "Common/MatDefs/Light/Lighting.j3md"); mat.setFloat("Shininess", 32f); mat.setBoolean("UseMaterialColors", true); mat.setColor("Ambient", ColorRGBA.Black); mat.setColor("Diffuse", ColorRGBA.White); mat.setColor("Specular", ColorRGBA.White); // mat.setBoolean("VertexLighting", true); // mat.setBoolean("LowQuality", true); g.setMaterial(mat); rootNode.attachChild(g); lightMdl = new Geometry("Light", new Sphere(10, 10, 0.1f)); lightMdl.setMaterial(assetManager.loadMaterial("Common/Materials/RedColor.j3m")); rootNode.attachChild(lightMdl); pl = new PointLight(); pl.setColor(ColorRGBA.Green); pl.setRadius(4f); rootNode.addLight(pl); DirectionalLight dl = new DirectionalLight(); dl.setColor(ColorRGBA.Red); dl.setDirection(new Vector3f(0, 1, 0)); rootNode.addLight(dl); }
Example 8
Source File: TestSkeletonControlRefresh.java From jmonkeyengine with BSD 3-Clause "New" or "Revised" License | 5 votes |
public void setupFloor() { Quad q = new Quad(20, 20); q.scaleTextureCoordinates(Vector2f.UNIT_XY.mult(10)); Geometry geom = new Geometry("floor", q); Material mat = new Material(assetManager, "Common/MatDefs/Misc/Unshaded.j3md"); mat.setColor("Color", ColorRGBA.White); geom.setMaterial(mat); geom.rotate(-FastMath.HALF_PI, 0, 0); geom.center(); geom.move(0, -0.3f, 0); geom.setShadowMode(RenderQueue.ShadowMode.Receive); rootNode.attachChild(geom); }
Example 9
Source File: TestBrickTower.java From jmonkeyengine with BSD 3-Clause "New" or "Revised" License | 5 votes |
public void addBrick(Vector3f ori) { Geometry reBoxg = new Geometry("brick", brick); reBoxg.setMaterial(mat); reBoxg.setLocalTranslation(ori); reBoxg.rotate(0f, (float)Math.toRadians(angle) , 0f ); reBoxg.addControl(new RigidBodyControl(1.5f)); reBoxg.setShadowMode(ShadowMode.CastAndReceive); reBoxg.getControl(RigidBodyControl.class).setFriction(1.6f); this.rootNode.attachChild(reBoxg); this.getPhysicsSpace().add(reBoxg); }
Example 10
Source File: TestBrickTower.java From MikuMikuStudio with BSD 2-Clause "Simplified" License | 5 votes |
public void addBrick(Vector3f ori) { Geometry reBoxg = new Geometry("brick", brick); reBoxg.setMaterial(mat); reBoxg.setLocalTranslation(ori); reBoxg.rotate(0f, (float)Math.toRadians(angle) , 0f ); reBoxg.addControl(new RigidBodyControl(1.5f)); reBoxg.setShadowMode(ShadowMode.CastAndReceive); reBoxg.getControl(RigidBodyControl.class).setFriction(1.6f); this.rootNode.attachChild(reBoxg); this.getPhysicsSpace().add(reBoxg); }
Example 11
Source File: TestLightNode.java From MikuMikuStudio with BSD 2-Clause "Simplified" License | 4 votes |
@Override public void simpleInitApp() { Torus torus = new Torus(10, 6, 1, 3); // Torus torus = new Torus(50, 30, 1, 3); Geometry g = new Geometry("Torus Geom", torus); g.rotate(-FastMath.HALF_PI, 0, 0); g.center(); // g.move(0, 1, 0); Material mat = new Material(assetManager, "Common/MatDefs/Light/Lighting.j3md"); mat.setFloat("Shininess", 32f); mat.setBoolean("UseMaterialColors", true); mat.setColor("Ambient", ColorRGBA.Black); mat.setColor("Diffuse", ColorRGBA.White); mat.setColor("Specular", ColorRGBA.White); // mat.setBoolean("VertexLighting", true); // mat.setBoolean("LowQuality", true); g.setMaterial(mat); rootNode.attachChild(g); Geometry lightMdl = new Geometry("Light", new Sphere(10, 10, 0.1f)); lightMdl.setMaterial(assetManager.loadMaterial("Common/Materials/RedColor.j3m")); movingNode=new Node("lightParentNode"); movingNode.attachChild(lightMdl); rootNode.attachChild(movingNode); PointLight pl = new PointLight(); pl.setColor(ColorRGBA.Green); pl.setRadius(4f); rootNode.addLight(pl); LightNode lightNode=new LightNode("pointLight", pl); movingNode.attachChild(lightNode); DirectionalLight dl = new DirectionalLight(); dl.setColor(ColorRGBA.Red); dl.setDirection(new Vector3f(0, 1, 0)); rootNode.addLight(dl); }
Example 12
Source File: TestTransparentSSAO.java From MikuMikuStudio with BSD 2-Clause "Simplified" License | 4 votes |
public void simpleInitApp() { renderManager.setAlphaToCoverage(true); cam.setLocation(new Vector3f(0.14914267f, 0.58147097f, 4.7686534f)); cam.setRotation(new Quaternion(-0.0044764364f, 0.9767943f, 0.21314798f, 0.020512417f)); // cam.setLocation(new Vector3f(2.0606942f, 3.20342f, 6.7860126f)); // cam.setRotation(new Quaternion(-0.017481906f, 0.98241085f, -0.12393151f, -0.13857932f)); viewPort.setBackgroundColor(ColorRGBA.DarkGray); Quad q = new Quad(20, 20); q.scaleTextureCoordinates(Vector2f.UNIT_XY.mult(5)); Geometry geom = new Geometry("floor", q); Material mat = assetManager.loadMaterial("Textures/Terrain/Pond/Pond.j3m"); geom.setMaterial(mat); geom.rotate(-FastMath.HALF_PI, 0, 0); geom.center(); geom.setShadowMode(ShadowMode.Receive); rootNode.attachChild(geom); // create the geometry and attach it Spatial teaGeom = assetManager.loadModel("Models/Tree/Tree2.mesh.xml"); teaGeom.setQueueBucket(Bucket.Transparent); teaGeom.setShadowMode(ShadowMode.Cast); AmbientLight al = new AmbientLight(); al.setColor(ColorRGBA.White.mult(2)); rootNode.addLight(al); DirectionalLight dl1 = new DirectionalLight(); dl1.setDirection(new Vector3f(1, -1, 1).normalizeLocal()); dl1.setColor(new ColorRGBA(0.965f, 0.949f, 0.772f, 1f).mult(0.7f)); rootNode.addLight(dl1); DirectionalLight dl = new DirectionalLight(); dl.setDirection(new Vector3f(-1, -1, -1).normalizeLocal()); dl.setColor(new ColorRGBA(0.965f, 0.949f, 0.772f, 1f).mult(0.7f)); rootNode.addLight(dl); rootNode.attachChild(teaGeom); FilterPostProcessor fpp = new FilterPostProcessor(assetManager); SSAOFilter ssao = new SSAOFilter(0.49997783f, 42.598858f, 35.999966f, 0.39299846f); fpp.addFilter(ssao); SSAOUI ui = new SSAOUI(inputManager, ssao); viewPort.addProcessor(fpp); }
Example 13
Source File: TestTransparentCartoonEdge.java From MikuMikuStudio with BSD 2-Clause "Simplified" License | 4 votes |
public void simpleInitApp() { renderManager.setAlphaToCoverage(true); cam.setLocation(new Vector3f(0.14914267f, 0.58147097f, 4.7686534f)); cam.setRotation(new Quaternion(-0.0044764364f, 0.9767943f, 0.21314798f, 0.020512417f)); // cam.setLocation(new Vector3f(2.0606942f, 3.20342f, 6.7860126f)); // cam.setRotation(new Quaternion(-0.017481906f, 0.98241085f, -0.12393151f, -0.13857932f)); viewPort.setBackgroundColor(ColorRGBA.DarkGray); Quad q = new Quad(20, 20); q.scaleTextureCoordinates(Vector2f.UNIT_XY.mult(5)); Geometry geom = new Geometry("floor", q); Material mat = assetManager.loadMaterial("Textures/Terrain/Pond/Pond.j3m"); geom.setMaterial(mat); geom.rotate(-FastMath.HALF_PI, 0, 0); geom.center(); geom.setShadowMode(ShadowMode.Receive); rootNode.attachChild(geom); // create the geometry and attach it Spatial teaGeom = assetManager.loadModel("Models/Tree/Tree2.mesh.xml"); teaGeom.setQueueBucket(Bucket.Transparent); teaGeom.setShadowMode(ShadowMode.Cast); makeToonish(teaGeom); AmbientLight al = new AmbientLight(); al.setColor(ColorRGBA.White.mult(2)); rootNode.addLight(al); DirectionalLight dl1 = new DirectionalLight(); dl1.setDirection(new Vector3f(1, -1, 1).normalizeLocal()); dl1.setColor(new ColorRGBA(0.965f, 0.949f, 0.772f, 1f).mult(0.7f)); rootNode.addLight(dl1); DirectionalLight dl = new DirectionalLight(); dl.setDirection(new Vector3f(-1, -1, -1).normalizeLocal()); dl.setColor(new ColorRGBA(0.965f, 0.949f, 0.772f, 1f).mult(0.7f)); rootNode.addLight(dl); rootNode.attachChild(teaGeom); FilterPostProcessor fpp=new FilterPostProcessor(assetManager); CartoonEdgeFilter toon=new CartoonEdgeFilter(); toon.setEdgeWidth(0.5f); toon.setEdgeIntensity(1.0f); toon.setNormalThreshold(0.8f); fpp.addFilter(toon); viewPort.addProcessor(fpp); }
Example 14
Source File: TestPhysicsCar.java From MikuMikuStudio with BSD 2-Clause "Simplified" License | 4 votes |
private void buildPlayer() { Material mat = new Material(getAssetManager(), "Common/MatDefs/Misc/Unshaded.j3md"); mat.getAdditionalRenderState().setWireframe(true); mat.setColor("Color", ColorRGBA.Red); //create a compound shape and attach the BoxCollisionShape for the car body at 0,1,0 //this shifts the effective center of mass of the BoxCollisionShape to 0,-1,0 CompoundCollisionShape compoundShape = new CompoundCollisionShape(); BoxCollisionShape box = new BoxCollisionShape(new Vector3f(1.2f, 0.5f, 2.4f)); compoundShape.addChildShape(box, new Vector3f(0, 1, 0)); //create vehicle node Node vehicleNode=new Node("vehicleNode"); vehicle = new VehicleControl(compoundShape, 400); vehicleNode.addControl(vehicle); //setting suspension values for wheels, this can be a bit tricky //see also https://docs.google.com/Doc?docid=0AXVUZ5xw6XpKZGNuZG56a3FfMzU0Z2NyZnF4Zmo&hl=en float stiffness = 60.0f;//200=f1 car float compValue = .3f; //(should be lower than damp) float dampValue = .4f; vehicle.setSuspensionCompression(compValue * 2.0f * FastMath.sqrt(stiffness)); vehicle.setSuspensionDamping(dampValue * 2.0f * FastMath.sqrt(stiffness)); vehicle.setSuspensionStiffness(stiffness); vehicle.setMaxSuspensionForce(10000.0f); //Create four wheels and add them at their locations Vector3f wheelDirection = new Vector3f(0, -1, 0); // was 0, -1, 0 Vector3f wheelAxle = new Vector3f(-1, 0, 0); // was -1, 0, 0 float radius = 0.5f; float restLength = 0.3f; float yOff = 0.5f; float xOff = 1f; float zOff = 2f; Cylinder wheelMesh = new Cylinder(16, 16, radius, radius * 0.6f, true); Node node1 = new Node("wheel 1 node"); Geometry wheels1 = new Geometry("wheel 1", wheelMesh); node1.attachChild(wheels1); wheels1.rotate(0, FastMath.HALF_PI, 0); wheels1.setMaterial(mat); vehicle.addWheel(node1, new Vector3f(-xOff, yOff, zOff), wheelDirection, wheelAxle, restLength, radius, true); Node node2 = new Node("wheel 2 node"); Geometry wheels2 = new Geometry("wheel 2", wheelMesh); node2.attachChild(wheels2); wheels2.rotate(0, FastMath.HALF_PI, 0); wheels2.setMaterial(mat); vehicle.addWheel(node2, new Vector3f(xOff, yOff, zOff), wheelDirection, wheelAxle, restLength, radius, true); Node node3 = new Node("wheel 3 node"); Geometry wheels3 = new Geometry("wheel 3", wheelMesh); node3.attachChild(wheels3); wheels3.rotate(0, FastMath.HALF_PI, 0); wheels3.setMaterial(mat); vehicle.addWheel(node3, new Vector3f(-xOff, yOff, -zOff), wheelDirection, wheelAxle, restLength, radius, false); Node node4 = new Node("wheel 4 node"); Geometry wheels4 = new Geometry("wheel 4", wheelMesh); node4.attachChild(wheels4); wheels4.rotate(0, FastMath.HALF_PI, 0); wheels4.setMaterial(mat); vehicle.addWheel(node4, new Vector3f(xOff, yOff, -zOff), wheelDirection, wheelAxle, restLength, radius, false); vehicleNode.attachChild(node1); vehicleNode.attachChild(node2); vehicleNode.attachChild(node3); vehicleNode.attachChild(node4); rootNode.attachChild(vehicleNode); getPhysicsSpace().add(vehicle); }
Example 15
Source File: TestPhysicsCar.java From jmonkeyengine with BSD 3-Clause "New" or "Revised" License | 4 votes |
private void buildPlayer() { Material mat = new Material(getAssetManager(), "Common/MatDefs/Misc/Unshaded.j3md"); mat.getAdditionalRenderState().setWireframe(true); mat.setColor("Color", ColorRGBA.Red); //create a compound shape and attach the BoxCollisionShape for the car body at 0,1,0 //this shifts the effective center of mass of the BoxCollisionShape to 0,-1,0 CompoundCollisionShape compoundShape = new CompoundCollisionShape(); BoxCollisionShape box = new BoxCollisionShape(new Vector3f(1.2f, 0.5f, 2.4f)); compoundShape.addChildShape(box, new Vector3f(0, 1, 0)); //create vehicle node Node vehicleNode=new Node("vehicleNode"); vehicle = new VehicleControl(compoundShape, 400); vehicleNode.addControl(vehicle); //setting suspension values for wheels, this can be a bit tricky //see also https://docs.google.com/Doc?docid=0AXVUZ5xw6XpKZGNuZG56a3FfMzU0Z2NyZnF4Zmo&hl=en float stiffness = 60.0f;//200=f1 car float compValue = .3f; //(should be lower than damp) float dampValue = .4f; vehicle.setSuspensionCompression(compValue * 2.0f * FastMath.sqrt(stiffness)); vehicle.setSuspensionDamping(dampValue * 2.0f * FastMath.sqrt(stiffness)); vehicle.setSuspensionStiffness(stiffness); vehicle.setMaxSuspensionForce(10000.0f); //Create four wheels and add them at their locations Vector3f wheelDirection = new Vector3f(0, -1, 0); // was 0, -1, 0 Vector3f wheelAxle = new Vector3f(-1, 0, 0); // was -1, 0, 0 float radius = 0.5f; float restLength = 0.3f; float yOff = 0.5f; float xOff = 1f; float zOff = 2f; Cylinder wheelMesh = new Cylinder(16, 16, radius, radius * 0.6f, true); Node node1 = new Node("wheel 1 node"); Geometry wheels1 = new Geometry("wheel 1", wheelMesh); node1.attachChild(wheels1); wheels1.rotate(0, FastMath.HALF_PI, 0); wheels1.setMaterial(mat); vehicle.addWheel(node1, new Vector3f(-xOff, yOff, zOff), wheelDirection, wheelAxle, restLength, radius, true); Node node2 = new Node("wheel 2 node"); Geometry wheels2 = new Geometry("wheel 2", wheelMesh); node2.attachChild(wheels2); wheels2.rotate(0, FastMath.HALF_PI, 0); wheels2.setMaterial(mat); vehicle.addWheel(node2, new Vector3f(xOff, yOff, zOff), wheelDirection, wheelAxle, restLength, radius, true); Node node3 = new Node("wheel 3 node"); Geometry wheels3 = new Geometry("wheel 3", wheelMesh); node3.attachChild(wheels3); wheels3.rotate(0, FastMath.HALF_PI, 0); wheels3.setMaterial(mat); vehicle.addWheel(node3, new Vector3f(-xOff, yOff, -zOff), wheelDirection, wheelAxle, restLength, radius, false); Node node4 = new Node("wheel 4 node"); Geometry wheels4 = new Geometry("wheel 4", wheelMesh); node4.attachChild(wheels4); wheels4.rotate(0, FastMath.HALF_PI, 0); wheels4.setMaterial(mat); vehicle.addWheel(node4, new Vector3f(xOff, yOff, -zOff), wheelDirection, wheelAxle, restLength, radius, false); vehicleNode.attachChild(node1); vehicleNode.attachChild(node2); vehicleNode.attachChild(node3); vehicleNode.attachChild(node4); rootNode.attachChild(vehicleNode); getPhysicsSpace().add(vehicle); }
Example 16
Source File: TestLightNode.java From jmonkeyengine with BSD 3-Clause "New" or "Revised" License | 4 votes |
@Override public void simpleInitApp() { Torus torus = new Torus(10, 6, 1, 3); // Torus torus = new Torus(50, 30, 1, 3); Geometry g = new Geometry("Torus Geom", torus); g.rotate(-FastMath.HALF_PI, 0, 0); g.center(); // g.move(0, 1, 0); Material mat = new Material(assetManager, "Common/MatDefs/Light/Lighting.j3md"); mat.setFloat("Shininess", 32f); mat.setBoolean("UseMaterialColors", true); mat.setColor("Ambient", ColorRGBA.Black); mat.setColor("Diffuse", ColorRGBA.White); mat.setColor("Specular", ColorRGBA.White); // mat.setBoolean("VertexLighting", true); // mat.setBoolean("LowQuality", true); g.setMaterial(mat); rootNode.attachChild(g); Geometry lightMdl = new Geometry("Light", new Sphere(10, 10, 0.1f)); lightMdl.setMaterial(assetManager.loadMaterial("Common/Materials/RedColor.j3m")); movingNode=new Node("lightParentNode"); movingNode.attachChild(lightMdl); rootNode.attachChild(movingNode); PointLight pl = new PointLight(); pl.setColor(ColorRGBA.Green); pl.setRadius(4f); rootNode.addLight(pl); LightNode lightNode=new LightNode("pointLight", pl); movingNode.attachChild(lightNode); DirectionalLight dl = new DirectionalLight(); dl.setColor(ColorRGBA.Red); dl.setDirection(new Vector3f(0, 1, 0)); rootNode.addLight(dl); }
Example 17
Source File: TestTransparentShadow.java From jmonkeyengine with BSD 3-Clause "New" or "Revised" License | 4 votes |
@Override public void simpleInitApp() { cam.setLocation(new Vector3f(5.700248f, 6.161693f, 5.1404157f)); cam.setRotation(new Quaternion(-0.09441641f, 0.8993388f, -0.24089815f, -0.35248178f)); viewPort.setBackgroundColor(ColorRGBA.DarkGray); Quad q = new Quad(20, 20); q.scaleTextureCoordinates(Vector2f.UNIT_XY.mult(10)); TangentBinormalGenerator.generate(q); Geometry geom = new Geometry("floor", q); Material mat = assetManager.loadMaterial("Textures/Terrain/Pond/Pond.j3m"); geom.setMaterial(mat); geom.rotate(-FastMath.HALF_PI, 0, 0); geom.center(); geom.setShadowMode(ShadowMode.CastAndReceive); rootNode.attachChild(geom); AmbientLight al = new AmbientLight(); al.setColor(ColorRGBA.White.mult(0.7f)); rootNode.addLight(al); DirectionalLight dl1 = new DirectionalLight(); dl1.setDirection(new Vector3f(0, -1, 0.5f).normalizeLocal()); dl1.setColor(ColorRGBA.White.mult(1.5f)); rootNode.addLight(dl1); // create the geometry and attach it Spatial tree = assetManager.loadModel("Models/Tree/Tree.mesh.j3o"); tree.setQueueBucket(Bucket.Transparent); tree.setShadowMode(ShadowMode.CastAndReceive); rootNode.attachChild(tree); // Uses Texture from jme3-test-data library! ParticleEmitter fire = new ParticleEmitter("Emitter", ParticleMesh.Type.Triangle, 30); Material mat_red = new Material(assetManager, "Common/MatDefs/Misc/Particle.j3md"); mat_red.setTexture("Texture", assetManager.loadTexture("Effects/Explosion/flame.png")); fire.setShadowMode(ShadowMode.Cast); fire.setMaterial(mat_red); fire.setImagesX(2); fire.setImagesY(2); // 2x2 texture animation fire.setEndColor(new ColorRGBA(1f, 0f, 0f, 1f)); // red fire.setStartColor(new ColorRGBA(1f, 1f, 0f, 0.5f)); // yellow fire.getParticleInfluencer().setInitialVelocity(new Vector3f(0, 2, 0)); fire.setStartSize(0.6f); fire.setEndSize(0.1f); fire.setGravity(0, 0, 0); fire.setLowLife(0.5f); fire.setHighLife(1.5f); fire.getParticleInfluencer().setVelocityVariation(0.3f); fire.setLocalTranslation(5.0f, 0, 1.0f); fire.setLocalScale(0.3f); fire.setQueueBucket(Bucket.Translucent); rootNode.attachChild(fire); Material mat2 = assetManager.loadMaterial("Common/Materials/RedColor.j3m"); Geometry ball = new Geometry("sphere", new Sphere(16, 16, 0.5f)); ball.setMaterial(mat2); ball.setShadowMode(ShadowMode.CastAndReceive); rootNode.attachChild(ball); ball.setLocalTranslation(-1.0f, 1.5f, 1.0f); final DirectionalLightShadowRenderer dlsRenderer = new DirectionalLightShadowRenderer(assetManager, 1024, 1); dlsRenderer.setLight(dl1); dlsRenderer.setLambda(0.55f); dlsRenderer.setShadowIntensity(0.8f); dlsRenderer.setShadowCompareMode(CompareMode.Software); dlsRenderer.setEdgeFilteringMode(EdgeFilteringMode.Nearest); dlsRenderer.displayDebug(); viewPort.addProcessor(dlsRenderer); inputManager.addMapping("stabilize", new KeyTrigger(KeyInput.KEY_B)); inputManager.addListener(new ActionListener() { @Override public void onAction(String name, boolean isPressed, float tpf) { if (name.equals("stabilize") && isPressed) { dlsRenderer.setEnabledStabilization(!dlsRenderer.isEnabledStabilization()) ; } } }, "stabilize"); }
Example 18
Source File: TestTransparentSSAO.java From jmonkeyengine with BSD 3-Clause "New" or "Revised" License | 4 votes |
@Override public void simpleInitApp() { renderManager.setAlphaToCoverage(true); cam.setLocation(new Vector3f(0.14914267f, 0.58147097f, 4.7686534f)); cam.setRotation(new Quaternion(-0.0044764364f, 0.9767943f, 0.21314798f, 0.020512417f)); // cam.setLocation(new Vector3f(2.0606942f, 3.20342f, 6.7860126f)); // cam.setRotation(new Quaternion(-0.017481906f, 0.98241085f, -0.12393151f, -0.13857932f)); viewPort.setBackgroundColor(ColorRGBA.DarkGray); Quad q = new Quad(20, 20); q.scaleTextureCoordinates(Vector2f.UNIT_XY.mult(5)); Geometry geom = new Geometry("floor", q); Material mat = assetManager.loadMaterial("Textures/Terrain/Pond/Pond.j3m"); geom.setMaterial(mat); geom.rotate(-FastMath.HALF_PI, 0, 0); geom.center(); geom.setShadowMode(ShadowMode.Receive); TangentBinormalGenerator.generate(geom); rootNode.attachChild(geom); // create the geometry and attach it Spatial teaGeom = assetManager.loadModel("Models/Tree/Tree.mesh.j3o"); teaGeom.setQueueBucket(Bucket.Transparent); teaGeom.setShadowMode(ShadowMode.Cast); AmbientLight al = new AmbientLight(); al.setColor(ColorRGBA.White.mult(2)); rootNode.addLight(al); DirectionalLight dl1 = new DirectionalLight(); dl1.setDirection(new Vector3f(1, -1, 1).normalizeLocal()); dl1.setColor(new ColorRGBA(0.965f, 0.949f, 0.772f, 1f).mult(0.7f)); rootNode.addLight(dl1); DirectionalLight dl = new DirectionalLight(); dl.setDirection(new Vector3f(-1, -1, -1).normalizeLocal()); dl.setColor(new ColorRGBA(0.965f, 0.949f, 0.772f, 1f).mult(0.7f)); rootNode.addLight(dl); rootNode.attachChild(teaGeom); FilterPostProcessor fpp = new FilterPostProcessor(assetManager); SSAOFilter ssao = new SSAOFilter();//0.49997783f, 42.598858f, 35.999966f, 0.39299846f fpp.addFilter(ssao); SSAOUI ui = new SSAOUI(inputManager, ssao); viewPort.addProcessor(fpp); }
Example 19
Source File: TestTransparentCartoonEdge.java From jmonkeyengine with BSD 3-Clause "New" or "Revised" License | 4 votes |
@Override public void simpleInitApp() { renderManager.setAlphaToCoverage(true); cam.setLocation(new Vector3f(0.14914267f, 0.58147097f, 4.7686534f)); cam.setRotation(new Quaternion(-0.0044764364f, 0.9767943f, 0.21314798f, 0.020512417f)); // cam.setLocation(new Vector3f(2.0606942f, 3.20342f, 6.7860126f)); // cam.setRotation(new Quaternion(-0.017481906f, 0.98241085f, -0.12393151f, -0.13857932f)); viewPort.setBackgroundColor(ColorRGBA.DarkGray); Quad q = new Quad(20, 20); q.scaleTextureCoordinates(Vector2f.UNIT_XY.mult(5)); Geometry geom = new Geometry("floor", q); Material mat = assetManager.loadMaterial("Textures/Terrain/Pond/Pond.j3m"); geom.setMaterial(mat); geom.rotate(-FastMath.HALF_PI, 0, 0); geom.center(); geom.setShadowMode(ShadowMode.Receive); rootNode.attachChild(geom); // create the geometry and attach it Spatial teaGeom = assetManager.loadModel("Models/Tree/Tree.mesh.j3o"); teaGeom.setQueueBucket(Bucket.Transparent); teaGeom.setShadowMode(ShadowMode.Cast); makeToonish(teaGeom); AmbientLight al = new AmbientLight(); al.setColor(ColorRGBA.White.mult(2)); rootNode.addLight(al); DirectionalLight dl1 = new DirectionalLight(); dl1.setDirection(new Vector3f(1, -1, 1).normalizeLocal()); dl1.setColor(new ColorRGBA(0.965f, 0.949f, 0.772f, 1f).mult(0.7f)); rootNode.addLight(dl1); DirectionalLight dl = new DirectionalLight(); dl.setDirection(new Vector3f(-1, -1, -1).normalizeLocal()); dl.setColor(new ColorRGBA(0.965f, 0.949f, 0.772f, 1f).mult(0.7f)); rootNode.addLight(dl); rootNode.attachChild(teaGeom); FilterPostProcessor fpp=new FilterPostProcessor(assetManager); CartoonEdgeFilter toon=new CartoonEdgeFilter(); toon.setEdgeWidth(0.5f); toon.setEdgeIntensity(1.0f); toon.setNormalThreshold(0.8f); fpp.addFilter(toon); viewPort.addProcessor(fpp); }
Example 20
Source File: HelloMaterial.java From jmonkeyengine with BSD 3-Clause "New" or "Revised" License | 4 votes |
@Override public void simpleInitApp() { /** A simple textured cube -- in good MIP map quality. */ Box cube1Mesh = new Box( 1f,1f,1f); Geometry cube1Geo = new Geometry("My Textured Box", cube1Mesh); cube1Geo.setLocalTranslation(new Vector3f(-3f,1.1f,0f)); Material cube1Mat = new Material(assetManager, "Common/MatDefs/Misc/Unshaded.j3md"); Texture cube1Tex = assetManager.loadTexture("Interface/Logo/Monkey.jpg"); cube1Mat.setTexture("ColorMap", cube1Tex); cube1Geo.setMaterial(cube1Mat); rootNode.attachChild(cube1Geo); /** A translucent/transparent texture, similar to a window frame. */ Box cube2Mesh = new Box( 1f,1f,0.01f); Geometry cube2Geo = new Geometry("window frame", cube2Mesh); Material cube2Mat = new Material(assetManager, "Common/MatDefs/Misc/Unshaded.j3md"); cube2Mat.setTexture("ColorMap", assetManager.loadTexture("Textures/ColoredTex/Monkey.png")); cube2Mat.getAdditionalRenderState().setBlendMode(BlendMode.Alpha); // activate transparency cube2Geo.setQueueBucket(Bucket.Transparent); cube2Geo.setMaterial(cube2Mat); rootNode.attachChild(cube2Geo); /** A bumpy rock with a shiny light effect. To make bumpy objects you must create a NormalMap. */ Sphere sphereMesh = new Sphere(32,32, 2f); Geometry sphereGeo = new Geometry("Shiny rock", sphereMesh); sphereMesh.setTextureMode(Sphere.TextureMode.Projected); // better quality on spheres TangentBinormalGenerator.generate(sphereMesh); // for lighting effect Material sphereMat = new Material(assetManager, "Common/MatDefs/Light/Lighting.j3md"); sphereMat.setTexture("DiffuseMap", assetManager.loadTexture("Textures/Terrain/Pond/Pond.jpg")); sphereMat.setTexture("NormalMap", assetManager.loadTexture("Textures/Terrain/Pond/Pond_normal.png")); sphereMat.setBoolean("UseMaterialColors",true); sphereMat.setColor("Diffuse",ColorRGBA.White); sphereMat.setColor("Specular",ColorRGBA.White); sphereMat.setFloat("Shininess", 64f); // [0,128] sphereGeo.setMaterial(sphereMat); //sphereGeo.setMaterial((Material) assetManager.loadMaterial("Materials/MyCustomMaterial.j3m")); sphereGeo.setLocalTranslation(0,2,-2); // Move it a bit sphereGeo.rotate(1.6f, 0, 0); // Rotate it a bit rootNode.attachChild(sphereGeo); /** Must add a light to make the lit object visible! */ DirectionalLight sun = new DirectionalLight(); sun.setDirection(new Vector3f(1,0,-2).normalizeLocal()); sun.setColor(ColorRGBA.White); rootNode.addLight(sun); }