|
|
@@ -135,15 +135,18 @@ public class FilterPostProcessor implements SceneProcessor, Savable {
|
|
|
fsQuad = new Picture("filter full screen quad");
|
|
|
|
|
|
Camera cam = vp.getCamera();
|
|
|
+
|
|
|
+
|
|
|
+ //save view port diensions
|
|
|
left = cam.getViewPortLeft();
|
|
|
right = cam.getViewPortRight();
|
|
|
top = cam.getViewPortTop();
|
|
|
bottom = cam.getViewPortBottom();
|
|
|
- //Changing the viewPort to the filter cam an reseting the viewport of the viewport cam
|
|
|
originalWidth = cam.getWidth();
|
|
|
originalHeight = cam.getHeight();
|
|
|
- cam.setViewPort(0, 1, 0, 1);
|
|
|
+ //first call to reshape
|
|
|
reshape(vp, cam.getWidth(), cam.getHeight());
|
|
|
+
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
@@ -364,11 +367,25 @@ public class FilterPostProcessor implements SceneProcessor, Savable {
|
|
|
}
|
|
|
|
|
|
public void reshape(ViewPort vp, int w, int h) {
|
|
|
+ //this has no effect at first init but is useful when resizing the canvas with multi views
|
|
|
+ Camera cam = vp.getCamera();
|
|
|
+ cam.setViewPort(left, right, bottom, top);
|
|
|
+ //resizing the camera to fit the new viewport and saving original dimensions
|
|
|
+ cam.resize(w, h, false);
|
|
|
+ left = cam.getViewPortLeft();
|
|
|
+ right = cam.getViewPortRight();
|
|
|
+ top = cam.getViewPortTop();
|
|
|
+ bottom = cam.getViewPortBottom();
|
|
|
+ originalWidth = w;
|
|
|
+ originalHeight = h;
|
|
|
+ cam.setViewPort(0, 1, 0, 1);
|
|
|
+
|
|
|
+ //computing real dimension of the viewport and resizing he camera
|
|
|
width = (int) (w * (Math.abs(right - left)));
|
|
|
height = (int) (h * (Math.abs(bottom - top)));
|
|
|
width = Math.max(1, width);
|
|
|
height = Math.max(1, height);
|
|
|
- vp.getCamera().resize(width, height, false);
|
|
|
+ cam.resize(width, height, false);
|
|
|
cameraInit = true;
|
|
|
computeDepth = false;
|
|
|
|