Initial CameraStereo class, for stereoscopic rendering. Based on "parallel axis asymmetric frustum perspective projection" from http://paulbourke.net/miscellaneous/stereographics/stereorender/ . Not yet tested.
Working CameraStereo class.
Fixed a couple of major issues with camera eye point calculation. It also turned out that the asymmetrical frustums were shifted the wrong way.
Changed the gl::drawFrustum() implementation, so that it extracts the camera eye point from the modelview matrix, which is required for the CameraStereo class.
Completely revamped Camera class: additional caching of the matrices. Also fixed a const correctness issue with the Quaternion class.
Fixed a minor issue with the cached matrices. Removed unnecessary comments. Fixed issue with clip coordinates.
Added lens shift functionality to CameraPersp and auto-focus (eye separation calculation) to CameraStereo.
Also fixed a minor issue with caching.
Some cleaning up.
Added a nice StereoscopicRendering sample.
Cosmetic improvements to the sample.
A few more cosmetic changes.
Added the lens shift test application.
Minor comment fix.
Stereoscopic rendering is OFF by default, to make the CameraStereo class compatible with CameraPersp. Added an autoFocus() method that samples the depth buffer and does a good job to keep focal length and eye distance at reasonable values. It does require a few FBO's and blitting operations, so this may not work on all hardware. A fall-back is supplied.
Minor tweaks to the auto focus functions.
Fixed an issue where an exception was thrown in the Frustum::set() function if camera was not fully initialized. Also optimized the code a bit.
Added methods to get and set auto-focus speed and depth. Adjusted the default values. Added comments.
Minor tweaks and fixes.
Added comments to the setLensShift() / getLensShift() functions.
Broke out the auto-focus functionality to a separate class ( gl::CameraStereoAutoFocuser ), as suggested by Andrew Bell. This removes the dependency on OpenGL for the CameraStereo class. Also fixed a warning in the Plane class. Note: only the Windows (VC2010) solution has been updated, the XCode solution is still missing the new CameraStereoAutoFocuser class.
Updated the StereoscopicRendering sample application to use and explain the new CameraStereoAutoFocuser class. Also removed the dependency on the cinder project.