It sucks on every cpu to generate on big (well … bigger) realtime raytraced live video.
ray sucker is supposed to be show case that nodejs is suitable even for realtime raytracing.
every client draws a small area of one big frame and sends it to the server. the server draws everything into one canvas and returns the big frame to every client. all data is base64 encoded transferred over websockets.
to see the current state of the scene just press ‘start’ to warm up your cpu, just press ‘participate’ (enables view too).
please wait until textures are loaded!
sometimes the buttons doesn’t react at first action, so please feel free to penetrate them (just press ‘em hard and often :D)
when not enough workers are around, then just open some more tabs and set them to participate and disable viewer.
video smoothness is best with 3+ workers
when video seems to broken, consider it as modern art.
best works in chromium/chrome/safari (faster) and opera (more stable)
in the gstreamer branch is a newer version, but it doesn' work :( (gstreamer receives defect png data when some client parts are drawn onto server canvas)
{ "dependencies": {
"nko": ""
, "coffee-script": ""
, "bufferstream": ""
, "eyes": ""
, "colors": ""
, "cli": ""
, "express": ""
, "coffeekup": ""
, "stylus": ""
, "cluster": ""
, "cluster-socket.io": ""
, "socket.io": ""
, "socket.io-sessions": ""
, "connect-redis": ""
, "log": ""
, "browserify": ""
, "jquery-browserify": ""
, "underscore": ""
, "backbone": ""
, "canvas": ""
},
"other": {
"http://29a.ch/2010/6/2/realtime-raytracing-in-javascript": ""
, "node-waf": ""
, "python": ""
, "gstreamer": ""
}
Voting is now closed.
dapsaysSorry, but I had a hard time figuring out what was going on. Some metrics describing what the system is doing (besides fps) might be helpful. | |||
I like the idea and the approach, and I’ll rate it pretty well on innovation. That said, it was a bit glitchy for me, and while the design works, it’s nothing to write home about (but for a purely technical demo I can look past it). | |||
Flashing buttons :–( | |||
mattcshoreunfortunately the technical problems delayed this really cool, highly experimental project. | |||
I think this is unique and interesting, but purely on a technical front. I would like to see the ability to load up custom scenes, or animations and have them rendered on client nodes and possibly saved as a movie or something later. | |||
jamesaduncan
therazorbladeNot sure if what I saw is the expected behavior. The image was mostly broken and even with multiple workers was never smooth for “video”. The idea of breaking a complex calculation into smaller tasks is interesting and if made generic, could be very useful. | |||
Seems like an interesting concept, but it repeatedly crashed my tabs in multiple browsers.