やっていくVulkan入門

3. 三角形を描画する(ただしウィンドウには出ない)

ほぼあらゆる3DCGはポリゴン、つまり三角形の集合で出来ています。よって三角形の描画の方法を学ぶことは最大の基礎となります。やっていきましょうと言いたいところですが、あらかじめ言っておくと、この章では三角形を描画しますが、ウィンドウなどにドーンと表示するわけではありません。あくまでメモリの中に存在する画像データに三角形を描画します。

一応成果物が全く見えない訳ではありません!画像データはファイルに出力して見えるようにはします!

しかしなぜ筆者がこのような構成にしているかと言うと、Vulkanの設計についてそれなりにきちんと伝えたいなと思ったからです。

Vulkanはグラフィックスライブラリであり、画像の描画生成が主な機能です。それ以外の全ては基本的にオマケであって、実はVulkanにとって「生成した画像を画面に表示する」といった部分はコア機能ではないのです。

本章ではなく次章で学ぶことですが、画像を画面に表示するにはサーフェスやらスワップチェーンといったオブジェクトを扱うことになります。そのオブジェクトですが、名前が「vk::SurfaceKHR」や「vk::SwapchainKHR」となっています。このKHRという接尾辞は標準搭載の機能ではなく拡張機能であることの証、つまりVulkanは画面に画像を表示する機能の存在を標準では保証していないのです。 恐ろしい子!

そういう訳で、じゃあ仕様上きっぱり分けられているのなら章立てとしても描画と表示は別にしてみようかということに決めました。

vulkan-tutorial.comとかでは割と一続きになって説明されているのでそっちの方が性に合う人もいるかもしれません?