3 ms·
> That way your voxels have information on their neighbors and can compute lighting and reflection for each such Voxel. How many neighbors do you need to fetch
by Const-me 8y ago
> That way your voxels have information on their neighbors and can compute lighting and reflection for each such Voxel.
How many neighbors do you need to fetch from the tree for every pixel, to reconstruct a surface normal vector with good precision like 0.5-1% each axis?
Without these normals, it’ll be very hard to implement stuff like specular lightning, and reflections/refraction/environment mapping.
I think for this reason there’re no reflecting materials on the first video from that article (the one with the tank), and there’s high temporal noise on the second video “Voxel Surfaces with Materials”.
- Ygg2 8y agoI can't really say. This particular area isn't really my specialty, but cursory Google searches yielded some interesting links. From what I remember, there are techniques to cull voxels that aren't visible. So it's possible some of them don't even matter when doing calculation. See: https://tomcc.github.io/2014/08/31/visibility-1.html https://tomcc.github.io/2014/08/31/visibility-1.html https://tomcc.github.io/2014/08/31/visibility-2.html https://tomcc.github.io/2014/08/31/visibility-2.html From what I gather, the biggest issue with Voxel are lack of proper hardware support, forcing you to render more using software.
- Const-me 8y ago> there are techniques to cull voxels that aren't visible Culling invisible voxels is fine. But to reconstruct a normal with sufficient precision, I’d say you need to sample quite large area of nearby visible voxels. IMO the RAM bandwidth costs are prohibitive. As far as I understand it’s impossible to do in screen space because that would introduce artifacts near the edges of the objects. With traditional rasterizers, accurate per-pixel normals are very cheap to compute, i.e. some computations in the VS, then interpolation within triangle implemented in hardware, then a single lookup from the normal map in the PS. > lack of proper hardware support What hardware support would you need for them? GPUs are very efficient doing many kinds of general-purpose computing. For the storage, modern GPUs support volume tiled resources, at the first sight this feature in D3D 11.3 and 12.0 looks very suitable for these voxels: https://msdn.microsoft.com/en-us/library/windows/desktop/dn914605(v=vs.85).aspx https://msdn.microsoft.com/en-us/library/windows/desktop/dn9...