Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

stereo display support #1316

Open
totaam opened this issue Sep 20, 2016 · 3 comments
Open

stereo display support #1316

totaam opened this issue Sep 20, 2016 · 3 comments
Labels
Milestone

Comments

@totaam
Copy link
Collaborator

totaam commented Sep 20, 2016

Issue migrated from trac ticket # 1316

component: core | priority: major

2016-09-20 08:21:48: antoine created the issue


For VR, etc..

This is likely to be tied to how each graphics drivers implement stereoscopic support.
I don't see how this can be implemented or emulated in the dummy driver in a meaningful way using the software opengl renderer. We could use two virtual dummy screens, but forcing applications to use separate screens for each eye is likely to be very difficult, even with a virtualgl-like interposer.

This may require us to run in desktop mode with multiple X11 screens and forward each one to the client.

Then the client code probably just use a PFD_STEREO context and render each eye with glDrawBuffer(BACK_LEFT) / glDrawBuffer(BACK_RIGHT). See the opengl example in NVIDIA 3D VISION PRO AND STEREOSCOPIC 3D. (we don't need to worry about fulcrum and parallax)

See nvidia driver xconfigoptions.

Other links:

@totaam
Copy link
Collaborator Author

totaam commented Sep 20, 2016

2016-09-20 12:53:27: antoine changed status from new to assigned

@totaam
Copy link
Collaborator Author

totaam commented Sep 20, 2016

2016-09-20 12:53:27: antoine commented


Referring to the nvidia stereo options values:

  • 3 "onboard stereo" - not possible to forward (relies on a physical proprietary DIN plug)
  • 4 "One-eye-per-display passive stereo": can be captured and forwarded
  • 5 "Vertical interlaced stereo mode, for use with SeeReal Stereo Digital Flat Panels.": could be made to work but probably just a variant of 4, and 4 is easier
  • 6 "Color interleaved stereo mode, for use with Sharp3D Stereo Digital Flat Panels." - same as 5
  • 7 "Horizontal interlaced stereo mode, for use with Arisawa, Hyundai, Zalman, Pavione, and Miracube Digital Flat Panels." - same as 5
  • 8 "Checkerboard pattern stereo mode, for use with 3D DLP Display Devices." same as 5
  • 9 "Inverse checkerboard pattern stereo mode, for use with 3D DLP Display Devices." - same as 5
  • 10 "NVIDIA 3D Vision mode for use with NVIDIA 3D Vision glasses." - probably not possible (USB device)
  • 11 "NVIDIA 3D VisionPro mode for use with NVIDIA 3D VisionPro glasses" - worse than 10
  • 12 "HDMI 3D": unlikely to work
  • 13 "Tridelity SL stereo mode, for use with Tridelity SL display devices": unlikely to work

So the only mode that we're likely to be able to forward is (4). Even if some of the other ones could be captured somehow (5, 6, 7, 8, 9), handling the data would be complicated and require extra work for no benefit.

What is used client-side for actually displaying the two views we have captured should not be a concern and we should even be able to use all 3D capable GPUs via the opengl client.

@totaam
Copy link
Collaborator Author

totaam commented Oct 4, 2020

2020-10-04 13:58:45: antoine commented


Re-scheduling due to lack of interest.

@totaam totaam added this to the future milestone Jan 23, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant