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

Re: [Public WebGL] Buffer size and viewport

Hi Ken

Kenneth Russell wrote:

I assume you were using JOGL's GLJPanel.
I was.

The issue you were likely
running into with that component was that during some resizing
operations the OpenGL context was destroyed and re-created, which
generally forced the entire application to re-initialize. WebGL
specifies that the OpenGL context is preserved during resizing
operations, though it is necessary for the application to redraw.
I'm not arguing, but I assume you are referring to the content of Sec 2 Context Creation and Drawing Buffer Presentation?
Maybe its my fault, but I didn't interpret that section as explicitly stating what you said above. In other words, please could you point me to the wording that says that the context is preserved through resizing?

Resizing operations will therefore be much cheaper with WebGL so you
will probably see no issue.

Glad to hear it! This will be a good thing.

Note also that the HTML Canvas element only resizes in response to
explicit setting of its width and height properties in JavaScript. If
you use a CSS style to set its width to for example "100%" then the
result will be a stretched version of the fixed-size back buffer.
In the specification in sec 2.3 it says "A WebGL implementation /shall not/ affect the state of the OpenGL viewport in response to resizing of the canvas element." which can be read to mean the reverse of what you say above. I think it might help to be a bit more specific as to the difference between setting the canvas size explicitly and the resizing of the canvas by the browser as part of a "%" scaling operation.

Once again, I'm not trying to disagree with what you are saying it does, only that I don't think the spec makes it very clear. I'm looking at "Working Draft 03 June 2010" from the Khronos web site.

Sorry if I'm being a bit obtuse/picky.



You are currently subscribed to public_webgl@khronos.org.
To unsubscribe, send an email to majordomo@khronos.org with
the following command in the body of your email: