private DirectionalLight findLight(Node node) { for (Light light : node.getWorldLightList()) { if (light instanceof DirectionalLight) { return (DirectionalLight) light; } } for (Spatial child : node.getChildren()) { if (child instanceof Node) { return findLight((Node) child); } } return null; }
water = new WaterFilter(rootNode, lightDir); water.setCenter(new Vector3f(9.628218f, -15.830074f, 199.23595f)); water.setRadius(260); water.setWaveScale(0.003f); water.setMaxAmplitude(2f); water.setFoamExistence(new Vector3f(1f, 4, 0.5f)); water.setFoamTexture((Texture2D) assetManager.loadTexture("Common/MatDefs/Water/Textures/foam2.jpg")); water.setRefractionStrength(0.2f); water.setWaterHeight(WATER_HEIGHT); fpp.addFilter(water); WaterFilter water2 = new WaterFilter(rootNode, lightDir); water2.setCenter(new Vector3f(-280.46027f, -24.971727f, -271.71976f)); water2.setRadius(260); water2.setWaterHeight(WATER_HEIGHT); water2.setUseFoam(false); water2.setUseRipples(false); water2.setDeepWaterColor(ColorRGBA.Brown); water2.setWaterColor(ColorRGBA.Brown.mult(2.0f)); water2.setWaterTransparency(0.2f); water2.setMaxAmplitude(0.3f); water2.setWaveScale(0.008f); water2.setSpeed(0.7f); water2.setShoreHardness(1.0f); water2.setRefractionConstant(0.2f); water2.setShininess(0.3f); water2.setSunScale(1.0f); water2.setColorExtinction(new Vector3f(10.0f, 20.0f, 30.0f)); fpp.addFilter(water2);
/** * Sets the scene to render in the reflection map. * * @param reflectionScene the refraction scene. */ public void setReflectionScene(final Spatial reflectionScene) { final Spatial currentScene = getReflectionScene(); if (reflectionView != null) { reflectionView.detachScene(currentScene == null? rootScene : currentScene); } this.reflectionScene = reflectionScene; if (reflectionView != null) { reflectionView.attachScene(reflectionScene == null? rootScene : reflectionScene); } }
public void onAction(String name, boolean isPressed, float tpf) { if (isPressed) { if (name.equals("foam1")) { water.setFoamTexture((Texture2D) assetManager.loadTexture("Common/MatDefs/Water/Textures/foam.jpg")); } if (name.equals("foam2")) { water.setFoamTexture((Texture2D) assetManager.loadTexture("Common/MatDefs/Water/Textures/foam2.jpg")); } if (name.equals("foam3")) { water.setFoamTexture((Texture2D) assetManager.loadTexture("Common/MatDefs/Water/Textures/foam3.jpg")); } if (name.equals("upRM")) { water.setReflectionMapSize(Math.min(water.getReflectionMapSize() * 2, 4096)); System.out.println("Reflection map size : " + water.getReflectionMapSize()); } if (name.equals("downRM")) { water.setReflectionMapSize(Math.max(water.getReflectionMapSize() / 2, 32)); System.out.println("Reflection map size : " + water.getReflectionMapSize()); } } } }, "foam1", "foam2", "foam3", "upRM", "downRM");
final WaterFilter water = new WaterFilter(rootNode, lightDir); water.setWaterHeight(-20); water.setUseFoam(false); water.setUseRipples(false); water.setDeepWaterColor(ColorRGBA.Brown); water.setWaterColor(ColorRGBA.Brown.mult(2.0f)); water.setWaterTransparency(0.2f); water.setMaxAmplitude(0.3f); water.setWaveScale(0.008f); water.setSpeed(0.7f); water.setShoreHardness(1.0f); water.setRefractionConstant(0.2f); water.setShininess(0.3f); water.setSunScale(1.0f); water.setColorExtinction(new Vector3f(10.0f, 20.0f, 30.0f)); fpp.addFilter(water); viewPort.addProcessor(fpp);
water = new WaterFilter(rootNode, lightDir); water.setWaterColor(new ColorRGBA().setAsSrgb(0.0078f, 0.3176f, 0.5f, 1.0f)); water.setDeepWaterColor(new ColorRGBA().setAsSrgb(0.0039f, 0.00196f, 0.145f, 1.0f)); water.setUnderWaterFogDistance(80); water.setWaterTransparency(0.12f); water.setFoamIntensity(0.4f); water.setFoamHardness(0.3f); water.setFoamExistence(new Vector3f(0.8f, 8f, 1f)); water.setReflectionDisplace(50); water.setRefractionConstant(0.25f); water.setColorExtinction(new Vector3f(30, 50, 70)); water.setCausticsIntensity(0.4f); water.setWaveScale(0.003f); water.setMaxAmplitude(2f); water.setFoamTexture((Texture2D) assetManager.loadTexture("Common/MatDefs/Water/Textures/foam2.jpg")); water.setRefractionStrength(0.2f); water.setWaterHeight(initialWaterHeight);
setCausticsTexture((Texture2D) assetManager.loadTexture(causticsTextureKey)); setHeightTexture((Texture2D) assetManager.loadTexture(heightTextureKey)); setNormalTexture((Texture2D) assetManager.loadTexture(normalTextureKey)); setFoamTexture((Texture2D) assetManager.loadTexture(foamTextureKey));
DirectionalLight directionalLight = findLight((Node) reflectionScene); if (directionalLight != null && useDirectionLightFromScene()) { lightDirection = directionalLight.getDirection();
final Spatial reflectionScene = getReflectionScene(); final boolean needSaveReflectionScene = isNeedSaveReflectionScene();
final WaterFilter water=new WaterFilter(rootNode,new Vector3f(-0.4790551f, -0.39247334f, -0.7851566f)); water.setWaterHeight(-20); SSAOUI ui=new SSAOUI(inputManager,ssaoFilter); final BloomFilter bloom = new BloomFilter();
public Spatial draw(DrawableCombiner3d dc, Primitive3d primitive, SpaceObject sobj, ViewportJMonkey vp) { Vector3f lightDir = new Vector3f(1f, 1f, 1f); WaterFilter water = new WaterFilter(waterNode, lightDir); water.setWaterHeight(-0.2f); water.setUseFoam(false); water.setUseRipples(true); water.setDeepWaterColor(ColorRGBA.Black.mult(0.1f)); water.setWaterColor(ColorRGBA.Black.mult(0.15f)); water.setWaterTransparency(0.001f); water.setMaxAmplitude(0.3f); water.setWaveScale(0.008f); water.setSpeed(0.5f); water.setShoreHardness(1.0f); water.setRefractionConstant(0.2f); water.setShininess(0.3f); water.setSunScale(1.0f); water.setColorExtinction(new Vector3f(10.0f, 20.0f, 30.0f)); waterNode.setUserData("water", water); return waterNode; }
setCausticsTexture((Texture2D) assetManager.loadTexture(causticsTextureKey)); setHeightTexture((Texture2D) assetManager.loadTexture(heightTextureKey)); setNormalTexture((Texture2D) assetManager.loadTexture(normalTextureKey)); setFoamTexture((Texture2D) assetManager.loadTexture(foamTextureKey));
DirectionalLight directionalLight = findLight((Node) reflectionScene); if (directionalLight != null && useDirectionLightFromScene()) { lightDirection = directionalLight.getDirection();
final Spatial reflectionScene = getReflectionScene(); final boolean needSaveReflectionScene = isNeedSaveReflectionScene();
private DirectionalLight findLight(Node node) { for (Light light : node.getWorldLightList()) { if (light instanceof DirectionalLight) { return (DirectionalLight) light; } } for (Spatial child : node.getChildren()) { if (child instanceof Node) { return findLight((Node) child); } } return null; }
/** * Sets the scene to render in the reflection map. * * @param reflectionScene the refraction scene. */ public void setReflectionScene(final Spatial reflectionScene) { final Spatial currentScene = getReflectionScene(); if (reflectionView != null) { reflectionView.detachScene(currentScene == null? rootScene : currentScene); } this.reflectionScene = reflectionScene; if (reflectionView != null) { reflectionView.attachScene(reflectionScene == null? rootScene : reflectionScene); } }
private DirectionalLight findLight(Node node) { for (Light light : node.getWorldLightList()) { if (light instanceof DirectionalLight) { return (DirectionalLight) light; } } for (Spatial child : node.getChildren()) { if (child instanceof Node) { return findLight((Node) child); } } return null; }
private DirectionalLight findLight(Node node) { for (Light light : node.getWorldLightList()) { if (light instanceof DirectionalLight) { return (DirectionalLight) light; } } for (Spatial child : node.getChildren()) { if (child instanceof Node) { return findLight((Node) child); } } return null; }
DirectionalLight l = findLight((Node) reflectionScene); if (l != null) { lightDirection = l.getDirection();
DirectionalLight l = findLight((Node) reflectionScene); if (l != null) { lightDirection = l.getDirection();