Skip to content

A modern cross-platform game engine via vulkan and c++17.

License

Notifications You must be signed in to change notification settings

Code-Guy/Bamboo

Repository files navigation

Bamboo

What is Bamboo

Bamboo is a lightweight game engine with high-fidelity graphics rendering and simulation functions, provides a flexible gameplay framework, and will mainly focus on AIGC technologies in the future. Bamboo uses vulkan as the only graphics/computing api, and is written in C++17. 1

2

3

Features

  • UE-like Editor
  • Static/Skeletal mesh rendering
  • Asset System
  • Pixel-perfect picking and outlining
  • 3D translation/rotation/scale gizmos
  • Reflection and serialization system
  • Physically-Based Rendering
  • Deferred and forward mixing rendering paths
  • Multiple light types(Directional/Sky/Point/Spot)
  • Postprocessing(Color Grading)
  • Play in Editor(PIE)
  • Physicis System
  • Texture Compression
  • Engine/Editor/Game code isolation

How to build

I just wanna give it a try

Well, if you're using Windows, you can download the prebuild package(Release.zip) in the latest release page:)

Supported Platforms

  • Windows
  • Linux(WIP)
  • MacOS(TODO)

Prerequites

Step 1. Clone the Bamboo repository. Now the engine and editor modules will be compiled to two static libraries rather than one engine library and one editor executable.

git clone https://github.com/Code-Guy/Bamboo.git

Step 2. Download the lastest version's Project.zip file, unzip to somewhere. It's a demo project which relies on the engine and editor sources to compile, and contains "asset" "config" "source" and "CMakeLists.txt" four items. 4

Step 3. Open "CMakeLists.txt" file, modify TARGET_NAME property to whatever you want, and modify BAMBOO_DIR to the absolute path of where you put Bamboo repository. (That's very important!) 5

Step 4. Go to Project folder, use CMake to generate build files using any desired generator. The generating command maybe like this:

cmake -G "Visual Studio 17 2022" -A x64 -S . -B build

Step 5. Then you can use any IDE according to you selected generator, but you can also just build straight from CMake.

cmake --build build --config Release

External libraries

All external libraries' source codes have been integrated into this repo, so there is no need to clone those libraries manually:)