3-1. イメージの作成

これから行う描画処理はメモリの中の話とはいえ、絵を描くキャンバスにあたるものは必要です。

とりあえず幅と高さは決めてしまいましょう。

Vulkanにおいて画像は vk::Imageというオブジェクトで表されます。これは vk::DevicecreateImageメソッドで作成できます。

ばかでかい初期化用構造体がありますね。ここでは要点だけ書くにとどめて、詳細については必要に応じておいおい解説していくことにします。気になるという人は公式ドキュメントを見てみてください。

imageTypeには画像の次元を指定します。1次元から3次元まで指定できます。2次元以外の画像ってなんじゃらほいという感じですが、Rampテクスチャやvoxelなど、普通に使い道があります。ここでは普通の2次元の画像のため vk::ImageType::e2Dを指定しています。

extentには画像のサイズを指定します。ここでは640×480を指定しています。最大3次元の画像を扱うため vk::Extent3Dによる指定ですが、今回は2次元であるため、第3引数の奥行には1を指定しています。640x480x1のマス目と思ってください。

formatには画素のフォーマットの種類を指定します。どのように各ピクセルが色を保存しているかの情報です。

これで画像オブジェクトを作成することができました。しかしこの段階ではまだ画像にメモリが割り当てられていません。メモリを割り当ててやらないと画像データを記録することは出来ません。


この節ではイメージの作成をやりました。次節ではメモリの確保をやります。

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です