[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Public WebGL] WEBGL_multiview discussion



When you use the extension, you can query gl_ViewID_OVR in the vertex shader to determine which view the vertex will appear.  As currently speced, you will only ever see two possible values in gl_ViewID_OVR due to the stereo context attribute.  But in the future, we can add additional numbers of views. 


The layout qualifier is a hint to the compiler that the shader is intended for a certain number of views.  So removing it to allow the extension to be used in WebGL 1.0 should not be too detrimental.  If anything, it will give shader authors greater flexibility to use one shader for any number of views.  


--Rafael




From: Florian Bösch <pyalot@gmail.com>
Sent: Wednesday, January 4, 2017 2:18 PM
To: Rafael Cintron
Cc: Olli Etuaho; Mark Callow; Maksims Mihejevs; public webgl
Subject: Re: [Public WebGL] WEBGL_multiview discussion
 
On Wed, Jan 4, 2017 at 11:08 PM, Rafael Cintron <Rafael.Cintron@microsoft.com> wrote:

If the layout qualifier prevents the shader from working in WebGL 1.0, I think we should drop the qualifier requirement.  This will allow the shader to be used in more places and remove the additional overhead/complexity of rationalizing the number of views in the qualifier with the state of the world on the API side. 

You'd effectively default to a layout of 2 views. I think that could be a mistake. It's widely recognized that a wide FOV is more immersive. At the same time very wide FOVs will require more than 2 views to be rendered to avoid excessive distortion (due to perspective projection that pinches everything in the center and blows it up towards the edges). There's at least some HMDs that come with 4 panels, and other wide FOV HMDs might use a 4-split projection to get around distortion issues.