この章では、今まで学んだ知識を総動員して3Dモデルの表示を行います。 いよいよ実用的なゲームやCGアプリの開発に近づけます。
まずモデルデータの形式ですが、3Dモデルデータを表すファイル形式は世の中にいくつもあります。 各社が独自に定めたものや、誰でも使えるように標準で定められたものなど、色々です。
- glTF (Khronos Groupが策定)
- fbx (Autodesk社が公開)
- obj (Wavefront Technologies社)
- stl (3D Systems社)
- blend (Blender独自形式)
- など
今回はglTFという形式を読み込むことを目指します。これはVulkanと同じくKhronos Groupが定めている、ロイヤリティフリーのファイル形式です。 またこのファイル形式はVRアバターの標準形式として知られるVRMのベースでもあり、VRM形式のファイルはそのままglTF形式としても読み込めます。
これまでの基礎知識が身についていれば、モデルの単なる表示自体は実はそんなに難しいものではありません。三角形を1枚表示するのも10万枚表示するのも、プログラム構造的に大して変わりがないからです。あっさり表示されて拍子抜けしてしまうかもしれません。
ただ、その先のスキン変形(いわゆるモデルの関節の動作)などはまた別のトピックになってきます。より実用的な3DCGには必須の技術で、Vulkanの仕様というよりはアルゴリズムの話とglTFの仕様の話になってきます。これまで既に学んだVulkanの知識についてはあまり詳しい説明を入れないので、これまでの内容をよく理解しておきましょう。