Raymarcher Technical & APi Documentation
Raymarcher Volume SDFs
Namespace: Raymarcher.Objects.Volumes
Raymarcher features a collection of volume SDF objects. These objects, defined within Raymarcher, inherit from the base abstract class RMSdf_VolumeBoxBase, which inherits from the RMSdfObjectBase.

To create a volume object in the Unity editor, navigate to GameObject/Raymarcher/Volumes.

Volumes serve the purpose of displaying data on a three-dimensional grid and are predominantly used with 3D textures.

It's important to note that creating Raymarcher objects at runtime is not possible. Each object must be created at compile time.

Fields of the RMSdf_VolumeBoxBase class:
public float volumeSize;
public float volumeAmplifier; // Exteeds the voxel values beyond 1
public float volumePrecision; // The higher the precision, the more performance it consumes - makes the steps smaller
RMSdf_Tex3DVolumeBox :: RMSdf_VolumeBoxBase
Volume box with texture 3D/ render texture 3D input parameter.
public Texture VolumeTexture { get; set; } // You can manually assign either Tex3D or RT3D for runtime modifications. Must be a 3 dimensional texture!
RMSdf_PDVolumeBox :: RMSdf_VolumeBoxBase
Perspective-driven volume box with three 2D textures input parameters. This volume box approximates 3D data based on the three 2D textures.
public RMVolumeRendererPD volumeRenderer; // Perspective-driven volume renderer component from Toolkit library (optional)

public Texture volumeTextureTop;
public Texture volumeTextureForward;
public Texture volumeTextureRight;