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

Re: [Public WebGL] using the same context with multiple canvases



On Tue, 11 Dec 2012, Gregg Tavares (社~T) wrote:
>
> So to continue this discussion we still need to figure out what we plan to
> do for WebGL 1 context, multiple canvases
> 
> IIRC the current thinking is this
> 
>     gl = new WebGLRenderingContext();
>     db1 = new Drawingbuffer(creationAttributes1);
>     db2 = new Drawingbuffer(creationAttributes2);
>     canvas1 = document.createElement("canvas");
>     canvas2 = document.createElement("canvas");
>     canvas1.setDrawingbuffer(db1);
>     canvas2.setDrawingbuffer(db2);
>     gl.bindDrawingbuffer(db1);
>     gl.drawXXX(...);
>     gl.bindDrawingbuffer(db2);
>     gl.drawXXX(...);

I don't really understand what a drawing buffer is in this API.

Why wouldn't you just do:

   gl = new WebGLRenderingContext();
   canvas1.setContext(gl);
   gl.drawXXX(...);
   canvas2.setContext(gl);
   gl.drawXXX(...);

...?

In any case, I think it can be made any number of ways, the only important 
thing at this point to make sure it works consistently with the 2D context 
and in particular to make sure it works in Worker threads is to use the 
API described here:

   http://lists.w3.org/Archives/Public/public-whatwg-archive/2012Nov/0199.html

Specifically, the bit starting "it will require some additions to WebGL".

HTH,
-- 
Ian Hickson               U+1047E                )\._.,--....,'``.    fL
http://ln.hixie.ch/       U+263A                /,   _.. \   _\  ;`._ ,.
Things that are impossible just take longer.   `._.-(,_..'--(,_..'`-.;.'