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?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?