【自作ゲームエンジン開発】Vulkan 環境構築

プログラミング

IQZeus

はじめに

この記事はサイト主が【自作ゲームエンジン開発】を行うまでのほぼ全行程を記事にまとめたものです。

主自体はC++からVulkanから何まで初心者のため、同じようなレベルの人の役に立てればと書いています。

上級者の方々にはあまりおすすめできない記事ですのでご了承ください。

前の記事→【自作ゲームエンジン開発】Vulkanのインストール

自作ゲームエンジン開発記事一覧→【自作ゲームエンジン開発】記事一覧

Vulkanチュートリアル

Vulkanを用いてゲームエンジンを作るならまずはVulkanを使えなければいけないですね(笑)

私はC++も触ったことはほとんどないのですが、他の言語はあるのでどうにか知識を無理やりつないで補完しようかと思います。

ひとまず今回はVulkanチュートリアルを進めていきます。

英語の記事が多かったので他の方にもわかるように記事を残しておきますね。

ほとんどチュートリアル通りになるとは思いますが一部変更している場合もあります。

悪しからず。

環境構築

Vulkanのインストール

まずはVulkanやその他ライブラリを用意していきます。

Vulkanのインストールは別の記事で書いていたのでそちらを参考にしていただけると幸いです。

チュートリアルのページには簡潔にしか書かれていなかったのでちょうどよかったです。

Visual Studioのセットアップ

Visual Studio2019のインストール

開発はVisual Studioで行います。

他のIDE等でも開発できるとは思いますが一番情報量が多いのはVisual Studioなので不安に感じる人はVisual Studio一択でいいと思います。

Visual Studio 2019 for Windows および Mac のダウンロード
Visual Studio Community、Professional、および Enterprise をダウンロードします。Visual Studio IDE、Code、または Mac を今すぐ無料でお試しください。

ここからVisual Studio 2019をダウンロードしてきてください。

ダウンロードしてきたら起動してインストールしましょう。

基本的には何も変更せずに進めていき、「ワークロード」を選択する画面になったら「C++によるデスクトップ開発」にチェックを入れて「ダウンロードしながらインストール」でインストールしてください。

プロジェクトの作成

インストールが完了したらプロジェクトの作成をします。

このような画面が出るかと思います。

出なければ一度Visual Studioを閉じてから開くと出ると思います。

「新しいプロジェクトの作成」を押して、

テンプレートの検索で「Windows デスクトップ ウィザード」を検索して選択しましょう。

プロジェクト名やソリューション名は適宜決めてください。

「作成」を押すと、

こんな画面が出てくると思うので、「空のプロジェクト」にのみチェックを入れて「OK」を押します。

これでプロジェクトは作成できました。

ライブラリの準備と設定

お疲れ様です。もう少しで準備は終わります。(それでもまだ準備段階なんですけどね)

次はライブラリの追加をしていきます。

公式のチュートリアルでは「GLFW」と「GLM」は外部からダウンロードしてきてパスを通しているのですがNuGetからインストールできるのでそちらからインストールしたいと思います。(楽だしね)

画像のようにプロジェクトを右クリックして「NuGetパッケージの管理」をクリックします。

「GLFW」で検索してインストールしてください。

同じように「GLM」で検索してGLMもインストールして下さい。

私の場合

GLFWのバージョンは”3.3.2″で

GLMのバージョンは”0.9.9.800″でした。

ここまで出来たらプロパティの設定をしていきます。

「プロジェクト」の「プロパティ」をクリックして

ピンク枠のように変更してから、「C/C++」から「全般」の「追加のインクルードディレクトリ」の下矢印をクリックして「<編集>」を押します。

そしたらこんなウィンドウが開くと思うので

$(VK_SDK_PATH)\include

これを入力して「OK」を押します。

Vulkan SDKをインストールしていればパスが通っているはずなのです。

評価された値であっているか確認しましょう。

C++のコンパイラの設定をします。

上の画像のように「C++17」の物にして下さい。

ライブラリの追加をします。「リンカー」から「全般」を選び「追加ライブラリディレクトリ」で編集を押します。

上の画像のように

$(VK_SDK_PATH)\Lib

これを追加して下さい。

依存ファイルの設定を行います。

画像のように「入力」から「編集」をクリック

vulkan-1.lib

これを追加して「OK」で完了です。

テストコードの実行

ここまで出来たらもうVulkanが正常に動作する段階のはずです。

「Ctrl + Shift + A」を押してソースファイルフォルダに新しい項目を追加します。

C++ファイルを選択して「main.cpp」ファイルとして「追加」します。

作成したmain.cppファイルを開き

#define GLFW_INCLUDE_VULKAN
#include <GLFW/glfw3.h>

#define GLM_FORCE_RADIANS
#define GLM_FORCE_DEPTH_ZERO_TO_ONE
#include <glm/vec4.hpp>
#include <glm/mat4x4.hpp>

#include <iostream>

int main() {
    glfwInit();

    glfwWindowHint(GLFW_CLIENT_API, GLFW_NO_API);
    GLFWwindow* window = glfwCreateWindow(800, 600, "Vulkan window", nullptr, nullptr);

    uint32_t extensionCount = 0;
    vkEnumerateInstanceExtensionProperties(nullptr, &extensionCount, nullptr);

    std::cout << extensionCount << " extensions supported\n";

    glm::mat4 matrix;
    glm::vec4 vec;
    auto test = matrix * vec;

    while(!glfwWindowShouldClose(window)) {
        glfwPollEvents();
    }

    glfwDestroyWindow(window);

    glfwTerminate();

    return 0;
}

これをそのままコピペして下さい。

保存して、

「Debug」、「x64」となっていることを確認して「ローカルWindowsデバッガー」を押します。

するとこんな感じでウィンドウが開くことを確認できるかと思います。

失敗したらどこか間違えてるかもしれないので記事をもう少し見直してみて下さい。

「15 Extension」と書かれているところは使える拡張機能の数です(そのまま)

人によって違うと思いますが0以外なら問題ありません。

さいごに

ひとまず今回はこの辺で終わりにしたいと思います。

画像を用意しながら記事を書くのめちゃくちゃ大変ですね(笑)

すでに一度作ったものを作り直すことになるし(途中でいろいろ試してからここにたどり着くので…)

まあその試した部分が成長した部分だと思うのでいいんですけどね(笑)

次回以降はコードと実行結果くらいしか載せることはないと思うので今回限りの大変さとしてよく味わっておきます。

記事を書いている時間で本当はプログラミングを進めたいのに進められなかったからよかった(笑)

他のプログラミング系の記事書いている人すごい…

コメント

タイトルとURLをコピーしました