diff --git a/engine/src/core/com/jme3/post/FilterPostProcessor.java b/engine/src/core/com/jme3/post/FilterPostProcessor.java index 3ee7a72cc..9c42ab643 100644 --- a/engine/src/core/com/jme3/post/FilterPostProcessor.java +++ b/engine/src/core/com/jme3/post/FilterPostProcessor.java @@ -126,8 +126,8 @@ public class FilterPostProcessor implements SceneProcessor, Savable { filter.cleanup(renderer); updateLastFilterIndex(); } - - public Iterator getFilterIterator(){ + + public Iterator getFilterIterator() { return filters.iterator(); } @@ -289,10 +289,13 @@ public class FilterPostProcessor implements SceneProcessor, Savable { } else if (renderFrameBufferMS != null) { sceneBuffer = renderFrameBufferMS; } - renderFilterChain(renderer, sceneBuffer); - renderManager.setCamera(viewPort.getCamera(), false); - + renderFilterChain(renderer, sceneBuffer); renderer.setFrameBuffer(outputBuffer); + + //viewport can be null if no filters are enabled + if (viewPort != null) { + renderManager.setCamera(viewPort.getCamera(), false); + } } @@ -361,7 +364,7 @@ public class FilterPostProcessor implements SceneProcessor, Savable { //reseting the viewport camera viewport to its initial value viewPort.getCamera().resize(originalWidth, originalHeight, true); viewPort.getCamera().setViewPort(left, right, bottom, top); - viewPort.setOutputFrameBuffer(outputBuffer); + viewPort.setOutputFrameBuffer(outputBuffer); viewPort = null; } @@ -478,7 +481,7 @@ public class FilterPostProcessor implements SceneProcessor, Savable { InputCapsule ic = im.getCapsule(this); numSamples = ic.readInt("numSamples", 0); filters = ic.readSavableArrayList("filters", null); - for (Filter filter : filters) { + for (Filter filter : filters) { filter.setProcessor(this); setFilterState(filter, filter.isEnabled()); } diff --git a/engine/src/terrain/Common/MatDefs/Terrain/TerrainLighting.frag b/engine/src/terrain/Common/MatDefs/Terrain/TerrainLighting.frag index e3b3d1e3c..d8f26e249 100644 --- a/engine/src/terrain/Common/MatDefs/Terrain/TerrainLighting.frag +++ b/engine/src/terrain/Common/MatDefs/Terrain/TerrainLighting.frag @@ -658,7 +658,7 @@ void main(){ spotFallOff = (curAngleCos - outerAngleCos) / innerMinusOuter; if(spotFallOff <= 0.0){ - gl_FragColor.rgb = AmbientSum * diffuseColor; + gl_FragColor = AmbientSum * diffuseColor; return; }else{ spotFallOff = clamp(spotFallOff, 0.0, 1.0);