[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Public WebGL] In defense of older hardware
On 1/15/2010 11:51 AM, stephen white wrote:
On 16/01/2010, at 5:51 AM, Patrick Baggett wrote:
It just isn't within the scope of the WebGL spec to handle any
generic piece of hardware that can do perspective correct texture
mapping. You're looking for OpenGL 1.1+, which no spec. has been
written for the Web. You'll have to be content running native code,
or drafting a different GL standard that matches OpenGL 1.1+.
I'm arguing more along the lines that WebGL is going to have to handle
deprecated APIs anyway, as time moves on and ES 2.0 is replaced with
ES 3.0 or CL or some future specification.
GL 1.1 vs 2.0 is a vastly different beast than 2.0 vs. future. Entire
swaths of API are removed in ES 2.0 and desktop GL, to be entirely
replaced by shaders and related functionality. That's what we're
looking for; should such a drastic change be needed again in the future,
I'm sure we'll end up wit WebGL 2.0 right there along with it -- but any
such hardware will almost certainly support WebGL 1.0 as well. But for
now, supporting non-ES-2.0 capable hardware is an extremely difficult
proposition because of the legacy API burden.
So if there is a deprecated API section in WebGL that has the absolute
minimum to enable access to older hardware, then a much greater number
of users would be able to see why WebGL is something they want to care
This doesn't amount to a great deal, only a few extra constants to allow:
No, that's incorrect -- supporting TEXTURE_RECTANGLE means supporting it
*everywhere*, and TEXTURE_RECTANGLE doesn't exist on mobile GPUs. One
of WebGL's goals is to be portable between mobile and desktop GPUs.
Yes, we might (will likely) have an extension mechanism, but this isn't
really extension territory, it's more core functionality territory.
There may even be no obligation to hide the difference between shaders
and fixed pipelines, and it will be the programmer's problem to handle
the normalised co-ordinates versus rectangle texture co-ordinates.
As long as the WebGL spec has a "deprecated API" section where the
extra bits can be found, then the programmer has the option of
reaching those extra devices, and there's a lot of them because the
hardware ain't that old.
At the expense of not being able to reach today's mainstream devices,
which will be considered "older" by the time WebGL gets significant
traction. Also at the expense of significant programmer investment to
code and test multiple code paths. That's not a good tradeoff, IMO.
This Macbook Pro 17" laptop of mine is only 3 years old. The Web is
all about cross-platform and widest reach. WebGL has to hold its nose
and just do what it takes to be cross-platform.
Cross-platform and widest reach does not mean "the union of all
functionality, exposed piecemeal", which is essentially what you're
proposing. One of the web's strengths is that content written on one
platform/browser/whatever that supports a particular API can run on any
other that supports that functionality; we're trying very hard to hold
to that (even if it's not possible to do it 100%).
You are currently subscribe to firstname.lastname@example.org.
To unsubscribe, send an email to email@example.com with
the following command in the body of your email: