I think it enables the new async reprojection video surface https://developers.google.com/vr/android/ndk/gvr-ndk-rendering#using_video_viewports
While we are here... One idea I had for that was using it to create a loading/splash screen at the very start of the app, to replace Unity's cubemap thing. Or for a loading screen inbetween levels. Does that sound like a sensible usage? Any has anyone reading this tried it yet?
Google is working on adding some simple integration support in their SDK for that. Supporting that feature is a fairly complex activity and they are trying to make it simpler. BTW, the 17.3 docs that have information on that option are not published yet and still going through a re-write. Hopefully we'll have something out for VR Doc updates in the 17.3 timeline.
@jmitcheson I don't think you'll be able to replace the splash screen but it might be usable as an interstitial, though that isn't it's intended target. The intended use (as I understand it) is to allow for high quality, high frame rate video rendering that should be unlocked from the Unity rendering thread.
Here is a link to very preliminary docs: https://docs.google.com/document/d/1AaTBxyv5yzv0PHxdIXlyBLAtPZo_w9Y_nIfp5TZUCz8/edit?usp=sharing
We are working on adding support for this new feature to the GVR Unity SDK video plugin to make it easy to use. It has some limitations, like it only supports monoscopic video projected on a flat quad, no stereo video or curved meshes. @jmitcheson, using this for a loading screen is an excellent use of this feature. The video path this enables is completely independent of Unity and its render loop and as such can render video in VR smoothly while Unity may stutter and stall during scene or content loading. As @joejo mentioned, the main use of this feature is to render smoother, higher fidelity video content in a VR scene, as the video frames undergo only one pass of texture sampling instead of the usual two pass of Unity rendering into an undistorted buffer, then GVR rendering that buffer again on screen, distortion corrected. This feature also enables the use of protected surfaces for use with DRM content. We are also working on expanding the capabilities of the video surfaces to support stereo video and curved meshes.
If anyone is interested, I tried it out as an initial application loading screen. I used a black cube with a quad for the video surface and I set the Unity splash loader to be black. It worked well, however the time taken to load even a small scene was a little problematic. What did work well was enabling the standard Unity splash screen, and then my video loading scene as the first scene. In that case, the delay in loading the scene and video is not noticable.
Sure. It's from 2017.3.0b3, although in theory any 2017.3 should work. Link The project is slightly messy - relevant scene is called 'Loading' and in the code of 'VideoLoader' you can see a hard-coded string of next scene to load. I used the GVRDemo scene as the scene to load, but there is nothing special about that. Also perhaps don't re-use or re-publish the example loading video since it's not mine but something pretty I found from a YouTube user.