Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Given an octree of voxels, how do you render with smooth surfaces?

I noticed most 3d voxel models are actually pretty low resolution, but then are rendered all smoothed out with some sort of interpolation.

Given its ray traced, what is the algorithm used to render it smoothly? Could anybody suggest a book on the topic?

like image 268
Pyrolistical Avatar asked Jan 21 '26 18:01

Pyrolistical


1 Answers

There has been some discussion on the OMPF forum about this. The key is to have surface normal information stored with each voxel - even for high voxel resolution. You do shading with the stored normal, not the normal to the little box that is a voxel. Even then, it's not good for surfaces that are almost axially aligned where you have a lot of flat surface with an occasional step. The steps are nearly impossible to hide on smooth surfaces. Also, for extremely irregular surfaces, you'll have problems where a single "voxel normal" is not adequate for viewing from different sides.

like image 98
phkahler Avatar answered Jan 23 '26 08:01

phkahler



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!