JS Business Card Raytracer
JS port of Kensler's famous 1337-byte C++ business-card ray-tracer. My initials "glebv" is spelled out in reflective mirror spheres over a checkered floor. Full Monte-Carlo: 64 samples/px, depth-of-field blur, soft shadows, Phong specular, sky gradient. Hand-golfed to ~1.1 KB then crushed even further with jscrush.
W2hdV2hhdCBpdCBpc1svaF0NCkEgSmF2YVNjcmlwdCBwb3J0IG9mIEFuZHJldyBLZW5zbGVyJ3MgbGVnZW5kYXJ5IGJ1c2luZXNzLWNhcmQgcmF5LXRyYWNlciAtIGEgY29tcGxldGUgTW9udGUtQ2FybG8gcGF0aCB0cmFjZXIgdGhhdCBmaXRzIG9uIHRoZSBiYWNrIG9mIGEgYnVzaW5lc3MgY2FyZC4gVGhlIG9yaWdpbmFsIEMrKyBpbXBsZW1lbnRhdGlvbiBpcyBbbGlua11odHRwczovL2ZhYmllbnNhbmdsYXJkLm5ldC9yYXlUcmFjaW5nX2JhY2tfb2ZfYnVzaW5lc3NfY2FyZC9pbmRleC5waHBbL2xpbmtdIGFuYWx5emVkIGluIGRldGFpbCBieSBGYWJpZW4gU2FuZ2xhcmQuDQoNClRoaXMgZW50cnkgcmVuZGVycyBteSBpbml0aWFscyBbYl1nbGVidlsvYl0gYXMgcmVmbGVjdGl2ZSBtaXJyb3Igc3BoZXJlcyBob3ZlcmluZyBhYm92ZSBhIGNoZWNrZXJlZCBmbG9vciwgbGl0IGJ5IGEgc2luZ2xlIHBvaW50IGxpZ2h0IHNvdXJjZSB3aXRoIGEgc2t5IGdyYWRpZW50IGJhY2tkcm9wLg0KDQpbaF1GZWF0dXJlc1svaF0NCltiXTY0IHNhbXBsZXMgcGVyIHBpeGVsWy9iXSAtIGZ1bGwgTW9udGUtQ2FybG8gaW50ZWdyYXRpb24gcGVyIGZyYW1lDQpbYl1EZXB0aCBvZiBmaWVsZFsvYl0gLSBjYW1lcmEgb3JpZ2luIGppdHRlcmVkIHdpdGhpbiBhbiBhcGVydHVyZSBkaXNrIGVhY2ggc2FtcGxlDQpbYl1Tb2Z0IHNoYWRvd3NbL2JdIC0gbGlnaHQgcG9zaXRpb24gaml0dGVyZWQgcGVyIHNhbXBsZQ0KW2JdTWlycm9yIHJlZmxlY3Rpb25zWy9iXSAtIG9uZSByZWN1cnNpdmUgYm91bmNlIG9uIHNwaGVyZSBzdXJmYWNlcw0KW2JdUGhvbmcgc3BlY3VsYXJbL2JdIC0gdGlnaHQgaGlnaGxpZ2h0IChleHBvbmVudCA5OSkgb24gc3BoZXJlcw0KW2JdQ2hlY2tlciBmbG9vclsvYl0gLSByZWQvd2hpdGUgdGlsZXMgd2l0aCBMYW1iZXJ0IHNoYWRpbmcNCltiXVNreSBncmFkaWVudFsvYl0gLSBibHVlLXRvLXdoaXRlIGJhc2VkIG9uIHJheSBaIGRpcmVjdGlvbg0KDQpbaF1Ib3cgdGhlIHNjZW5lIGlzIGRlZmluZWRbL2hdDQpUaGUgbGV0dGVyIHNoYXBlcyBhcmUgZW5jb2RlZCBhcyBhIGJpdG1hcCAtIGVhY2ggaW50ZWdlciBpbiBhcnJheSBHIGlzIGEgYml0bWFzayBmb3Igb25lIHJvdyBvZiB0aGUgZ2x5cGggZ3JpZC4gQml0IGsgc2V0IGluIEdbal0gcGxhY2VzIGEgdW5pdCBzcGhlcmUgYXQgd29ybGQgcG9zaXRpb24gKGssIDAsIGorNCkuIFNldmVuIHJvd3MsIDI5IGNvbHVtbnMgLSA3IGludGVnZXJzIGRlZmluZSB0aGUgZW50aXJlIHNjZW5lIGdlb21ldHJ5Lg0KDQpbaF1KUyBwb3J0IHNwZWNpZmljc1svaF0NClRoZSBvcmlnaW5hbCBDKysgcmVsaWVzIG9uIG9wZXJhdG9yIG92ZXJsb2FkaW5nIGZvciB2ZWN0b3JzICgrLCAqLCAlIGZvciBkb3QvY3Jvc3MpLiBKYXZhU2NyaXB0IGhhcyBubyBvcGVyYXRvciBvdmVybG9hZGluZywgc28gZXZlcnkgdmVjdG9yIG9wZXJhdGlvbiBpcyBhIG5hbWVkIGZ1bmN0aW9uIGNhbGwuIFRoaXMgYWxvbmUgYWNjb3VudHMgZm9yIG1vc3Qgb2YgdGhlIHNpemUgZ2FwIHZzLiB0aGUgQysrIG9yaWdpbmFsLg0KDQpUbyBjb21wZW5zYXRlLCBhIGZ1c2VkIGhlbHBlciBRKGEsIGIsIHMpID0gYSArIGIqcyByZXBsYWNlcyB0aGUgY29tbW9uIGFkZCtzY2FsZSBwYWlyLCBjYW1lcmEgYmFzaXMgdmVjdG9ycyBhcmUgcHJlY29tcHV0ZWQgb2ZmbGluZSBhbmQgaGFyZGNvZGVkIGFzIG51bWVyaWMgbGl0ZXJhbHMsIGFuZCB3aXRoKE1hdGgpIGdpdmVzIGZyZWUgYWNjZXNzIHRvIHNxcnQsIHBvdywgY2VpbCwgcmFuZG9tLiBBZnRlciBoYW5kLWdvbGZpbmcgdGhlIHNvdXJjZSBzaXRzIGF0IH4xLjEgS0IsIHRoZW4gW2JdanNjcnVzaFsvYl0gY29tcHJlc3NlcyBpdCBmdXJ0aGVyIHZpYSBzdHJpbmcgc3Vic3RpdHV0aW9uLg0KDQpbaF1BYm91dCByZW5kZXIgdGltZVsvaF0NClRoZSByZW5kZXIgdGFrZXMgYXJvdW5kIFtiXTYwIHNlY29uZHNbL2JdIHRvIGNvbXBsZXRlIC0gcGxlYXNlIHdhaXQgZm9yIGl0IHRvIGZpbmlzaC4gVGhlIHByb2dyZXNzaXZlIHJvdy1ieS1yb3cgcmVuZGVyaW5nIHZpYSBzZXRUaW1lb3V0IGtlZXBzIHRoZSBicm93c2VyIHJlc3BvbnNpdmUgZHVyaW5nIHRoZSBwcm9jZXNzLg0KDQpUaGUgc2l6ZSBjb25zdHJhaW50IG1hZGUgaXQgaW1wb3NzaWJsZSB0byB1c2UgZmFzdGVyIHJlbmRlcmluZyBhcHByb2FjaGVzOiBhIHNjYWxhciAoYWxsb2NhdGlvbi1mcmVlKSByZXdyaXRlIHJ1bnMgfjEww5cgZmFzdGVyIGJ1dCBpcyBuZWFybHkgdHdpY2UgYXMgbGFyZ2UuIFRoZSAubWFwKCktYmFzZWQgdmVjdG9yIG1hdGggdXNlZCBoZXJlIGNyZWF0ZXMgbWlsbGlvbnMgb2Ygc2hvcnQtbGl2ZWQgYXJyYXlzIGFuZCBwYXlzIGEgR0MgY29zdCAtIGJ1dCBpdCBjb21wcmVzc2VzIGJldHRlci4=
Comments & ratings
Participant feedback and public notes for this demo.
Public comments
Notes left by visitors.
No public comments yet. Start the conversation below.
Leave a public comment
Your comment appears publicly after the human check.
no comment
for some reason is extremly slow
no comment
Not very aligned with the theme but nice! It took sooooo long on my potato laptop!
too slow
Kudos on porting the C++ algo to JS and hacking it down to 1k .Too bad it is painfully slow. Clocked at 11 mn here, the culprit being the encapsulation with(Math). Removing it reduces the time to 3mn20, and RegPack still manages to compress the source to 993 bytes.
It took way longer than the README suggests for me.
nice but really slow