Very Cool interactive Path-tracer for WebGL in the browser

http://madebyevan.com/webgl-path-tracing/

if you have a webgl enabled browser, this demo is very very very cool :slight_smile: I’ve never seen anything this awesome being done in the browser before regarding path tracing.

Very cool indeed.

A warning before you click on the link. The site might not work good with some graphics card, it made Firefox crash on my laptop (Intel GPU )…

Yeah, who wants to install anything…

it’s insane to build something like that with webgl, I can’t imagine the shaders ever be advanced enough to do IOR like glass etc. but it’s cool anyway. the dude seems amazingly skilled on OpenGL and WebGL, check out the image filters.

that’s faster than blenders compositing nodes >_<

http://evanw.github.com/webgl-filter/

post deleted

try chrome ,

very cool
I’m using chromium, works fine
does anyone know if its possible to hide the lights

I’ll admit it would be awesome if applications went to the web. Think how simple it would be to setup rendering in the cloud when your app is in the cloud. Or you could install it locally on your own server and then access it from any computer on the network.

Works fine in Firefox on Mac.

It’s not the shaders, they are just a tool. It is programming, math and physics know-how
and this author has plenty.

There are examples of WebGL using this very sort of thing for virtual ‘tours’ and gaming.
Cloud computing will probably infuse the net with interactives also, that’s what it’s all about.

Wonder how Blender will look and in the future with this sort of approach.

Thanks Aermartin, very good find.

So even a web-browser get GI while Blender doesn’t? xD

Have you missed all of the news about Cycles?

And to note, development in Blender’s renderer has started going the GI route before (Farsthary’s work and the render25 branch), but the new Cycles engine marks the first time that there is usable, high quality, multibounce GI natively in Blender (considering the possibility this replaces BI).

At least NinthJake should be happy we’re actually able to use a high quality, GI-capable, modern render engine with a very promising future tightly integrated into Blender a month or so before gamers were finally able to play Duke Nukem Forever. :yes:

Certainly not, I have been following the cycles project ever since it was first announced. However I was directing that towards the BI, IMO cycles doesn’t count as the Blender renderer since it is not officially integrated into Blender.

There’s really not much that can be done to integrate Unbiased-quality GI into the BI engine because of its antiquated code structure and shading system.

There’s reports that the code has so many hacks inside hacks and bandaids that Brecht decided that the best way to go forward is to start coding an entirely new engine with a clean, modern codebase that would eventually replace BI. Working on the old BI code would not have been worth it because fairly large areas would’ve had to be completely rewritten anyway, what furthers this case is that BI has a number of cases where shading feature A does not work well with or not at all with feature B unless you bring in more code to handle those cases, which would cause the codebase to deteriorate further.

BI’s days as the default engine may be numbered in this respect, but I’ve heard ideas before about eventually decoupling BI from the Blender codebase and making it a optional-use legacy engine that ties into Blender using the same API as Cycles, even though it may not get developed anymore by then (perhaps with the exception of the few still willing to do work in the old shading and render code)

I know, I know and I’m not complaining or expecting GI to show up in BI. It was a joke, nothing more.

Damn I feel as funny as a politician trying to make a joke at a conference :confused:

weirdly, when i set up an identical scene in cycles (glossy spheres in a diffuse box with coloured walls lit by one area light), it can run for several minutes before becoming relatively noise free, while the webgl becomes almost completely noise free in a matter of seconds! while i am currently using cpu only for cycles, i have tested a gpu build, and the difference in speed is noticeable, but no wheres near as dramatic as that webgl demo!

i’m guessing there are still lots of optimizations to do for cyles (haven’t come across any new ready-to-use builds in almost a month for osx, so maybe thats also a factor!). anyway, its thrilling to see this stuff in action.

Crashed firefox for me, 64bit, win7… but when tried in Chrome it worked well. Interesting novelty.

@shteeve WebGL is HW accellerated it’s doing most of the path tracing on the GPU I presume, otherwise for it to be on the CPU it would have to be coded in JS :S that’s insane.

I think both of them, brecht and that dude have read some of nvidias documentation.

If you know how a pathtracer works, transmissive materials (eg. with IORs) are really the least of your worries, it’s quite easy. Path tracing is really one of the simplest rendering algorithms out there, which is why there are hundreds of little experimental demo pathtracers out on the net, and also why it’s such a popular algorithm to try implementing on the GPU (because of its simplicity). The cool part about the demo here is that it’s in the browser, using a technology in a way that it probably hasn’t already been used for yet, not the pathtracing.

I know the comparison to gi in blender is a tongue in cheek joke, but I think it’s worth emphasising just how different it is to make a little demo like this vs making a usable production renderer. People may not realise just how vastly different these tasks are. A few years ago I’ve implemented an experimental little pathtrace engine inside blender internal, and I’ve done other silly hacks too involving pathtracing, but the work that brecht is taking on with cycles is several orders of magnitude more difficult and complex than those sorts of things.

Firefox really does hate this haha. Amazing in Chrome though.