ROME HTML5 demo
ro.me
ro.me
With WebGL, it becomes simple to build an online, collaborative demotool where group members can easily work together on building new productions. That's simply unprecedented and may lead to a rebirth of the demoscene.
Personally I haven't been involved in the demo-scene for some 15 years but every now and then I indulge myself in the latest releases at http://pouet.net and find myself having lost a whole evening. That said, from what I have seen, and if this was indeed cutting-edge, we still have quite a bit to go... But yeah, we are definitely getting there. Not sure whether to jump for joy, though. :)
It is a very cool demo and allows you to mess around and build you own shaders online. This was very impressive as the first demo of its kind I ever saw.
Oh yeah, and if you see a smiley face on the ground in the desert scene I made that :)
Not even flash?
Hey, remember when we all thought that HTML5 and emerging technologies like webgl would be so cool and so much more secure than Flash? Yeah....
Having said that, we should be converging on open standards.
the webgl 1.0 spec has been finalized. even though this was built with some google employees and is featured on a chrome experiments page, it works just fine in my Firefox 4 and webkit nightly. I think we'll be ok.
WebGL is new and there are a lot of issues being worked out right now, in the field, while we watch. As we move from getcontext("moz-webgl") to "experimental-webgl" to plain, old "webgl", these interop issues are slowly going away. In the mean time, lots of things are going to be broken along the way. Besides, if it all worked right out of the gate, that would mean they were not pushing far enough. ;)
That said, this was pretty cool. The 3D was a bit "Money for nothing", and my Chrome gave me 10 seconds of beachball each time it switched from 2D video to 3D, but it's still showing that the web is moving forward (to CD-ROMs from the 90's)
It's obviously still a work in progress, but I think it will be fantastic when all the kinks are worked out.
That's what I see on the latest build of Chrome, and in FF4, on my one year old laptop.
So now in addition to supporting a big pile of browsers, we're expected to support a big pile of video cards and hardware configurations too? Isn't this the reason we moved to web apps 15 years ago?
[1] http://mrdoob.github.com/three.js/examples/webgl_geometry_mi...
Plus it's of no use to me, seeing I'm on an iPad right now.
Je me demande combien de gens sont en mesure de voir et d'interagir avec cette démo. Et quel pourcentage des utilisateurs du net ils représentent. Le message envoyé aux autres ressemble à « tu es un perdant, tu ne fais pas partie du groupe, tu ne mérite pas de voir notre travail ».
Je trouve que c'est pire que ce qu'on voyait dans les années 90.
We are sorry but you need to read french to understand this comment. Go take a course and come back here to experience our wisdom.
Thanks, I'll go look for the disable button now.
This might be the beginning of something great, but WebGL still has miles to go before being viable mass consumption technology and it's important to recognize that.
I realize I'm not answering your question entirely, but what I read between the lines is you're wondering whether WebGL will be able to replace "native" applications, performance-wise in the future. The ball is in the air on that one, and it's about to be caught by Intel/AMD/nVidia. And I bet you they are already cuddling with the browser-developers (or at least rubbing their hands in glee).
I guess the quick and dirty test for the state of things right now is to simply check the CPU/GPU performance on this one and compare it with current top of the month here: http://pouet.net/prod.php?which=56871 (note that this is a 64KiB demo -- in comparison, the background picture of http://romealbum.com/ is three times bigger).
A more fair comparison would be: http://pouet.net/prod.php?which=56900 (also released this month, it seems)
Do let me know if you come to any kind of conclusion :)
WebGL is really good and it's only going to get better as long as the creators of the browsers make enough money to subsidize the optimization.
It may be that Chrome/V8 need to start using LLVM.
LLVM is far too heavy to be used in such a situation -- page load times would rise dramatically. Really, V8 just needs to start doing hot spot optimizations. Do a quick first pass like they're doing now, then incrementally optimize away the hot spots. If I had to take a guess, I'd say that'll be coming in the next year, in some form or another.
Even a well-written JS app on a great JIT is going to have trouble keeping up with an equivalently well-written native app that has access to SIMD, cache-aware memory layouts, prefetching and other native features. My CPU can do 200 million matrix x vector multiplies per second using SSE3. In Firefox4 JS it can do 20 million. Impressive, but not equivalent.
On Windows, you are probably running GL on top of a D3D translation layer. That adds overhead to an API that you sometimes want to call into 60,000+ times per second. The GLSL to HLSL shader translation step is a big pain during load times. I'm not sure how much of a run-time penalty it causes.
Web GLSL is somewhere between HLSL Shader Model 2 and 3 from 2003. The latest desktop GPUs run Shader Model 5 which has many sophisticated features and performance opportunities. However, many of those are a bit too sophisticated for casual 3D programmers. Hopefully WebOpenCL will come eventually and shrink that feature gap.
Why are we bending over backwards to modernize a bunch of antiquated document technologies?
I quite like Javascript, but it is rapidly becoming byte code. If you considered "compilation target" to be a JS design goal, I'd consider Javascript to be an abject failure. Similarly, while I realize WebGL is in its infancy, any 3D rendering layer that, by design, cannot approach the performance of Direct3D for simply pushing polygons (not even talking about programmable pipelines) is also an abject failure.
I guess it also depends on the software used, on drivers, etc ... the technology is very new and still a work in progress.
by design, cannot approach the performance of Direct3D
And why is that?