Neon

Neon

Neon is a C++20 multiplatform graphics engine easy to integrate in graphic applications.

Neon takes advantage of several C++20 features, such as concepts, advanced template specifications or new std features. Neon also uses its own mathematics library: Rush.

To manage complex scenes, Neon implements an advanced scene hierarchy with a fast component system that encourages spatial locality and instancing rendering. Neon also supports advance rendering techniques, such as mesh shaders.

How to start

To start using Neon, you can explore the examples provided by the project. Currently, the project contains the following examples:

  • test1: basic instancing rendering. Basic usage of models and textures. Deferred shading. Models are load asynchronously.
  • testPBR: basic PBR rendering. Supports bloom and SSAO.
  • testCloth: cloth simulation using Eigen.
  • testLine: basic line rendering, using Bezier curves.
  • testOctree: octree rendering and usage.
  • testAsyncUpdate: test1 fork that uses the task engine to update models asynchronously.
  • testGeometryShader: basic geometry shader that renders a lot of spheres.
  • testMeshShader: basic mesh shader that implements an instancing algorithm for models.

To enable examples, you must set to true CMake parameter NEON_TESTS.

Let's work together. Let's work together.