Lime-3DS-Emulator
Lime-3DS-Emulator copied to clipboard
Add Side By Side Full stereo setting + Swap Eyes setting
This PR removes the Reverse Side By Side stereo layout that was added recently and replaces it with a Side By Side Full setting that generates a full-width side by side layout rather than a half-width one. In order to keep the functionality of the reverse side by side option available, it also adds a boolean setting for swapping eyes, which will apply to any rendering option, matching how Dolphin does it since these settings are often compared by users.
Here is a screenshot of the most common use case for this - full width side by side stereo layout with the eyes swapped. If you cross your eyes at it like a Magic Eye, you should be able to see the image in full 3d in the center (might be best opening the screenshot in a separate tab)
Tasks to complete this
- [x] Add the settings as described above
- [x] Implement the functionality of these settings
- Test the functionality of the new settings and options
- [x] Test all layouts with side by side full on both swapped and not swapped eyes on desktop (vulkan)
- [x] Test screenshot functionality (vulkan)
- [ ] Test screenshot functionality (openGL)
- [ ] Test all layouts with side by side full on both swapped and not swapped eyes on desktop (openGL)
- [x] Test swap eye setting with traditional side by side in all layouts on desktop (vulkan)
- [ ] same as above with openGL
- [x] Test portrait and landscape layouts on android with both settings on both vulkan and opengl
- [ ] Test anaglyph and interlaced with and without swap to make sure nothing broke, on both vulkan and opengl
- [ ] Test CardboardVR on android to make sure it still works as expected
- [x] edit desktop GUI to rename "Reverse Side by Side" to "Side By Side Full"
- [x] edit android GUI same as above
- [x] add checkbox/toggle to desktop UI
- [x] add checkbox/toggle to android GUI