6 ms·
Wow, it boggles my mind to think what we can do in a browser these days...
by danmaz74 12y ago
Wow, it boggles my mind to think what we can do in a browser these days...
- chii 12y agoIt can do more than you can imagine!
- davidw 12y agoYes, I'm heating the room I'm in with this thing :-) Joking aside, I love it - I remember spending hours rendering generated terrain with... uhm, I can't remember right now, this was about 20 years ago :-/
- danmaz74 12y agoI remember that too, but I too don't remember the name - David, we're getting old :)
- davidw 12y agofractint? http://en.wikipedia.org/wiki/Fractint http://en.wikipedia.org/wiki/Fractint
- onion2k 12y agoVistaPro?
- SteveMoody73 12y agoI remember that on the Amiga, it was fun to watch it rendering the landscape
- danmaz74 12y agoThat's the one I remembered! I was a great Amiga guy :D
- jsheard 12y agoAnything is possible, as long as it's doable with a subset of a subset of OpenGL designed for 8 year old mobile hardware :P
- exDM69 12y agoUnfortunately, WebGL hasn't been updated in a while and it is badly outdated. There's a bit of a mismatch between providing low level access to the GPU and allowing to run untrusted content from the Web. This has performance implications, particularly with this example that generates geometry dynamically. There's a decade's worth of new graphics features that aren't available via WebGL, even though the hardware supports it (even mobile phones these days). I am getting less than 25 frames per second and I have a high end GPU. This should easily run at 60 fps and have plenty of idle time (for CPU and GPU). Now it's consuming a lot of CPU and fans are spinning up. I really hope that WebGL gets a long awaited update, and that there will be better sandboxing techniques employed. The issues with security can't be solved at the browser level alone and there's quite a big performance hit when done at that level. There is hardware/driver level support for some of the security issues (via OpenGL robustness extensions), but even when they are available, there's still a redundant layer of userspace security applied. This leads to some ridiculous implications when developing WebGL content, e.g. indexed rendering (glDrawElements) can't really be used (esp. with dynamic content) because the index buffer has to be inspected (with the CPU) for out-of-bounds indices. There is hardware support for bounds checking in many new GPUs (desktop and mobile) and it's easy to detect, but none of the popular implementations rely on that even when available. WebGL might be impressive in the browser but unfortunately it's roughly equivalent to what was available on the desktop in 2004 and on the mobile in 2010.
- flohofwoe 12y agoStrange, the demo runs perfectly at 60fps on my 2012 MacBookPro with Intel HD4000 in Chrome, is your browser and graphics driver uptodate? The new performance implications introduced by WebGL (like that dynamices indices are bad) are quite similar to restrictions of other platforms (for instance on tiled platform like PowerVR, any sort of transparency is much more expensive then on other platforms because it kills the per-tile hidden-surface-removal, etc). Basically, each GL platform has other performance characteristics that applications need to be aware of, write-once-run-(perfectly)-everywhere was never true for any 3D API, and WebGL is not different. I think that WebGL+extensions provide a pretty good basic feature set for 3D apps and games, of course it could be better, but given the fact that WebGL needs to serve the widest range of target platforms of ANY 3D API, and it's miles better then no GPU access in the browser at all. BTW, WebGL2 can already be tested in Firefox, this brings WebGL to the OpenGLES3 feature set: https://wiki.mozilla.org/Platform/GFX/WebGL2 https://wiki.mozilla.org/Platform/GFX/WebGL2
- pjmlp 12y agoWell, it is just catching up with what the first mobile GPU ES 2.0 were capable of, while using a full blown OpenGL/DirectX stack for it. WebGL is great for prototyping, but the browsers still make my NVidia card go full throttle for stuff that when coded in native language the fan is barely noticeable.