No description
  • C++ 92%
  • Slang 6.4%
  • Lua 1.1%
  • Shell 0.4%
Find a file
2026-09-12 13:30:16 +01:00
demo Change skybox at runtime 2026-09-12 14:24:45 +02:00
lib Change skybox at runtime 2026-09-12 14:24:45 +02:00
shaders Change skybox at runtime 2026-09-12 14:24:45 +02:00
tests/loaders Draft : Runtime skybox loading, skybox serialization in gltf 2026-09-05 14:33:33 +02:00
.clang-format Change skybox at runtime 2026-09-12 14:24:45 +02:00
.gitattributes Enhance gitattributes 2026-05-09 14:56:28 +02:00
.gitignore gitignore: ignore loader round-trip output files 2026-09-04 22:26:47 +02:00
.gitmodules Turbo draft skybox (radioactive) 2026-07-07 23:15:06 +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.ps1 WIP : Scene saving and loading 2026-09-04 21:51:09 +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 Change skybox at runtime 2026-09-12 14:24:45 +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 WIP : Scene saving and loading 2026-09-04 21:51:09 +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