GearVR and Daydream Support
My name is Paritosh and I am currently pursuing a Bachelor of Technology in Computer Science in SRM Institute of Science and Technology. My major field of interest is Game Development and Virtual Reality.
About the Project
My project for GSoC is adding Gear VR and Google VR support to Godot Engine. The goals are,
- Creating a GDNative module for Oculus mobile devices(Gear VR and Oculus Go)
- Adding Google VR(Cardboard and Daydream) support in Godot Core
- So the biggest challenge I faced was the lack of a GLES 2 renderer in Godot. Thus, I wasn’t able to test out any of the 3D scenes on my Adreno devices. This was later fixed by karroffel by adding GLES 2 3D renderer. Fortunately, Bastiaan(my GSoC Mentor) had a Note 4 running on a Mali GPU and we were able to test the Gear VR module on it. This resulted in a relatively slow workflow.
- Apart from that, another major issue faced was the lack of Android support for the GDNative API. Sure, there were some additions made by me and Bastiaan when it came to the addition of some JNI calls in GDNative API. But still, not a lot of people have experimented with GDNative and Android. The Google VR GDNative Module never initialized while the Gear VR did. These uncertainties increased more and more as we went into depth.
What is done
- Understanding the existing GDNative APIs and modules
- Understanding Oculus’ VrApi
- Adding GDNative Android API to core
- Implementing Gear VR GDNative module
- Compiling Gear VR GDNative module
- Initialize VrApi on the Device
- Understanding the Google VR Android SDK
- Writing boilerplate for Google VR
- Succesful stereo rendering to the viewport for GearVR
- VrApi Input API
- Succesful stereo rendering and tracking for GoogleVR
- Merge GoogleVR Code to Godot Core
- VrApi Input API integration
- Google VR Controller API integration
Working at Godot has been great. I will continue contributing to Godot after GSoC. The guys at IRC have been very helpful even before GSoC began. Bastiaan with his exquisite knowledge in VR has been a great mentor and helped me a lot. I plan to pursue higher studies in the field and GSoC and Godot have helped me a lot to get me ready for it.