This shader is used by the i3dgen program (or the 3D Texture output driver) to generate a 3D texture map.
This shader is used by the i3dgen program (or the 3D Texture output driver) to generate a 3D texture map.
For the shader to work properly, geometry needs to be passed to the 3D texture generator. The shader generates the “density” channel of the texture by warping the metaball density field using noise. The noise generated can either be “global” noise (which is faster to compute) or computed per metaball (which is slower to compute).
If global noise is used, as metaballs/particles move, the noise will appear to remain static and thus the metaballs will “swim” through the noise.
When per-point noise is used, the noise will “stick” to each metaball. The “rest” point attribute can be used to change the noise space for each metaball.
Parameters
| Noise Frequency | How quickly the noise changes over space. |
| Noise Offset | Translation of the noise. |
| Cloud Time | Noise is computed using 4D noise. The cloud time provides the offset for the 4th dimension. This allows the noise to change smoothly over time. |
| Noise Amplitude | Strength of the noise. |
| Noise Roughness | Fractal lacunarity. |
| Turbulence | Number of octaves of noise are computed. |
| Density Threshold | The resulting density will be clamped between 0 and this value. |
| Density | When computing per-point noise, it’s possible to either take the maximum value or sum all the resulting densities. |