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

[Public WebGL] In defense of older hardware



First, I must confess that I am one of the affected. So when I mention the 50 million iPhones, you know I really mean me. :)

So, not only is my older iPhone (and those 50 million other people!) not able to handle OpenGL ES 2.0... I'm also the owner of the 17" Macbook Pro with the ATI Radeon chipset that features in cmarrin's earlier discourse. And boy, do those demos reaaaaaallllly run slow, looking like they're worse than Flash and making the initial impression rather poor.

My hardware ain't that old, and much more importantly, my hardware ain't that bad. I know that it can easily whap some puppies on the sides of a cube and spin it around. Yet the demo runs at 8fps and 110% CPU because the puppy pictures are 400x400 instead of 512x512. Perhaps there should not be any software fallback? If the hardware can't do it, just state "your hardware can't do it" instead of having a misleading impression? The more important point is that WebGL is blindingly fast when it works, and software fallback will lead many people (who own older hardware) to think that WebGL is like a really bad version of Flash.

Onto the next point... WebGL is going to be developed over time, and these OpenGL ES 2.0 features that are modern now will be deprecated at some time in the future. There is quite a lot of older hardware, so how about having a deprecated API for WebGL for the older hardware now?

50 million iPhone users will notice! And just think about all those Macbook Pro laptop owners with ATI chipsets! Not to mention those older PowerPC holdouts!

So, older hardware. Deprecated branch. I know this has been talked about before, but I'd like to raise a point. In the Flash 3d world, the vast majority of processing time is spent on making affine transforms into perspective transforms. This is done for free by the OpenGL hardware. So rather than the complete and exact accurate emulation of the OpenGL fixed pipeline with the megashader implications of various combinations, it really would be good enough to have a "depth buffer and 1 light and that's all you're getting" option for the older hardware.

Anything at all, really! Just being able to display some stuff in 3d, with perspective texturing in hardware, is better than what Flash can do. Any shaders that will display anything on the screen will be enough and sufficient and deprecated anyway. It really has to have something to handle NPOT textures, just as the future branch of WebGL will have to handle the deprecated OpenGL ES 2.0 stuff.

50 million (and one) people out there! Let's make them happy! Yes! Rah! Rah! :) And yes, I know that it will mean having calls like gl.bindTexture(GL_TEXTURE_RECTANGLE_EXT, m_texture); in the public API, but better to tackle the obsolescence problem as part of the initial launch since you're going to be handling it in future releases anyway. And did I mention 50 million (and one) people? :)

--
  steve@adam.com.au

-----------------------------------------------------------
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: