Skip to content

FerzanK/Horus-Unity-Occlusion-Culling

Repository files navigation

Horus - Occlusion culling for Unity

  • Occlusion culling increases rendering performance simply by not rendering geometry that is outside the view frustum or hidden by objects closer to the camera. Horus is a non-conservative occlusion culler and it performs better than Umbra (Unity's native occlusion culler) in small scenes such as interiors filled with lots of objects.

  • Horus is currently in alpha stage!

Features

  • Written in C++17
  • Works better than Umbra in small spaces
  • Fully dynamic, baking not required

Getting Started

  • Add HorusManager.cs located in UnityScript folder to your scene and attach it to your camera
  • Compile plugin with Visual Studio 2019, name DLL file horus.dll and place it in Plugins folder of your Unity project

Todo

  • Unit tests and CI setup
  • Provide pre-compiled binaries
  • Custom memory allocator & memory pool
  • Mesh -> Octree converter
  • BVH/Octree based pre-culling
  • Fiber based task system
  • Non-static mesh support
  • Transparent object support
  • Skinned mesh support
  • Better C# marshalling code
  • Multicore support

Versioning

I use SemVer for versioning. Current version is 0.1

Built With

References

License

This project is licensed under the MIT License - see the LICENSE.md file for details

About

Occlusion culling for Unity

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published