Now that a binocular VR viewer is available for under £2 (+ a smart phone) in the form of the google Cardboard, and has already been proven on minecraft to work well, I'm keen to see it in minetest. Unfortunately due to severe lag even with client/server on the same machine on a my attempt at a lua mod with two GUIs side-by-side failed, so I think it could only be done by the engine (like 1st and 3rd person views).
I've never programmed c, but presumably it would be a simple matter of having 2 cameras displayed side by side in the same gui - the same as virtually any 3D design program, and camera.cpp seems to have code for setting this up so presumably this would be the place to start..
eg // Reposition the camera for third person view
if (m_camera_mode > CAMERA_MODE_FIRST)
Can anyone give me any pointers, as looking at the code I don't understand how to have two cameras displayed in the same gui (actually to be fair I don't really understand any of the code, but as no one else seems to be working on this I'm willing to mess about with it)?
Alternatively if someone is working on it already, or has the skills to quickly hack something together, I'm happy to test it and get the other tool chain working...
The other question is how to get the eye/camera position into minetest from the Cardboard. I presume it would be best for the server to open a port which could stream the gui and listen for the Cardboard feedback. Then the phone would run a simple android app which would display the video stream and in return pass the headset translation/pitch/yaw/tilt back to minetest.
I guess it would also be worth also considering streaming the minetest audio, and would be especially cool if a Head-related transfer function (HRTF or so called 3D-sound) could be applied which provides the ability to locate sound in 3 dimensions. OpenAL http://kcat.strangesoft.net/openal.html or similar might provide a cross-platform API to achieve this. (actually this works very well with my PC speakers, and certainly doesn't need headphones to significantly improve audio experience.