You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When rendering a scene from multiple angles at once (as is common in VR, and needed for Holoplay) there are three basic options:
Render the scene multiple times.
Do an instanced render to a single texture, and assign different viewports for each instance.
Do an instanced render, and render to texture arrays.
(2) and (3) can be a significant performance improvement in OpenGL over (1).
However, (2) is for various reasons problematic. In particular (2) is not available on all OS/hardware configurations (for example if I'm not mistaken (3) is available on Apple OpenGL but not (2), because texture arrays were added in OpenGL 3 but glViewportArray did not become core until OpenGL 4).
Holoplay SDK ingests a "quilt" grid of rendered images, which limits your options to (1) or (2). [Yes, you could also render to a texture array and then blit the texture array to a quilt, but this would require an additional bandwidth-intensive step per frame.] However, the "ingestion" is done by the lenticular shader, and the lenticular shader doesn't seem to be very long.
"Expected behavior": I think it would be pretty easy to alter the lenticular shader so that rather than taking its source images from a quilt, it took the source images from a texture array. But it would probably be necessary for Looking Glass to do this modification, because (due to the IP restrictions on the lenticular shader) a third party would not be able to redistribute the modified source. This would make it easier to support Holoplay from engines which are already based around texture arrays.
The text was updated successfully, but these errors were encountered:
When rendering a scene from multiple angles at once (as is common in VR, and needed for Holoplay) there are three basic options:
(2) and (3) can be a significant performance improvement in OpenGL over (1).
However, (2) is for various reasons problematic. In particular (2) is not available on all OS/hardware configurations (for example if I'm not mistaken (3) is available on Apple OpenGL but not (2), because texture arrays were added in OpenGL 3 but glViewportArray did not become core until OpenGL 4).
Holoplay SDK ingests a "quilt" grid of rendered images, which limits your options to (1) or (2). [Yes, you could also render to a texture array and then blit the texture array to a quilt, but this would require an additional bandwidth-intensive step per frame.] However, the "ingestion" is done by the lenticular shader, and the lenticular shader doesn't seem to be very long.
"Expected behavior": I think it would be pretty easy to alter the lenticular shader so that rather than taking its source images from a quilt, it took the source images from a texture array. But it would probably be necessary for Looking Glass to do this modification, because (due to the IP restrictions on the lenticular shader) a third party would not be able to redistribute the modified source. This would make it easier to support Holoplay from engines which are already based around texture arrays.
The text was updated successfully, but these errors were encountered: