|
@@ -311,11 +311,7 @@ public class FilterPostProcessor implements SceneProcessor, Savable {
|
|
|
}
|
|
|
|
|
|
} else {
|
|
|
- if (renderFrameBufferMS != null) {
|
|
|
- viewPort.setOutputFrameBuffer(renderFrameBufferMS);
|
|
|
- } else {
|
|
|
- viewPort.setOutputFrameBuffer(renderFrameBuffer);
|
|
|
- }
|
|
|
+ setupViewPortFrameBuffer();
|
|
|
//if we are ina multiview situation we need to resize the camera
|
|
|
//to the viewportsize so that the backbuffer is rendered correctly
|
|
|
if (multiView) {
|
|
@@ -355,11 +351,20 @@ public class FilterPostProcessor implements SceneProcessor, Savable {
|
|
|
for (int i = filters.size() - 1; i >= 0 && lastFilterIndex == -1; i--) {
|
|
|
if (filters.get(i).isEnabled()) {
|
|
|
lastFilterIndex = i;
|
|
|
+ //the Fpp is initialized, but the viwport framebuffer is the
|
|
|
+ //original out framebuffer so we must recover from a situation
|
|
|
+ //where no filter was enabled. So we set th correc framebuffer
|
|
|
+ //on the viewport
|
|
|
+ if(isInitialized() && viewPort.getOutputFrameBuffer()==outputBuffer){
|
|
|
+ setupViewPortFrameBuffer();
|
|
|
+ }
|
|
|
return;
|
|
|
}
|
|
|
}
|
|
|
if (lastFilterIndex == -1) {
|
|
|
- cleanup();
|
|
|
+ //There is no enabled filter, we restore the original framebuffer
|
|
|
+ //to the viewport to bypass the fpp.
|
|
|
+ viewPort.setOutputFrameBuffer(outputBuffer);
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -439,12 +444,7 @@ public class FilterPostProcessor implements SceneProcessor, Savable {
|
|
|
Filter filter = it.next();
|
|
|
initFilter(filter, vp);
|
|
|
}
|
|
|
-
|
|
|
- if (renderFrameBufferMS != null) {
|
|
|
- viewPort.setOutputFrameBuffer(renderFrameBufferMS);
|
|
|
- } else {
|
|
|
- viewPort.setOutputFrameBuffer(renderFrameBuffer);
|
|
|
- }
|
|
|
+ setupViewPortFrameBuffer();
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -541,4 +541,12 @@ public class FilterPostProcessor implements SceneProcessor, Savable {
|
|
|
public List<Filter> getFilterList(){
|
|
|
return Collections.unmodifiableList(filters);
|
|
|
}
|
|
|
+
|
|
|
+ private void setupViewPortFrameBuffer() {
|
|
|
+ if (renderFrameBufferMS != null) {
|
|
|
+ viewPort.setOutputFrameBuffer(renderFrameBufferMS);
|
|
|
+ } else {
|
|
|
+ viewPort.setOutputFrameBuffer(renderFrameBuffer);
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|