三角形が表示できた、と思ったら違った

サンプルだけど、三角形が表示できた。
ということで、ソースコード眺めてた。

最初に言わせてほしい、Vulkan滅茶苦茶やる事多い

とりあえず表示できた三角形を載せてみます。

ここから本題。
ソースコードをいくら眺めても頂点情報や色情報を明記した場所が見当たらない。セマフォだとか新しい物はいろいろ知れて理解は幸せなのだが、なぜ三角形が表示されているのかわからない。

答え
そういえばシェーダで宣言してた

結論
事実上、まだ三角形表示できてない

GLSLからSPIR-Vファイルにする

SPIR-Vファイルとは、VulkanにおけるGLSLのシェーダファイルらしい
ただし、SPIR-Vファイルはバイナリファイルなので、直接作成できない

SPIR-Vファイルを得るためには、GLSLからの変換する方法があるとのこと
コマンドは以下の通り

glslangValidator -V 入力シェーダ名 -o 出力シェーダ名

glslangValidator自体はGLSLのチェック用スクリプトらしい。Vオプションで、これをSPIR-Vに変換できる。ただ出力ファイル名を指定しないと生成されなかったのでそっちも追加

ちなみに、最初は直接GLSLファイルを食べさせて食中毒起こしてました。サンプルファイルにGLSLファイルしか置いてなかったらそう思い込むよね・・・

Vulkanとか

とりあえずサンプルがコンパイル通るまで

  1. VulkanのSDKインストール
    https://vulkan.lunarg.com/home/welcome
    この辺からSDKダウンロードしてインストールする。exe形式なので実行するだけ
    デフォルトで C:\VulkanSDK 以下に配置されました
  2. GLFWの用意
    サンプルがGLFW使ってるので用意
    今回は割愛
  3. パス通す
    Visual Studio 2019からIncludeファイルのディレクトリとLibへのパスを通す
    一般的なことなので省略
  4. 追加のライブラリを設定
    3に続いて依存するライブラリを設定する
    一般的なことなので省略
  5. サンプルをビルドする
    サンプル取得元:https://vulkan-tutorial.com/
    サンプルのGitHub:https://github.com/Overv/VulkanTutorial
    上記設定が通ってれば普通にビルドできました

ビルドした結果
これだけだと何なのか分からない上に、本当にVulkan使ってるのかわからないですね。