Skip to content

Repository files navigation

HelixToolkit Nex

License: MIT Github Action

HelixToolkit Nex is the next generation 3D graphics engine from HelixToolkit. It offers a unified graphics interface designed to support multiple backend implementations, with an initial focus on Vulkan 1.3.

The graphics interface and Vulkan backend are inspired by LightWeightVk.

Currently in development.

Minimum Requirements

  • Windows 10 or later
  • Linux (Tested on Ubuntu 26.04)
  • Vulkan 1.3 compatible GPU and drivers
  • .NET 9.0 or later

Features (Done or In progress)

  • Vulkan backend implementation

  • ✅ Complete bindless descriptor architecture.

  • ✅ Support AOT compilation.

  • ✅ Linux support.

  • ImGui integration

  • Forward+(Tiled based GPU light culling) rendering pipeline.

  • Material systems.

    • ✅ Physically Based Rendering
    • ✅ Point cloud
    • ✅ Billboard (MSDF based Font support)
    • ✅ Material registry and shader generation system.
    • ✅ Line
    • ✅ Gizmo
    • ⌛ Particle System (Planned)
    • ⌛ Skeletal/Morph Target Animation (Planned)
    • ⌛ Model importer (Planned)
      • ✅ glTF importer. Demo
  • GPU Frustum Culling and GPU Frustum Culling on Instancing. (Done)

  • ✅ ECS based scene management system.

  • ✅ Engine architecture design.

    • ✅ Render Graph based rendering architecture.
    • ✅ WB Order independent transparency rendering.
    • Anti-aliasing:
      • ✅ SMAA anti-aliasing.
      • ✅ FXAA anti-aliasing.
    • Effects:
      • ✅ Bloom post-processing effect.
      • ✅ Object border highlighting effect.
      • ✅ Wireframe rendering.
      • ✅ Tone mapping post-processing effect.
    • ✅ GPU picking.
    • ✅ Async Buffer/Texture upload with transfer queue.
    • ✅ Texture loading and caching system.
    • ✅ Shader compilation and management system.
  • ✅ Wpf Framework Interoperation

  • ✅ WinUI Interoperation

  • ✅ Avalonia (Windows & Linux) UI Interoperation

Rendering Samples

Linux Support

Interoperability

  • Render content with Vulkan Backend in Wpf and WinUI applications using D3D11 interoperation. (Requires Vulkan Extension: VK_KHR_external_memory_win32. Only tested on Discrete Graphics Card.)

Packages

Note: Release packages are published to GitHub Packages and NuGet.org. Nightly builds are published to GitHub Packages only.

Project GitHub NuGet
HelixToolkit.Nex GitHub NuGet
HelixToolkit.Nex.Engine GitHub NuGet
HelixToolkit.Nex.EntityComponentSystem GitHub NuGet
HelixToolkit.Nex.Geometries.Builders GitHub NuGet
HelixToolkit.Nex.Geometry GitHub NuGet
HelixToolkit.Nex.glTF GitHub NuGet
HelixToolkit.Nex.Graphics GitHub NuGet
HelixToolkit.Nex.Graphics.Mock GitHub NuGet
HelixToolkit.Nex.Graphics.Vulkan GitHub NuGet
HelixToolkit.Nex.ImGui GitHub NuGet
HelixToolkit.Nex.Interop GitHub NuGet
HelixToolkit.Nex.Interop.DirectX GitHub NuGet
HelixToolkit.Nex.Material GitHub NuGet
HelixToolkit.Nex.Maths GitHub NuGet
HelixToolkit.Nex.Rendering GitHub NuGet
HelixToolkit.Nex.Repository GitHub NuGet
HelixToolkit.Nex.Scene GitHub NuGet
HelixToolkit.Nex.Shaders GitHub NuGet
HelixToolkit.Nex.Textures GitHub NuGet
HelixToolkit.Nex.WinUI GitHub NuGet
HelixToolkit.Nex.Wpf GitHub NuGet
HelixToolkit.Nex.Avalonia GitHub NuGet

Development

See the Development Setup Guide for full instructions on prerequisites, Git LFS, Git hooks, building (Windows and Linux), running tests, and formatting.

Contributing

Interested in contributing? Please read our Contributing Guide for information on:

  • Development setup and prerequisites
  • Code formatting requirements
  • Building and testing
  • Submitting pull requests

About

Next generation HelixToolkit Graphics Engine based on Vulkan.

Resources

Contributing

Stars

36 stars

Watchers

3 watching

Forks

Releases

Sponsor this project

Packages

Contributors

Languages