続DirectX12で遊んでみた

お久しぶりですNKのS.Tです。ちょうど1年ぶりの投稿となります(その間に社名が2回変わったのは秘密)
前回は三角形の描画まででしたので今回はテクスチャーを追加してみます。

■環境

OS: Windows 10
IDE: Visual Studio 2017 Community
SDK: Windows 10 SDK (10.0.15063.468)

■初期設定

IDEをVisual Studio 2017に変更しましたが参照設定等は前回と同じです。
ビルドできない場合はSDKが足りないので、Visual Studio 2017のインストーラーからSDKをいろいろ入れてみてください(適当)

■コーディング

今回もわかりやすさ重視でクラス等は作成せず、main.cppのみで進めます。
インデックスバッファや定数バッファも作成しないので、おそらく最短のテクスチャー描画プログラムではないでしょうか。
以下、ソース変更点です。

テクスチャーのみを表示するので色データを削除してテクスチャーのUV座標を追加します。


一枚絵のビットマップを表示したいので三角形から四角形に変更します。


空のルートシグネチャを作成していた部分にテクスチャーとサンプラーを追加します。

 

テクスチャー用に用意したビットマップを読み込み初期化を行います。
簡易読み込みのためアルファ値には対応していません。

 

描画部分でテクスチャーをレジスタに設定します。

 

最後にHLSLの変更点です。
ここでも色データを削除してテクスチャー関連を追加しています。

 

実行するとウィンドウが表示され中央にビットマップが表示されているはずです。
前回と同様にD3D12CreateDeviceが失敗する場合はビデオカードがDirectX12に対応していないのでg_useWarpDeviceをtrueにしてみてください。
WARPデバイス(ソフトウェア)を使用するようになりますのでまず動くと思います。

ソースはこちらからダウンロード出来ます。

Windows10と同時に出てきたDirectX12は登場から2年経ちましたが、amazonで書籍を検索してみたところ英語版が1冊・日本語版は0冊でした…
一体誰に需要があるのか謎で本当に遊んでみた記事になってしまいましたが、また何かできたらいいなと思っています。

コメントを残す

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