Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

DirectX12の上に設計された描画エンジン+デモ

License

Notifications You must be signed in to change notification settings

desktopgame/Solid

Repository files navigation

Solid

Solid は DirectX12 で実装された描画エンジンと、それを使った技術デモ集です。 デモ画像

アピールポイント:

実行ファイルはリリースページからダウンロードできます。
自分でビルドしたい場合はこのまま読み進めてください。

セットアップ

リポジトリをクローンしてから一度だけ行う必要のある作業です。
いくつかのライブラリを vcpkg から取得しており、それらはサブモジュールとしてぶら下がる構造になっています。 まずは vcpkg を初期化し、必要なライブラリをインストールしてください。

サブモジュールの初期化

git submodule update src\App\mod\vcpkg

ライブラリのインストール

cd src\App\mod\vcpkg
bootstrap-vcpkg.bat
vcpkg install directxtex
vcpkg install picojson
vcpkg install freetype
vcpkg install imgui[core,dx12-binding,win32-binding]:x64-windows
vcpkg install stduuid
vcpkg install openal-soft

ここから先のセットアップ手順は開発環境により異なります。

VisualStudio Code

VisualStudio Code の場合、 Solid.code-workspace を開けばそのまま適切な設定が有効化されます。
VisualStudio Code 向けの設定はリポジトリにコミットされているためです。
(使っている人が多いだろうと見込んですぐセットアップできるようしてあります。)
開いた時点で必要な拡張機能がインストールされていなかった場合、ワークスペース設定により必要な拡張機能がレコメンドされます。

コード補完が働かない場合、一度ビルドを実行してみてください。
このリポジトリではCMakeがビルド時に生成する compile_commands.json を利用してコード補完を行います。

VisualStudio

VisualStudio の場合、CMakeでソリューションとプロジェクトを生成する必要があります。

cd Solid
cmake -S src -B build -G "Visual Studio 17 2022"

Powershellの実行権限

ビルド時に一部のソースコードを生成するため、Powershellを使用しています。
このためにビルドが失敗する場合、手動実行フラグをONにすることで自動生成をスキップできます。
(注記)自動生成されたコードもコミットされているので、ビルドして実行するだけなら常にスキップで問題ありません。
cmakeでビルド構成を再生成する場合、事前に build フォルダ以下のファイルを削除する必要があります。

cmake -S src -B build -G "Visual Studio 17 2022" -DMANUAL_GENERATE=ON

CLion

CLionは公式にCMakeをサポートしているので、基本的には公式の使い方に従えば開くことができます。

ビルド

VisualStudio Code

cd Solid
cmake -S src -B build -G "Ninja"
ninja -C build

Powershellの実行権限

ビルド時に一部のソースコードを生成するため、Powershellを使用しています。
このためにビルドが失敗する場合、手動実行フラグをONにすることで自動生成をスキップできます。
(注記)自動生成されたコードもコミットされているので、ビルドして実行するだけなら常にスキップで問題ありません。
cmakeでビルド構成を再生成する場合、事前に build フォルダ以下のファイルを削除する必要があります。

cd Solid
cmake -S src -B build -G "Ninja" -DMANUAL_GENERATE=ON
ninja -C build

OpenMPが見つからない場合

CMakeの問題と思われますが、OpenMPを発見できずにビルドに失敗することがあります。
その場合は VisualStudio でビルドを試してみてください。

VisualStudio

VisualStudioの場合、 App という名前になっているプロジェクトで実行ファイルをビルドできます。

CLion

CLionの場合、 App という名前になっている構成で実行ファイルをビルドできます。

テスト

アプリケーション本体、そして一部サブモジュールについてはテストが書かれています。

cd Solid
ninja -C build Math-Test
ninja -C build Graphics-Test
ninja -C build Utils-Test

全てのテストを実行するには、以下コマンドを実行します。
ただしこれを実行するとアプリケーションのテストも実行されます。

ninja -C build Test

逆に、アプリケーションのテストだけを実行したい場合は以下を実行します。

ctest --test-dir build/App -R "^Test$" -V

注意点

デバッグ実行時には、assets以下にアセットが格納されている必要があります。
一度は./scripts以下のインポートスクリプトを実行しておいてください。

python scripts\audio_importer.py
python scripts\font_importer.py
python scripts\model_importer.py
python scripts\texture_importer.py
python scripts\vox_importer.py

build フォルダ以下に生成されるバイナリを実行するときは、
Solid/assets を Solid/build/assets へコピーしてください。

ライセンス

このリポジトリのソースコードはMITライセンスで公開されています。
詳細は license.txt を確認してください。

その他

開発人数:一人
開発期間:128日(commits.shにて算出した大雑把な期間。1日における開発時間にはバラつきがある)

About

DirectX12の上に設計された描画エンジン+デモ

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

AltStyle によって変換されたページ (->オリジナル) /