Addendum: The extension also does not define a formative section on what identifiers it adds to shaders.An example of how that works is contained there: https://www.khronos.
When this extension is enabled:
- ...On Tue, Jan 10, 2017 at 9:12 AM, Florian Bösch <email@example.com> wrote:The extension adds the following:
_NUM_VIEWS_OVR accepted by getFramebufferAttachmentParame ter
_BASE_VIEW_INDEX_OVR accepted by getFramebufferAttachmentParame ter
- MAX_VIEWS_OVR accepted by getParameter
RGETS_OVR accepted by checkFramebufferStatus
WEBGL accepted by drawBuffer
- context creation parameter "stereo"
- layout qualifier to specify the number of views a shader rendersThere are some issues with that extension:
- The enums BACK_LEFT and BACK_RIGHT are added to the WebGLRenderingContextBase instead of the extension objects IDL
- the function drawBuffer which does not exist in WebGL is added to the WebGLRenderingContextBase instead of the extension objects IDL
- The relationship between WebGL2 gl.drawBuffers and this extensions drawBuffer is unclear
- The layout qualifier is not WebGL1 compatible, and the extension does not define WebGL1 usable gl_NumViews constant or the like
- The extension does not contain a differentiation between WebGL1 and WebGL2, but those need to be 2 specifications, so either there's two extensions needed, or this extension needs to define differing functionality in different sections for both WebGL1 and WebGL2
- The examples section is insufficient, examples should be added for context creation and back buffer use, framebuffer object use and selection of traditional or stereo view rendering.
- Since this extension is meant to interact with the WebVR specification, and the WebVR specification so far requires the application to render to the back buffer in split-view, the interaction with WebVR is unclear and should be clarified