top | item 2867733

WebGL Path Tracing

94 points| steren | 14 years ago |madebyevan.com | reply

32 comments

order
[+] redfloatplane|14 years ago|reply
That's fantastic. I've been meaning to get into WebGL (perhaps make some sort of tech demo game with it). I've held off because of performance issues (also, I admit, I'm not too excited about dealing with shaders).

I think I should stop procrastinating now and actually do something with it. This is very exciting!

[+] dualogy|14 years ago|reply
Shaders are fun! Looks a bit like "scary c++" at first but not too steep a learning-curve actually. No header files, pointers and the likes. Just a couple of maths functions and maths types (vec3, float etc). Pixel shaders return a "color" vector, vertex shaders a vertex "position" and "that's about it".
[+] crazygringo|14 years ago|reply
This is one of the coolest things I've seen all year, without exaggeration. The gradual rendering alone is new to me (and utterly fascinating), but the fact that diffuse lighting can be rendered in a browser... this completely redefines what I understand a browser to be capable of. Seriously amazing.
[+] aidenn0|14 years ago|reply
If you haven't seen path-tracing before, you should check out LuxRender: http://www.luxrender.net/ It's an open source unbiased renderer that uses similar techniques.

It's a massively parallel problem, so the recent abilities to run general purpose code on a graphics accelerator has really been a huge boost to performance something like: http://www.youtube.com/watch?v=70uNjjplYzA would have been impossible before CUDA came out.

[+] davidwparker|14 years ago|reply
Fantastic use of WebGL. It's amazing how much can be done in browsers today. Also amazing how much it heats up my MBP!
[+] dark_c|14 years ago|reply
Warning: caused a complete system hangup here with Chrome 13 on Windows 7, Intel graphics.
[+] palish|14 years ago|reply
Warning: This is incredibly epic, and worked fine for me. May cause heart attack due to awesomeness.
[+] barrydahlberg|14 years ago|reply
Chrome 13, Windows 7 - display driver (Intel Integrated) crashed but Windows managed to recover it. Intel graphics related issue maybe?
[+] dualogy|14 years ago|reply
Seems like a general WebGL issue -- I've seen most WebGL examples hang up or freeze on integrated graphics / Intel graphics but they always run absolutely smoothly on "full-blown" gamer-like GPUs (nVidia etc.) Unless your nVidia is on a MacBook but running Linux instead of OSX und thus odd drivers.
[+] sonnyz|14 years ago|reply
Worked great for me until I switched tabs back to HN to read comments. My screens instantly went black while my video card driver thew up all over my desk.
[+] Joe8Bit|14 years ago|reply
No problems for me at all. Chrome 14, Windows 7, nVidia graphics.
[+] 4J7z0Fgt63dTZbs|14 years ago|reply
up-to-date Chrome, Mac Lion - worked without causing any disturbance.
[+] jxcole|14 years ago|reply
This guy is an inspiration:

http://madebyevan.com/about/

I've been struggling to complete a web page app like this for a while, and he has finished several even though he's still in school.

[+] timb|14 years ago|reply
Beautiful... the fading grain as it renders is extremely pleasing.
[+] pstadler|14 years ago|reply
Indeed, very polished. It's so awesome! Nice experience, very smooth (OSX/Radeon/FF5).
[+] ansonparker|14 years ago|reply
This is killer. Be sure to try dragging the scene/objects!
[+] jak3px|14 years ago|reply
Looks very promising. Congrats for the imp of the idea. Now I'll try to get out javascript/browser from the performance equation and see how it rocks.
[+] evilswan|14 years ago|reply
Works splendidly - 2011 MBP w/Radeon latest FF stable.
[+] azakai|14 years ago|reply
Works great here too, FF8 on Linux with NVidia drivers.
[+] ansonparker|14 years ago|reply
Found a little easter egg. Enter

javascript:ui.setObjects(makeRecursiveSpheres())

in the location bar with the page open and you'll really torture your graphics card.

[+] windsurfer|14 years ago|reply
Works great! Until I overloaded it. Made my graphic driver crash.