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

Re: [Public WebGL] WEBGL_multiview discussion



I personally also would also find it preferable if the structure was:

overview (formative)
IDL
examples

And the rest of the description wouldn't be interspersed with it.

On Tue, Jan 10, 2017 at 9:18 AM, Florian Bösch <pyalot@gmail.com> wrote:
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.org/registry/webgl/extensions/EXT_shader_texture_lod/

Overview
When this extension is enabled:
  • ...
  • ...
  • ...

On Tue, Jan 10, 2017 at 9:12 AM, Florian Bösch <pyalot@gmail.com> wrote:
The extension adds the following:
  • FRAMEBUFFER_ATTACHMENT_TEXTURE_NUM_VIEWS_OVR accepted by getFramebufferAttachmentParameter
  • FRAMEBUFFER_ATTACHMENT_TEXTURE_BASE_VIEW_INDEX_OVR accepted by getFramebufferAttachmentParameter
  • MAX_VIEWS_OVR accepted by getParameter
  • FRAMEBUFFER_INCOMPLETE_VIEW_TARGETS_OVR accepted by checkFramebufferStatus
  • BACK_LEFT_AND_RIGHT_MULTIVIEW_WEBGL accepted by drawBuffer
  • framebufferTextureMultiviewWEBGL(...)
  • context creation parameter "stereo"
  • gl.drawBuffer
  • gl.BACK_LEFT
  • gl.BACK_RIGHT
  • layout qualifier to specify the number of views a shader renders
There are some issues with that extension:
  1. The enums BACK_LEFT and BACK_RIGHT are added to the WebGLRenderingContextBase instead of the extension objects IDL
  2. the function drawBuffer which does not exist in WebGL is added to the WebGLRenderingContextBase instead of the extension objects IDL
  3. The relationship between WebGL2 gl.drawBuffers and this extensions drawBuffer is unclear
  4. The layout qualifier is not WebGL1 compatible, and the extension does not define WebGL1 usable gl_NumViews constant or the like
  5. 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
  6. 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.
  7. 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