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

Re: [Public WebGL] In defense of older hardware



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
cmarrin@apple.com




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