Hacker News new | past | comments | ask | show | jobs | submit login
3D duck, done in Javascript, 4k. (untergrund.net)
43 points by mixmax on March 1, 2009 | hide | past | favorite | 15 comments



And this duck with a hundred or so polygons takes up an entire Core 2 2Ghz core to render.

I feel like I've traveled back in time to the early 90s.


3D in a canvas is no longer amazing.

3D without is amazing but it does make you wonder why.


Nice demo. But unsurprisingly, if something is Turing complete, you can do rendering in it, too. The bigger question is - why did we get into this sad situation where "web" and "performance" are antonyms?

The standard answer would be that you need full control over the machine to get performance, and you really don't want to give full control over the web for security reasons. But this answer is false. We just need more advances in code validation, e.g. something that would prove a piece of code cannot do system calls.


You don't even need that. Your OS just needs a sane security model to enable sandboxing processes.


Or do both.


<standardeply>

Google IECanvas and include the one line of script needed to make this cross browser. It continually baffles me why people don't do this.

</standardreply>


In this particular case, the answer could be performance.

Google's ExplorerCanvas (emulation by VML) is much slower than native canvas implementations (particularly compared to new JS engines like in FF3.1 Beta 2 or Webkit nightly).

For standard 2D graphics it's good enough, but if you push browser to the limits, like with a software 3D renderer, ExplorerCanvas would probably be unbearably slow.

This demo looks like a Demoscene release [1], so they probably wouldn't like to be caught with a slow code :).

[1] http://en.wikipedia.org/wiki/Demoscene


The only problem I see with this kind of thing is it uses the same CPU as flash (FF3.1b3 and Safari4b1), and Flash is pretty slow on OSX anyway!


Doesn't Shockwave[1] (Flash's predecessor and an a spinoff of Macromedia Director) support native 3-D? Unlike Flash, Shockwave was built with more consideration for system performance, at the cost of download size.

[1] http://en.wikipedia.org/wiki/Adobe_Shockwave


I'm afraid the new standard for me is Quake 3. Real-time multi-player good-enough 3D graphics. This is definitely cool though.


I don't think that the graphics of Quake 3 are done in Javascript. I believe only the setup of games (team building, joining levels) is done with AJAXy things.


Yup, Quake Live comparison is not fair.

If you use custom plugins, you should be compared to desktop games. Plugins run regular compiled C++ (or whatever) code, browser just gives them a place where they can draw. And from Quake Live FAQ it seems they even use DirectX, so it's actually hardware accelerated.


My comparison isn't fair if you are a stickler for implementation. Users aren't.

I'd be happy to say X is better than Quake Live, regardless of underlying tech -- IF you show me something better.

I'm looking for net effect here.


Perhaps, if you're interested in the business-level angle - but binary plugins have had a long (and blighted) history, so they're less relevant.

If you're interested in technology and creating something new using the common elements of the web, on the other hand, stretching the limits of what's technically simple javascript + canvas is indeed important.


Net effect depends on the category. Modern PC games are more advanced than 10 year old Quake 3 (which was state-of-the-art in its time).

If getting to play Quake Live would be as seamless (from regular web surfing) as it is now getting to play Flash games, it would be indeed a major progress.

But if user already has to go through the hassle of installing game-specific plugin, what is the actual difference compared to just installing regular game (downloaded from the web)?

-----

BTW Here is something that is a bit more innovative:

http://www.playce.com

You still need to install a custom plugin (no way around this, at least till there is a hardware accelerated 3D canvas), but at least they try to do something different, taking advantage of the platform: basically you can play games in Google Earth like environment.

-----

And if you want something really crazy, check OTOY:

http://www.techcrunch.com/2008/07/09/otoy-developing-server-...

They are doing server based rendering: instead of movies they stream dynamically rendered images responding to user input (though I must say I have some doubts about practicality of such approach).




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: