Awesome
Game Engine From Scratch
配合我的知乎专栏当中的系列文章《从零开始手敲次世代游戏引擎》所写的项目。
This project is written by me as the sample of My articles Hand-made Next-Gen Game Engine From Scratch
このプロジェクトは私の連載中のゼロから始める手作り次世代ゲームエンジンのサンプルソースである
Platform Support Status
- Windows 10 / 11
- MacOS Catalina - Monterey
- Linux (Build test on Ubuntu 20.04 - 22.04 and CentOS 7)
- FreeBSD (Not tested recently, build might fail)
- Android (Not tested recently, build might fail)
- WebAssembly (Emscripten, not tested recently, build might fail)
- PlayStation 4 (Not continued, related source code not disclosed due to NDA)
- PlayStation Vita (Not continued, related source code not disclosed due to NDA)
Graphic API Support Status
- OpenGL
- OpenGL ES (Not tested recently)
- Metal2
- DirectX 12 (On going)
- Vulkan (On going)
- GNM (Not disclosed due to NDA)
Physics
- Bullet
- My Physics (on going)
Scene Graph
- OpenGEX
- Collada (On the roadmap, not implemented yet)
Shading Language
- HLSL, auto convert to GLSL/Metal Performance Shader
Texture Format
- JPEG
- PNG
- TGA
- HDR
- DDS
- BMP
- PVR (BC1 - 7)
- ASTC
High Performance / Parallel Computing
- ISPC
Dependencies
-
Windows -- Windows Platform SDK -- Visual Studio or Clang -- CMake
-
MacOS -- Xcode -- Xcode command line tools -- MacPorts -- CMake
-
Linux -- gcc/g++ or clang/clang++ -- uuid-dev libx11-dev libx11-xcb-dev libgl1-mesa-dev libnss3-dev libxss-dev libatk1.0-dev libatk-bridge2.0-dev libglib2.0-dev libpango1.0-dev libxi-dev libfontconfig1-dev libnspr4-dev libxcomposite-dev libxcursor-dev libxrender-dev libxtst-dev libxrandr-dev libgio2.0-cil-dev libdbus-1-dev libasound2-dev libcups2-dev libncurses5-dev
-
Android -- Android SDK -- Android NDK
Build Steps
Windows
scripts\build_crossguid
scripts\build_opengex
scripts\build_zlib
scripts\build_bullet
scripts\build_cef
scripts\build_glslangValidator
scripts\build_spirvcross
scripts\build_imgui
scripts\build_libispc-texcomp
scripts\build
MacOS & Linux
./scripts/build_crossguid.sh
./scripts/build_opengex.sh
./scripts/build_bullet.sh
./scripts/build_cef.sh
./scripts/build_glslangValidator.sh
./scripts/build_spirvcross.sh
./scripts/build_imgui
./scripts/build_libispc-texcomp
./scripts/build-ninja.sh
Cook Materials
Windows
scripts\cook_material
Mac)S & Linux
./scripts/cook_material