This project was developed with the aim of studying the work of modern game engines and studying the vulkan graphics api. At the moment, there are not very many features implemented in the engine, because one person is engaged in development. In the future, the engine will be ported to android, work is already underway in this direction. If there are people who like this project, then I will develop it further.
Must read resource: https://vulkan-tutorial.com/ and code from this tutorial https://github.com/Overv/VulkanTutorial
Repository with hello triangle example from previous resource but using Vulkan hpp: https://github.com/bwasty/vulkan-tutorial-hpp
Vulkan engine implementation with explanation on youtube: https://www.youtube.com/watch?v=lr93-_cC8v4&t=1s&ab_channel=BrendanGalea and repo https://github.com/blurrypiano/littleVulkanEngine
SachaWilliems examples. To really hard, explore it after previous resources: https://github.com/SaschaWillems/Vulkan
Vulkan programming guide book. To consolidate the material and study the subtleties of working with Vulkan.
Game engine architecture. Goog book for creating not bad game engine architecture.
- ktx
- ktx2
- png
- jpg
- bmp
- pic
- gif
- gltf
- gltf2.0
- wav/wave
- ogg
- lua (sol2 in future)
- Vulkan 1.3
- Vulkan 1.2
- Vulkan 1.1
- Deferred shading
- HDR
- IBL
- PBR (UE4 like)
- Bloom
- DOF
- Shadow mapping (directional light - csm, spot and omni - sm)
- SSAO
- SSR
- Instancing
- Tescellation (Exists, but now working incorrect)
- GI
- RTX Shadows
- Pixel-perfect object picking
- shader reflection (spirv-cross)
- Bullet3 physics (rigidbody only)
- Animation (gltf only now)
- lua (sol2 in future)
- Material editor (now working with default pbr material)
- Mesh (scene) metadata (custom materials and custom loading rules)
- Skinning (working incorrect)
- Effekseer particles
- OpenGL 4+ support
Feature support status Tests passing status Sampless that renders/working correct
- Some gltf meshes loads incorrect, and when i deleting this mesh, it's not completely deleted
- Shadow projection is incorrect
- Async resource loading not working