[Public WebGL] using the same context with multiple canvases

Florian Bösch [email protected]
Mon Mar 23 00:06:20 PDT 2015

The topic of how to draw to multiple canvases from a single context (from
either the JS main thread or a worker) has not yet been resolved (correct
me if I'm wrong).

A possible resolution seems to be the canvas.setContext method. However,
this seems to to be under specified, as just having a WebGL context is not
sufficient, you also need a drawing buffer which carries attributes such as
stencil, depth, bit-depth, MSAA, etc., and the WebGL 2 specification
doesn't seem to contain anything about how to create either a WebGL 2
context or a drawing buffer on its own (It just specifies that a getContext
call needs to do both).

Regardless of specification status or respective completeness, no
implementation of setContext is available, let alone anything to create
WebGL contexts and drawing buffers on their own to be used.

I'll posit that this isn't an acceptable situation. I'll reiterate that
quite frequently applications that do provide any kind of UI (like
sketchfab, verold, goo, fabric) need to put WebGL driven content into many
places inside that UI that isn't a single viewport. That content might find
itself CSS transformed, composited, scrolled in/out of view, inside an
overflow: scroll container, sandwiched between html elements etc. And that
content might need to be updated at each animation frame.

I'm frankly mystified why a topic we've been talking about for well over 3
years and have been promised specifications/solutions for, that is widely
recognized as an important issue to solve, is nearly unspecified and
completely unsolved.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://khronos.org/pipermail/public_webgl_khronos.org/attachments/20150323/4f33a848/attachment.html>

More information about the public_webgl mailing list