Volumetric Mesh Generator

From IncendiaWiki
Revision as of 23:05, 7 December 2022 by Aexion (talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

The Volumetric Mesh Generator.jpg

Intro

Important Notice:
This is an outdated Incendia EX tutorial.
Use the Simple Mesh Generation Tutorial for Incendia Next.


Starting with Incendia EX, 3D mesh generation is supported. Since fractal structures are extremely complicated, there's no way to generate an exact mesh representation of fractal objects. The solution to this problem is to render the fractal on a cubic matrix, so an approximation of the real fractal is obtained. The problem of this approach is the fractal that in order to get a good approximation of the fractal object, the matrix must have a large size.

Volumetric Generation Controls

Volumetric Resolution

Cube Size.jpg

This control defines the resolution of the volumetric matrix. Larger the resolution, bigger the resulting file.

Fill Hollow Baseshapes

Fill Hollow Baseshapes.jpg

Most Incendia baseshapes are thin (infinitely thin) shells that has no filled volume.
This approach is good for standar rendering, but it becomes a problem on the volumetric rendering mostly because the resulting meshes becomes very large due to hidden details. For example, the sphere baseshape is in reality a bubble, not a solid sphere and when it is rendered by the standard method, theres no problem since it's opaque.
In the volumetric method, the sphere now is a bubble and has a wall, so the triangle counts not only include the surface of the sphere, but also its inner wall. Also, in many fractal types, many segments will fall inside of the sphere and while that is not visible on the standard render, it will cause the generation of a large number of unseen structures on the volumetric renders, that increases the overhal triangle counts.
To fix that, this options turns the hollow baseshapes into a solid structures, so the baseshapes remains as a solid volume instead of a shell and that reduces the final triangle counts.
Here is an example (using the standard renders) of the effect of this option.



Start Volumetric Render

Render Volume.jpg

This button start the actual volume calculation. In other words, the volumetric matrix begins to be filled with the fractal calculation.

When it is enabled, the fast preview will show an approximation of the volume box.

Close the Volumetric Mode

Close the Volumetric Mode.jpg

This button stops the volumetric calculations and turns Incendia back to normal.

Mesh Generation Controls

Mesh Algorithm

Mesh Algorithm.jpg

Incendia Volumetric uses the Marching cubes algorithm in order to generate the triangle meshes from the volumetric matrix. Since the marching cubes uses a density field, three different algorithms are defined:

  • Boxes, No interpolation nor density field is calculated, instead, the marching cubes algorithm determines if a voxel is occupied or not. This is ther fastest option.
  • Density, The marching cubes uses a linearly interpolated density area in order to determine the overhall density of the field.
  • Gaussian Density, Instead of a linear interpolation, a gaussian approximation is used, this is the best option, but the slowest one.

While the Density and the Gaussian Density options are the best, in some cases the Boxes option combined with a Laplacian Smooth Algorithm (found in MeshLab) produces the best result.

Density Threshold

Density Threshold.jpg

This slider is for defining how thin or thick the density field will be. Smaller values produces very thin walls and in many cases removes individual voxels. But also, it produces more details. Larger values tend to smooth out the details but also produces more optimal meshes.

Export Volume

Save Volume.jpg

Export OBJ.jpg

Export RAW.jpg

Starting on Incendia 1.5, there are three different export formats for the volumetric render.
The Formats are:

  • STL Mesh Export.
  • OBJ Mesh Export.
  • RAW Voxel Export.

Mesh Generation Considerations

Please consult the Mesh Generation Basics Tutorial