Pyrolistical
Pyrolistical

Reputation: 28036

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?

Upvotes: 3

Views: 2155

Answers (2)

Roland Smith
Roland Smith

Reputation: 43563

Have a look at volume ray casting. At the website of the Worcester Polytechnic Institute you can find a more in-depth explanation.

Upvotes: 0

phkahler
phkahler

Reputation: 5767

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.

Upvotes: 4

Related Questions