Skip to content
/ nvkg Public

NVKG is my first attempt at a professionally built rendering engine

License

Notifications You must be signed in to change notification settings

ilumary/nvkg

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

93 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NVKG

NVKG is a rendering engine and my next attempt to finally master vulkan (and modern c++).

Currently (and for the forseeable future) only linux and macos are supported. I simply don't have access to a windows machine.

Any bugs or problems can be reported via the repo's issues.

The dependencies are reduced to a minimum as the majority of external code is included through git submodules.

Current highlights are:

  • Automated descriptor creation using SPIRV-Cross reflection
  • Material based rendering
  • Fully functional Entity Component System
  • Font rendering using signed distance fields

Next up on my to-do list will be:

  1. Improvements to renderer (instanced and indirect rendering, culling, lod, multithreading)
  2. UI Framwork (i.e. buttons, ...)
  3. Proper asset manager (unified way to load all kinds of files)
  4. Audio support
  5. Physics support
  6. Serialisation
  7. And everything that comes up inbetween...

Contents

Getting Started

Dependencies

The following are dependencies for building and running NVKG:

All other libraries are within git submodules.

Setup

Execute the provided script scripts/setup.sh. If you wish to build with vulkan validation layers, execute with --include-validation-layers. No more action should be needed.

Linux Users may need to download the following libs: libx11-xcb-dev libxkbcommon-dev libwayland-dev libxrandr-dev libasound2-dev mesa-common-dev libx11-dev libxrandr-dev libxi-dev xorg-dev libgl1-mesa-dev libglu1-mesa-dev.

Building and execution

Build with make app and execute with ./bin/app.

Modifications & Contributions

If you want to modify anything, the compile_commands.json for the clangd language server can be created using bear.

Contributors

  • ilumary - Christoph Britsch (Creator)

References

About

NVKG is my first attempt at a professionally built rendering engine

Topics

Resources

License

Stars

Watchers

Forks