No description
  • C++ 93.1%
  • Slang 4.3%
  • Lua 1.6%
  • Shell 1%
Find a file
2026-06-01 19:45:58 +02:00
demo Stable : Improve Material architecture 2026-05-29 15:02:05 +02:00
lib Some fixes to build with MSVC 2026-06-01 19:16:26 +02:00
models/gltf Stable : Improve Material architecture 2026-05-29 15:02:05 +02:00
shaders Some fixes to build with MSVC 2026-06-01 19:16:26 +02:00
.clang-format Stable commit : Separate lib and app targets and tied ECS with renderer 2026-05-02 23:26:53 +02:00
.gitattributes Enhance gitattributes 2026-05-09 14:56:28 +02:00
.gitignore Doxyfile creation and cmake_generator script helper 2026-05-10 20:19:12 +02:00
cmake_generator.sh Mikktspace compute tangent method, small UI improvement in demo app 2026-05-13 10:59:17 +02:00
compile_shaders.sh Upgrade GLTF reading, implement normal mapping and draft PBR 2026-05-11 23:14:05 +02:00
Doxyfile Doxyfile creation and cmake_generator script helper 2026-05-10 20:19:12 +02:00
imgui.ini Draft orbit camera 2026-05-09 23:07:51 +02:00
LICENSE Set Apache License 2.0 2026-05-11 21:50:14 +00:00
README.md Upgrade GLTF reading, implement normal mapping and draft PBR 2026-05-11 23:14:05 +02:00
test.png Test image 2026-05-03 16:07:41 +02:00
xmake.lua Some fixes to build with MSVC 2026-06-01 19:16:26 +02:00

Bazar engine - Hobbyist render engine

Summary

Made in C++ using :

Project managed using xmake

Code base overview

.
├── cmake_generator.sh // generate CMakeLists from XMake
├── compile_shaders.sh // compile shaders/ script
├── demo
│   ├── // Sample
├── doc/ // Use doxygen Doxyfile command to generate
├── Doxyfile
├── lib
│   ├── include
│   │   ├── BazarEngine.hpp // to include in most case
│   │   ├── Core/
│   │   ├── ECS/
│   │   ├── Loaders/
│   │   ├── Vulkan/
│   │   └── WindowManager/
│   └── src
│       └── // ...
├── models
│   └── // Sample models used for dev
├── shaders
│   ├── bin
│   │   └── // Shaders binaries goes here,  
│   │          only files under shaders/ dir are compiled by compile_shaders.sh
│   ├── shaders pass files
│   └── modules
│       └── // shaders modules
├── test.png
└── xmake.lua

Build project

Really simple thanks to XMake :

# build project
xmake 
# run project, may need to specify working directory for assets path, use -w <dir>
xmake run 

Roadmap

My way to keep track of what I've done and where to go next

  • GLTF File read and export : IN PROGRESS
  • PBR Shading : IN PROGRESS
  • Shadow casting and light environment
  • Skeletal animation
  • Basic physics interaction
  • Sound engine

Further goal

Building a yet not well defined RPG game using terrain generation