--- title: "Filter" url: "https://help.maxon.net/c4d/en-us/Content/html/OVOLUMEFILTER-ID_VOLUMEFILTER_FILTERTAB.html" section_path: "Volumes > Volume Filter > Type Signed Distance Field (SDF)" element_id: "OVOLUMEFILTER" group_id: "ID_VOLUMEFILTER_FILTERTAB" description: "Here you will find a description of the Volume Type Signed Distance Field." --- ## Filter Don't be taken aback by the fact that various filters are all described in a single section. This is one and the same internal object, only with different settings each time. Note, however, that specific settings cannot be transferred to other volume types. For example, a filter with SDF settings will not work with a Fog volume generator. ### Strength Parameter ID: `ID_VOLUMEFILTER_STENGTH` · Range: [0..100%] This slider is used to adjust the strength of the filter. # Type Signed Distance Field (SDF) SDF Smooth SDF Dilate and Erode SDF Close and Open ### Type Parameter ID: `ID_VOLUMEFILTER_SDF_FILTER_TYPE` Here you will find a description of the **Volume Type** Signed Distance Field. Note that the Smooth filter's settings are identical to the SDF, Fog and Vector options and are therefore also shown here. ![Image: 043441.jpg](https://help.maxon.net/c4d/en-us/Content/Resources/Images/043441.jpg)\ The three SDF filter types. Smooth The Smooth filter smooths the transition of Voxel values. Dilate / Erode Depending if the **Offset** has a negative or positive value, the surface will be offset inwardly or outwardly. Close / Open Depending if the **Offset** setting has a positive or negative value, the outer surfaces will first be moved inwardly and by the same distance outwardly (closes holes and smooths details, for example) or these surfaces will first be moved outwardly and then by the same distance inwardly (connects objects that lie in close proximity). These filters can produce very interesting results. As always, it's a good idea to experiment. You can, for example, use Hair (the Hair object can generate both splines and polygons) in a Volume Builder. Interesting structures can be created using these filters: ![Image: 041479.jpg](https://help.maxon.net/c4d/en-us/Content/Resources/Images/041479.jpg)\ Here, a Hair object with a volume shape filter Dilate / Erode. ### Operator Parameter ID: `ID_VOLUMEFILTER_SDF_SMOOTH_TYPE` ### Operator Parameter ID: `ID_VOLUMEFILTER_FOG_SMOOTH_TYPE` ![Image: 041477.jpg](https://help.maxon.net/c4d/en-us/Content/Resources/Images/041477.jpg)\ Note how both Operators on the left smooth all details (peaks, holes) while those at the right maintain these irregularities for the most part (with greater render times); **Volume Type** Signed Distance Field and Fog have much fewer options. The following is done to render the current Voxel: - **Gaussian**: neighboring Voxel values wil be used based on a Gaussian curve. - **Mean**: the mean value of the neighboring Voxel values will be used (corresponds to a rectangular filter) - **Median**: the Mean value (median value of the ordered Voxel value list) of the neighboring Voxel values will be used. The local maximums (peaks) will be ignored. - **Mean Curvature** (only SDF): the average curvature will be ascertained and applied at each position. Soap film, for example, behaves like this. This can be used to smooth minor irregularities. - **Laplacian Flow** (only SDF): with an increasing **Iterations** value and a largely consistent volume, maximums will be reduced accordingly. This is all rather abstract. Since the results are often similar, the best thing you can do is experiment in your scene to see which results are produced. ### Voxel Distance Parameter ID: `ID_VOLUMEFILTER_SDF_STENCILWIDTH` · Range: [1..2147483647] This value can not be defined for all **Filter Type**s. This value defines how many neighboring Voxels (in all 6 directions), in a cube-shaped area, will be used to further calculate the individual Voxel. The greater the value, the broader the smoothing effect will be. Render times will increase accordingly as the value increases! ### Offset Parameter ID: `ID_VOLUMEFILTER_RESHAPE_OFFSET` · Range: [-∞..+∞m] This value is added to each Voxel value. Negative values are also possible. In practice, this means that the surface will be raised or sunken for most filter types. ### Iterations Parameter ID: `ID_VOLUMEFILTER_ITERATIONS` · Range: [1..2147483647] Here you can define how often the filter should be applied. The render time will increase accordingly with increasing values and the filter effect will be stronger. ![Image: subgroup.gif](https://help.maxon.net/c4d/en-us/Content/Resources/Images/subgroup.gif)\ Filter Options ### Filter Accuracy Parameter ID: `ID_VOLUMEFILTER_SDF_FILTERACCURACY` Here you can select from 6 filters. These define how precisely or exactly the calculations should be made. The filters are arranged in order of increasing accuracy per type (Bias or Weno) from top to bottom (render times will increase accordingly). Test each one to find out which one works best for your respective scene. ### Resize Parameter ID: `ID_VOLUMEFILTER_SDF_RESIZE` ### Voxel Range Parameter ID: `ID_VOLUMEFILTER_SDF_RESIZE_HALFBAND` · Range: [1..2147483647] These settings are used to create more volume so the filter can work better. This is a reference to the problems described [here](https://help.maxon.net/c4d/en-us/Content/html/OVOLUMEBUILDER-ID_OBJECTPROPERTIES.html.md). Note the hierarchy and the order in which the filters are arranged in the object list (processed from top to bottom!). The volume resize is only applied to the volumes directly below it. Objects that appear later in the list are not affected. However, **Voxel Range** will generate Voxel layers both above and below the original surface. This can be defined separately in the Volume Builder, which can result in faster calculations (and is definitely the recommended and more precise method). # Type: Fog Fog Smooth Fog Multiply Fog Invert Fog Add Fog Range Map Fog Curve ### Type Parameter ID: `ID_VOLUMEFILTER_FOG_FILTER_TYPE` Smooth The Smooth filter smoothes the Voxel transitions (see Signed Distance Field above). Curve Here, the value range can be converted not linearly but using a spline. Multiply This filter multiplies the current Voxel value with a multiplier defined below. Invert This mode mirrors the Voxel value range around a mean value or a freely definable center point. Add Use this mode to add the Voxel values to the **Add** setting that appears. Range Map Works like the [Range Mapper](https://help.maxon.net/c4d/en-us/Content/html/GVRANGEMAPPER.html.md) XPresso node. A Voxel value range will be converted linearly to another value range (see below). ### Multiply Parameter ID: `ID_VOLUMEFILTER_FOG_RESHAPE_MULTIPLY` · Range: [-∞..+∞] ### Add Parameter ID: `ID_VOLUMEFILTER_FOG_RESHAPE_ADD` · Range: [-∞..+∞] Here, you can enter the values for the **Multiply** and **Add** modes described above. ### Auto-detect Center Parameter ID: `ID_VOLUMEFILTER_FOG_INVERT_AUTOAXIS` ### Mirror Around Parameter ID: `ID_VOLUMEFILTER_FOG_INVERT_AXIS` · Range: [-∞..+∞] These settings will be made available if **Type** is set to Invert. **Auto-Detect Center** uses the largest and smallest Voxel values to ascertain a mean value on whose basis the value range will be mirrored. Disable this option if you want to freely define the mirror mean value using the **Mirror** setting. ### Min Input Parameter ID: `ID_VOLUMEFILTER_SDF_REMAP_OLD_MIN` · Range: [-∞..+∞] ### Min Output Parameter ID: `ID_VOLUMEFILTER_SDF_REMAP_NEW_MIN` · Range: [-∞..+∞] ### Max Input Parameter ID: `ID_VOLUMEFILTER_SDF_REMAP_OLD_MAX` · Range: [-∞..+∞] ### Max Output Parameter ID: `ID_VOLUMEFILTER_SDF_REMAP_NEW_MAX` · Range: [-∞..+∞] If **Type** is set to Range Map, the Voxel range will be replaced by a new one (similar to the [Range Mapper](https://help.maxon.net/c4d/en-us/Content/html/GVRANGEMAPPER.html.md) XPresso node). The Min and Max settings can be used to define this very precisely. Example: these 4 Voxel values are present: 0, 1, 4, 5. - If you set **Min Input** to 0 and **Max Input** to 5, **Min Output** to 0 and **Max Ouput** to 10, 0, 2, 8 and 10 will result. - If you set **Min Input** to 0 and **Max Input** to 5, **Min Ouput** to 2 and **Max Output** to 8, 2, 3.2, 6.8 and 8 will result.\ The Voxel values will be transferred proportionally to the new value range. This is useful if a value range is incompatible with another. Example: A grid's Voxel values range from 0.1 - 0.2. A shader, for example, works best with values between 0 and 100. By entering exactly these 4 values, the best possible result will be achieved. ### Shape Parameter ID: `ID_VOLUMEFILTER_REMAP_SPLINE` If **Type** is set to Curve, the Voxel range will be converted based on this definable spline (and not linearly as with **Range Map**). # Type Vector Vector Smooth Vector Curl Vector Normalize Vector Invert Vector Scale Vector Rotate ### Type Parameter ID: `ID_VOLUMEFILTER_VECTOR_FILTER_TYPE` If **Volume Type** is set to Vector, 6 options are available for affecting the [Volume Vectors](https://help.maxon.net/c4d/en-us/Content/html/OVOLUMEBUILDER-ID_OBJECTPROPERTIES.html.md): - **Smooth**: Aligns the orientation of the vectors to each other within the Voxel Distnce - **Curl**: Converts the existing vector field into a special new one (see Curl below). - **Normalize**: Sets all directional vectors to a constant length of 1. - **Invert**: Inverts all directional vectors, which means the effect will be in the opposite direction.. - **Scale**: Scales the directional vector length using a value defined by the **Scale** setting. - **Rotate**: Rotates all vectors around a definable axis (see Rotate below). ## Curl ![Image: 043440.jpg](https://help.maxon.net/c4d/en-us/Content/Resources/Images/043440.jpg)\ Curl makes it easy to control the movement of particles. Curl converts an existing volume vector and is a function that converts the existing volume vectors in a special way. To explain this in detail would take us into the depths of math. This is why only the main purpose of this filter will be explained: It creates random fields (noise) from vectors that always target the null region of the noise - particles can get caught up here - vectors that produce looping movements with circular or vortex-like paths (see also [Field Force object](https://help.maxon.net/c4d/en-us/Content/html/OFIELDFORCE.html.md)). This is illustrated in the image above. On the left the particles remain stuck in certain regions and on the right they continue their movement. ## Rotate If Rotate is selected, each individual vector (representative for all vectors per Voxel) will be rotated around its axis at its origin. ### Axis Parameter ID: `ID_VOLUMEFILTER_RESHAPE_ROTATE_AXIS_MODE` Here you can define the rotational axis starting from the Volume Builder's object coordinate system. If Custom is selected, a unique vector can be defined: ### Vector Parameter ID: `ID_VOLUMEFILTER_RESHAPE_ROTATE_AXIS` · Range: [XYZ ] Here you can define the axis direction around which the vector should rotate. 1, 0, 0 will define a vector parallel to the X axis and 0, 1, 0 parallel to the Y axis. The Volume Builder's object coordinate system will be used. ### Angle Parameter ID: `ID_VOLUMEFILTER_RESHAPE_ROTATE_ANGLE` · Range: [-∞..+∞°] Here you can define the angle around which the vectors should rotate. ## Scale The following settings are available for the **Scale** function: ### Scale Parameter ID: `ID_VOLUMEFILTER_RESHAPE_SCALE` · Range: [-∞..+∞] Use this setting to scale the length of the directional vector. A value of -1 will reflect the Invert function's behavior.