Game Engine From Scratch

这个项目是由netwarm007编写的,作为其知乎专栏系列文章《从零开始手敲次世代游戏引擎》的示例。(This project is written by netwarm007 as the sample of My articles Hand-made Next-Gen Game Engine From Scratch)

Github星跟踪图

Game Engine From Scratch

CircleCI Build Status
Build status
GitHub license

配合我的知乎专栏当中的系列文章《从零开始手敲次世代游戏引擎》所写的项目。

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

主要指标

概览
名称与所有者netwarm007/GameEngineFromScratch
主编程语言C++
编程语言CMake (语言数: 13)
平台Linux, Windows, Android, BSD, Mac, PlayStation
许可证Other
所有者活动
创建于2017-08-18 00:28:20
推送于2023-09-16 13:30:04
最后一次提交2023-03-07 17:37:28
发布数87
最新版本名称article_100 (发布于 )
第一版名称article_1 (发布于 )
用户参与
星数1.8k
关注者数133
派生数283
提交数1.9k
已启用问题?
问题数14
打开的问题数2
拉请求数15
打开的拉请求数0
关闭的拉请求数0
项目设置
已启用Wiki?
已存档?
是复刻?
已锁定?
是镜像?
是私有?