On 19/06/2012 10:57, Gregg Tavares (社用)
wrote:
{Open,Web}GL are resolution independent APIs.
Not they aren't. As has been pointed out several times
now. gl_FragCoord, gl_PointSize, glLineWidth are not
resolution independent nor are glViewport nor glScissor
Obviously you wrote that before reading the rest of my message.
The behavior
described above is not "just work(ing)". It is broken.
It is going to make many WebGL programs look like shit.
The majority of WebGL programs only need to know the
pixel size of the drawing buffer in order to set the
viewport. If the viewport was set automatically from
the canvas size (with css pixels converted to device
pixels by the implementation) then that majority of apps
would truly "just work".
Any apps that use gl_Fragcoord, gl_PointSize or
glLineWidth would break.
That's why I wrote "majority".
The remaining apps, those doing computations with
gl_fragCoord, using point size, line width or scissor
would need to query the size of the drawing buffer in
order to get their computations correct. They need to do
that today.
No they don't. Otherwise none of them would be working
and yet we have thousands of WebGL pages working just fine
Yes they do. If they do not, even if CSS pixels == device pixels,
when drawing buffer.wh != canvas.wh they will work incorrectly and,
of course, they work incorrectly when CSS pixels != device pixels
which is what got this whole discussion started.
I still think you are trying to make broken applications magically
work.