unity-volume-rendering icon indicating copy to clipboard operation
unity-volume-rendering copied to clipboard

Volume rendering by object space raymarching for Unity

unity-volume-rendering

Volume rendering by object space raymarching for Unity.

VolumeRendering.shader cut a volume each axes by _SliceMin, _SliceMax properties.

Object space raymarching

VolumeRendering component generates a Cube geometry which has 1.0 length edges. By object space raymarching techniques, rendering a volume with a MeshRenderer. (See references)

Slice axes rotation

By setting an axis quaternion in VolumeRendering component, you can cut a volume from arbitrary angles.

VolumeAssetBuilder

Menu : Window -> VolumeAssetBuilder

VolumeAssetBuilder builds a 3D texture asset from a pvm raw file. (volume raw data)

Compatibility

tested on Unity 2017.2.8f1, windows10 (GTX 1060).

Sources

  • primitive: blog | object space raymarching - http://i-saint.hatenablog.com/entry/2015/08/24/225254
  • The Volume Library - http://lgdv.cs.fau.de/External/vollib/
  • Graphics Runner : Volume Rendering 101 - http://graphicsrunner.blogspot.jp/2009/01/volume-rendering-101.html