Help!

We're setting up a simple video projection, or so I thought.

I'd like to setup two projectors, each projecting on a different wall, meeting in the corner.

As their angle is orthogonal, I figured their fov to be 360/4 = 90 degrees, or half Pi.

They simply look along the two axes, with y axis up, this would be for left wall: 1, 0, 0 and for the right 0, 0, 1.

With my eye in 0, 0, 0, their projection should perhaps be dollied a little along their respective axes. But no matter the value I translate along the axis, the image will not match perfectly.

I've used both the core camera() function and OCD's implementation:

Left projection:

- // setup perspective
- float cameraX = 0;
- float cameraY = 0;
- float cameraZ = 0;
- float targetX = 1;
- float targetY = 0;
- float targetZ = 0;
- float upX = 0;
- float upY = 1;
- float upZ = 0;
- float fov = PI/2.0;
- float nearClip = 0.001;
- float farClip = 2000;
- float aspect = 4/3.0;
- cam = new Camera(this,
- cameraX, cameraY, cameraZ,
- targetX, targetY, targetZ,
- upX, upY, upZ,
- fov, aspect, nearClip, farClip);
- cam.dolly(halfroomsize);

Right:

- // setup perspective
- float cameraX = 0;
- float cameraY = 0;
- float cameraZ = 0;
- float targetX = 0;
- float targetY = 0;
- float targetZ = 1;
- float upX = 0;
- float upY = 1;
- float upZ = 0;
- float fov = PI/2.0;
- float nearClip = 0.001;
- float farClip = 2000;
- float aspect = 4/3.0;
- cam = new Camera(this,
- cameraX, cameraY, cameraZ,
- targetX, targetY, targetZ,
- upX, upY, upZ,
- fov, aspect, nearClip, farClip);
- cam.dolly(halfroomsize);

Previously, we have achieved pretty good results with the standard 60 degrees (PI/3.0) perspective and 30 degree camera rotation(PeasyCam.rotateY()).Which is odd isn't it? Shouldn't that have been rotateY(fov)?

1