5 ms·
Fabulous work. The video presentation is only 18 minutes long, well organized, and very accessible -- the author does a great job of explaining how and why the
by cs702 6y ago
Fabulous work. The video presentation is only 18 minutes long, well organized, and very accessible -- the author does a great job of explaining how and why the rendering works so efficiently using a simple example in 2D:
https://www.youtube.com/watch?v=_6CnaugAcCc https://www.youtube.com/watch?v=_6CnaugAcCc
Highly recommended.
- GuB-42 6y agoThe 2D part is well explained, however, I am interested in how they made it 3D. They have voxels, but the actual rendering is a bit unclear. I guess they simply didn't do much work on that part, using some bruteforce-ish raymarching technique, which their fast evaluation and nicely bound objects allows. They mention further work though, like sparse voxel octrees, improving culling, etc... So I guess that will be for a "future episode".
- mkeeter 6y agoCheck out section 4.2 of the paper: 3D is very similar to 2D, using the same strategy of big regions -> small regions -> voxels. (There's also a bit of extra logic to skip regions which are occluded in Z, plus a final pass to render normals using automatic differentiation)
- whizzter 6y agoWell in honesty it isn't that different for 3d. The beauty of raymarching would be that you could rewrite the raymarcher slightly to tag many "instructions" that are ambigiously within bounds when rendering one of their "Big-squares" and just let them remain within their described tape for all pixels within that screen-space square. Just skimmed the paper but having written a few raymarchers i see the pseudo-code (maybe not for all shapes/distortions but many in practice). Same priciple should work for anything with decently good distance function, reifying a mesh or SVO could always be combined with rough culling of the "tapes" since it's all about the distances.