Skip to content

A Vulkan renderer.

Notifications You must be signed in to change notification settings

TheSlugInTub/Sulkan

Folders and files

NameName
Last commit message
Last commit date

Latest commit

f1a1ca3 · · Aug 16, 2025

History

80 Commits
Aug 16, 2025
Aug 1, 2025
Aug 16, 2025
Jul 31, 2025
Aug 16, 2025
Jul 26, 2025
Jul 17, 2025
Aug 2, 2025
Aug 6, 2025
Jul 11, 2025
Jul 31, 2025
Jul 6, 2025
Aug 6, 2025
Aug 16, 2025
Aug 3, 2025
Aug 3, 2025
Aug 3, 2025
Aug 3, 2025
Aug 3, 2025

Repository files navigation

Sulkan

Sulkan is a game engine in C. The engine uses Vulkan for rendering and uses an ECS paradigm..

There is documentation for the engine when you start it.

Building

git clone https://github.com/TheSlugInTub/Sulkan.git

cd Sulkan 
mkdir bld
cmake -S S . -B bld
cmake --build bld/ --config Releasee

Go to bld/Release and you will find the executable. You will need to have git and cmake to compile the project..

Libraries used

GLFW - For window creation and management.
Assimp - For model loading.
cglm - For math and linear algebra.
stb_image - For loading images.
LunarG Vulkan SDK - For graphics rendering. ImGui - For graphics rendering. joltc - For 3d physics.

TODO

  • Make a new descriptor set layout for the lines.
  • Seperate line rendering, skybox rendering and object rendering in skRenderer_RecordCommandBufferss
  • Fix error handling
  • Add custom physics layers and interactions in physics_3d
  • Make physics_3d conversion between rigidbody and render association more performant
  • Clean everything up
  • Improve editor interface for components

Quirks

If you have a rigidbody with a rotation with the component w set to zero, it will crash the program if it collides with another rigidbody..