About SEGI

SEGI has moved to GitHub!

SEGI has moved to GitHub and is free to download and open-source! If you purchased SEGI on the Asset Store on August 1st, 2017 or later, you will be granted a refund upon request via the Contact page.

SEGI is a voxel-based Global Illumination effect that aspires to provide 100% dynamic Global Illumination to Unity games and applications. Since it requires no precomputation, SEGI can bring GI to certain situations where precomputed solutions like Enlighten cannot!

SEGI provides indirect lighting and glossy reflections from a single directional light, the sky, and any emissive materials in the scene. In the future, SEGI will support indirect lighting from point and spot lights. SEGI calculates indirect light visibility for soft indirect shadows, and also calculates soft sky light shadows. It can render either a single bounce or infinite bounces of indirect light.

If you want to report an issue, make sure it’s not in the list of known issues below. You can either post in the Unity Forums thread, or visit the Contact page.

Gallery

Demos

sponza demo

Sponza Demo

Demo of SEGI Beta v0.8 in the Crytek Sponza Atrium.

Bloom, tonemapping, anti-aliasing, and SEGI only.

Download
sponza demo

Low-Poly Demo

Demo of SEGI Beta v0.8 in a low poly scene.

Bloom, tonemapping, anti-aliasing, and SEGI only.

Download
sponza demo

Labyrinth Demo

Demo of SEGI Beta v0.8 in procedurally generated environment.

Bloom, tonemapping, anti-aliasing, and SEGI only.

Download

Compatibility

As this is the first beta version of SEGI, compatibility is limited. SEGI has only thoroughly been tested on a Windows PC; behavior on other platforms is unknown. Improving compatibility is of high priority. SEGI requires DX11. SEGI is not compatible with mobile devices, and probably never will be.

Known Issues

  • Infinite bounces can be slow in some complex scenes
  • Artifacts with temporal sampling and moving objects
  • Incompatible with forward-rendered objects (deferred only)
  • Light cookies on Directional Lights do not affect GI
  • Point and spot lights do not contribute to GI
  • Possible stuttering while playing in editor with the camera inspector visible
  • Undefined behavior with VR
  • Undefined behavior with multiple instances of SEGI
  • Does not work with orthographic camera (since deferred rendering is disabled for orthgraphic cameras)
  • Some voxels are black/too dark when voxel AA and infinite bounces are both enabled
  • Slight changes in positions of some objects in the volume can cause large lighting differences

Current Limitations

Changelog

  • Unity 5.5 support and compatibility with Unity 5.5’s inverted depth buffer functionality

 

  • Unity 5.4 Motion Vectors support for temporal sampling
    • When used with Unity 5.4 or newer, SEGI’s temporal sampling now takes advantage of Unity’s built-in Motion Vectors for a vast visual improvement on moving objects/characters!

 

  • Smarter voxel data encoding for faster voxelization and less memory usage
    • Using smart data encoding, voxelization requires fewer texture writes and reads and uses less memory for an average 1.5x voxelization speedup!

 

Development Roadmap

Many things are planned for the future development of SEGI, both specific and general. As well as fixing the known issues and limitations, these things are planned to be worked on in the future.

  • 100%
    Use velocity buffer to eliminate artifacts caused by moving objects with temporal sampling.
  • 100%
    Smarter voxel data encoding for reduced memory usage and faster voxelization.
  • 95%
    Voxel volume cascades for handling large scenes.
  • 20%
    Directional voxel data to prevent light leaking.
  • 80%
    Screen-space tracing for fine-scale indirect shadows (SSAO on steroids).
  • 25%
    Cubemap support for ambient/sky light.
  • 20%
    Indirect light from point and spot lights.
  • 10%
    Half-resolution reflection tracing with full-resolution resolve for faster reflections.
  • 0%
    Smarter voxelization for less redundant work.
  • 0%
    Cubemap/reflection probe fallback for reflections instead of uniform sky color.
  • 0%
    Extra occlusion layers to be material-specific instead of globally applied to all voxelized geometry.
  • 10%
    More simplistic and efficient switchable modes.
  • 0%
    Support for forward-rendered objects.
  • 0%
    Better close-proximity GI by storing voxelized geometry normals.
  • 5%
    Additional dominant cones for soft voxel shadows traced from point/spot lights.
  • 0%
    Improve smoothness of GI when stochastic (randomly jittered) sampling is disabled.
  • 0%
    Voxel data pre-calculation for static objects.
  • 0%
    Baking GI result for super-fast GI baking.
  • 0%
    Separate voxelization from light injection so lighting can be updated on static voxels.