Nebula
Loading...
Searching...
No Matches
The Nebula Engine

Get in contact on Discord! https://discord.gg/wuYPxUF

Features

Nebula is being developed continuously, which means that features keep getting added all the time. Currently, we support this:

  • Completely data-driven design from bottom to top.
  • Data structure suite, from containers to OS wrappers, everything is designed for performance and minimal call stacks.
  • Multithreading.
  • SSE-accelerated and intuitive maths library.
  • Full python supported scripting layer.
  • Advanced rendering framework and shaders.
  • Test-benches and benchmarking.
  • Profiling tools.

Rendering

A lot of effort has been made to the Nebula rendering subsystem, where we currently support:

  • Unified clustering system - fog volumes, decals and lights all go into the same structure.
  • Screen-space reflections - working condition, but still work in progress.
  • SSAO - Horizon-based ambient occlusion done in compute.
  • Physically based materials and rendering.
  • Deferred lighting.
  • Multi-threaded subpass recording.
  • Shadow mapping for local lights and CSM for global/directional/sun light.
  • Volumetric fog and lighting.
  • Geometric decals.
  • CPU-GPU hybrid particle system.
  • Skinning and animation.
  • Scripted rendering path.
  • Vulkan.
  • Tonemapping.
  • Asynchronous compute.
  • Virtual texturing using sparse binding.
  • Fast and conservative GPU memory allocation.

Entity system

Nebula has historically had a database-centric approach to entities. With the newest iteration of Nebula, we've decided to keep improving by adopting an ECS approach, still keeping it database-centric.

  • Data-oriented
  • Data-driven
  • Minimal memory overhead per entity.
  • High performance without compromising usability or simplicity
  • Blueprint and template system for easily instantiating and categorizing entity types.
  • Automatic serialization and deserialization