icarolelis1 / Canella

A Vulkan game engine WIP

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Canella

Experiments on crafting a 3D vulkan game engine. (Work In Progress)

Feature List

  • Task and mesh shader implementation and early backface culling. Mesh is decomposed of a collection of small portions called meshlets. The task shader filter the meshes by using backface culling

    IMAGE ALT TEXT

  • Frustum Culling in compute Shaders

    IMAGE ALT TEXT

  • ImGui Implementation

  • GPU Driven Indirect Drawing.

  • Graphic setup serialization (Creation of Renderpass and Pipelines) in json FORMAT.

  • RenderGraph to automatically create the render passes and write attachments (WORK IN PROGRESS).

Features To be done

  • Virtualized Texture Access.
  • Vertex Skinning and IK Rig
  • Implement more render nodes (PBR path with indirect diffuse, HBAO+,Bloom etc...)
  • Multhread command buffer generation
  • and the list will go on forever...

Dependencies

Build

clone the project

git clone https://github.com/icarolelis1/Canella.git
mkdir build
cd build
cmake ..

Currently not building on Linux.

About

A Vulkan game engine WIP


Languages

Language:C++ 74.1%Language:C 19.7%Language:CMake 2.0%Language:HTML 1.0%Language:Assembly 0.9%Language:Ada 0.6%Language:C# 0.3%Language:JavaScript 0.3%Language:Pascal 0.3%Language:Objective-C 0.2%Language:CSS 0.2%Language:M4 0.1%Language:Python 0.1%Language:Makefile 0.1%Language:Shell 0.0%Language:Roff 0.0%Language:GLSL 0.0%Language:DIGITAL Command Language 0.0%Language:Batchfile 0.0%