Hi everyone (ok, mostly Dan),
threejs has a camera method called setViewOffset (http://threejs.org/docs/#Reference/Cameras/PerspectiveCamera) that can be used to offset the view frustum for doing fancy things like rendering a scene across multiple windows and multiple machines. It’s also useful for rendering a 3D scene using an Oculus Rift.
As far as I can tell, the Cesium equivalent is to use a PerspectiveOffCenterFrustum instead of a regular PerspectiveFrustum. Is that correct? Chris Cooper and I were trying to do that last night, and not having much luck. The problem is that several places in Cesium pretty much assume a PerspectiveFrustum. One is GlobeSurface, which uses the fovy property for LOD selection (my fault). Another is picking. But even after I hacked around those problems, something else was broken. Even just cloning the PerpsectiveOffCenterFrustum created internally by PerspectiveFrustum and assigning it to camera.frustum would cause the scene to break in interesting ways.
Chris was able to get things working by changing PerspectiveFrustum itself, like this:
https://github.com/AnalyticalGraphicsInc/cesium/commit/f13ee3ab0c0a0b8cd3ef7c54a514bae0a93c2745
But I’m guessing that’s not the approach we want.
Any advice for us?
Thanks,
Kevin