finds.dev← search

// the find

mlavik1/UnityVolumeRendering

★ 554 · C# · MIT · updated Mar 2026

Volume rendering, implemented in Unity3D. Want to support the project? Donate a small sum to Save The Children(https://www.savethechildren.net/) or another charity, and send me a message, and I will be greatly motivated!

A Unity package for rendering 3D volumetric datasets — DICOM, NRRD, NIfTI, raw binary — using raymarching shaders. Supports direct volume rendering with transfer functions, isosurface rendering, and MIP. Aimed at developers building medical imaging viewers, scientific visualization tools, or any project that needs to put a CT/MRI scan on screen in Unity.

Ships shader variants for all three render pipelines (Built-in, URP, HDRP), so you're not locked into one. The transfer function system is genuinely useful — both 1D (density→color/opacity) and 2D (density+gradient magnitude) are implemented with an interactive editor. SimpleITK integration handles the annoying compressed DICOM formats (JPEG2000) that a bare DICOM parser chokes on. The UPM packaging is clean; you add it via git URL and it just works, with samples importable from the Package Manager window.

Shadow volumes are flagged as expensive and the performance advice is basically 'lower MAX_NUM_STEPS in the shader' — there's no adaptive sampling or empty-space skipping that modern volume renderers use to stay fast on large datasets. HDRP support is unofficial and untested by the author, which matters if you're on a studio pipeline. The runtime DICOM importer is the old OpenDICOM library, not a maintained one; for anything beyond basic uncompressed DICOM you need to set up SimpleITK separately, which is a native plugin with its own deployment headaches. Star count (554) suggests a small community, so when you hit a weird rendering artifact you're likely writing the issue yourself.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →