[Public WebGL] In defense of older hardware

Chris Marrin [email protected]
Fri Jan 15 14:20:19 PST 2010


On Jan 15, 2010, at 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.
> 
> 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 about.
> 
> This doesn't amount to a great deal, only a few extra constants to allow:
> 
> 	gl.enable(GL_TEXTURE_RECTANGLE_ARB);
> 
> 	gl.bindTexture(GL_TEXTURE_RECTANGLE_EXT, m_texture);
> 
> 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.
> 
> 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.

This is not about supporting old hardware, it's about supporting OpenGL ES 2.0 capable hardware. WebGL is based on GLES 2.0 and that spec doesn't have Rectangle Textures. But it does require limited NPOT texture support, which older hardware doesn't have. Therefore that older hardware isn't capable of OpenGL ES 2.0 emulation. We are going to start thinking about extension support in the next release. That's the right time to discuss things like this. The problem there is that true OpenGL ES 2.0 hardware DOES NOT support Rectangle Textures. So having such an extension would require authors to query and then use it only if available. In this particular case, the better solution would be to just avoid NPOT textures. In the example you're citing, that would give you back the performance you crave.

But all this may be moot. You hardware SHOULD support NPOT. So there may be a bug in my implementation that is preventing it. I will look into it. 

-----
~Chris
[email protected]




-----------------------------------------------------------
You are currently subscribe to [email protected]
To unsubscribe, send an email to [email protected] with
the following command in the body of your email:




More information about the public_webgl mailing list