← 制作実績へ戻る

グラフィックス・エンジン開発 · 2023–2024

Mutant Engine

C++20とOpenGL 4.6でゼロから構築したレンダリングエンジン。並列処理とスクリーンスペースライティングを実装。

C++20OpenGL 4.6GLSL
形態
個人開発 · ESAT Graphic Engines科目
期間
2023年9月–2024年7月
依存関係管理
Conan

1フレームの全工程を理解する

Mutant Engineは、ESATのGraphic Engines科目で2023年9月から2024年7月に個人開発したC++20/OpenGL 4.6製エンジンです。エンジンをゼロから構築することで、エンジン設計、GPUワークロード、描画品質の関係を実践的に学びました。

レンダリング

  • フォワード/ディファードレンダリングパイプライン
  • Multi-Draw Indirect、バインドレステクスチャ、SSBO、頂点プリング
  • コンピュートシェーダーとジオメトリシェーダー
  • SSGI(スクリーンスペースGI)とSSAO

エンジン設計

シーンオブジェクトを管理するECS、アセットを扱うテンプレート型リソースマネージャー、並列処理を行うマルチスレッドジョブシステムを実装しました。依存関係の管理にはConanを使用しています。

明確なレンダリングパイプラインの設計とGPUコマンドの効率的な管理が主な課題でした。企画から完成まで一人で取り組むことで、リソースのライフタイム、描画技術、エンジン構成への理解を深めました。

デモ動画を見る ↗

SSGIを適用したコーネルボックス。赤と緑の壁の間に胸像
確率的法線を表示したSSGIのデバッグビュー
SSGIとスポットライトによる色のにじみを表示したコーネルボックス
スクリーンスペース・レイマーチングのデバッグビュー
SSGIで照らした3Dスキャンの室内シーン
ブラーとガンマ補正を適用した室内シーン
ポスタライズを適用した室内シーン
NVIDIA Nsight GraphicsでのSSAOバッファの確認