Rendering artifacts with Volume procedural octree divisions

   3373   2   1
User Avatar
Member
28 posts
Joined: 9月 2008
Offline
I am getting some empty voxels when I specify octree divisions. I can get up to 256 divisions with minimal artifacts, but at that point it seems better to just use 1 division and do the whole volume. This volume I have is a very thin shell that will be the atmosphere of a planet.

Cheers,
Jason

Edit: I have specified explicit bounds as well.

Attachments:
artifact.jpg (187.3 KB)

www.earthfixed.com
User Avatar
Member
221 posts
Joined: 7月 2005
Offline
I got the exact same thing. I'm trying to do a planet atmosphere also.

Support said:
Increasing the octree divisions larger than 1 is error-prone - I've just updated the help for this parameter to the following to clarify the issue:

Octree Divisions:
Specifies the number of divisions to use in constructing an
acceleration data structure for the volume. The default of 1 division
will cause the renderer to generate samples within the entire bounding
box for the volume. Larger values will trigger a preprocessing phase
before rendering that will evaluate the VEX function on a uniform grid
to try to determine the important parts of the volume, so that empty
portions of the image will render much faster. Note that values larger
than 1 will only produce a correct result if the feature size in your
volume is larger than the division size - otherwise the preprocessing
phase will miss small details in the volume which will then fail to
appear in the render, so increasing the octree divisions is not
recommended.

The step size for a quality of 1 is set to 1/100th of the maximum box dimension. The quality is then a scale factor applied to this step size, so quality of 2 will give you a step of 1/200th of the box dimension.

I'm working on doing this with OpenVDB volumes instead.
User Avatar
Member
178 posts
Joined: 1月 2013
Offline
I had the same problem. Ended up using a coarse (1024) vdb grid as the acceleration structure and doing the density falloff in the surface shader instead.
  • Quick Links