ValveSoftware / openvr

OpenVR SDK
http://steamvr.com
BSD 3-Clause "New" or "Revised" License
6.08k stars 1.28k forks source link

Raw frustum values vary parameters in both top/bottom and left/right between eyes #256

Open ekmett opened 8 years ago

ekmett commented 8 years ago

When I went invoke GetProjectionRaw for my two eyes on SteamVR for the Vive, to try to construct a composite camera for deep scene information past where the stereo separation matters and for use in computing joint shadow casting, I found something a bit odd:

raw frustum 0: left = -1.3975, right = 1.25023, top = -1.47588, bottom = 1.46464 raw frustum 1: left = -1.25107, right = 1.40556, top = -1.48467, bottom = 1.46426

The two eye matrices aren't just offset left to right, but also top to bottom relative to one another.

I'm mostly expressing some concern because I had hoped to try using GL_NV_stereo_view_rendering on Pascal, but that can only deal with outputting a different x coefficient between the eyes, so now I have to fudge my math a bit. (Admittedly, the difference is only about 1%.)

eodabash commented 8 years ago

I just discovered this limitation of NV_stereo_view_rendering too, interested to know what you find out about this.