DirectX12 で最初のポリゴン描画


前回は DirectX12 (D3D12) を初期化して画面のクリアを行うまでの手順でした。ようやく1つの三角形ポリゴンを描画するところまで手順がわかったので説明したいと思います。

スポンサーリンク

注意事項

繰り返しの内容となりますが、以下の点をご了承ください。

現時点において DirectX12 の部分は実装途中となっています。正式版では大きく変更される可能性があります。よってここの情報は 2015/04 現在の限定された環境でのみ動作するという点をご理解ください。

なおMSDNドキュメントですら不十分な状況で手探りで動作させたため、以下の内容は間違っていることが多く含まれる可能性があります。その点にはご注意ください。

本内容は既に最新環境では正常にコンパイルできません。ご注意ください 2015/5
dx12_triangle

最初の三角形描画

前回で画面のクリアまでの手順については把握できたので、今回は初めての描画に必要なデータを用意するところから説明します。なお以前のコードからリファクタリングしたコードをベースとして今回は作成しています。 GitHub にコードをあげてありますので気になる人は(&全貌を確認したい人)はそちらを参照お願いします。

頂点バッファの準備

当然ながら頂点バッファを用意しなくてはなりません。 DirectX12 では頂点バッファは以下のような感じで作成します。

そしてこの作成した頂点バッファとして処理させるためのビューを以下のようにセットします。

パイプラインステートの設定

前回は頂点シェーダーのみ準備していましたが、ポリゴンの描画のためにピクセルシェーダーも今回は必要になります。ですが、単なる描画だけですので以下のようなシンプルなものを用意しました。

描画する

リソースが出来たので描画します。単にリソースをコマンドリストに積んで実行させるだけで描画できます。ターゲットのクリア後に以下のようなコードを追加します。

今は単に三角形1つなので、こんな感じになります。

まとめ

ポリゴンをとりあえず書くだけの部分がようやくできました。画面のクリアまでの道のりに比べればまだ簡単でした。それよりはむしろコードを整理していた方の時間が長かったですかね。

これらのコードは前回同様 GitHub のほうにあげてあります。気になる人はそちらをご参照ください。

本内容は既に最新環境では正常にコンパイルできません。ご注意ください 2015/5

スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする