|
|
|
|
|
by gavanwoolery
2829 days ago
|
|
From the paper: "We use the rasterizer as a potentially-visible set optimization to iterate only over pixels
for which rays might intersect a voxel, and then execute a small ray tracer in the
pixel shader. That is, we “splat” billboards that give coarse visibility and compute
exact visibility in a pixel shader. This works for any pinhole perspective projection,
including eye rays and shadow rays, so we use it for the shadow map rendering pass
as well" Neat - I used a similar technique [1] in the last iteration of Voxel Quest, but I only rasterized single points/pixels then raytraced them into filled cubes (was not efficient other than on fill rate). However I did not invent the technique (I'm not sure who did, but I first got the idea from talking to Florian Boesch [2]) [1] https://twitter.com/gavanw/status/717265068086308865
[2] http://codeflow.org |
|
I was just thinking about doing this last weekend (in the context of drawing exact reflections off reflective surfaces defined by arbitrary meshes). Nice to see it actually works, at least for voxels!
The fact that raytracing (onto a 2D plane) and rasterization are essentially isomorphic to one another is a powerful observation.