xavolog

同居しているカニ様の記録だったりあれこれ

練習記録:DirectXを使ったWindowsアプリ作り

カニの話ではなく日記です。

『HLSLシェーダーの魔導書』という本を入手したのですが、シェーダーだけだったらUnityでちょいちょい書いているので、どちらかというとゲームエンジンを使わない生のDirectXが気になってきました。

この本のサンプルデータの中身を見てみたのですが複雑すぎて、どこがコアな部分なのかよくわかりません。

なのでちょっと調べてみました。

公式ドキュメントを見る

docs.microsoft.com

最近はこういうチュートリアルとかネットでよく上げてくれるので助かります。

前提条件
C++ に習熟していることを前提としています。 また、グラフィックス プログラミングの概念に対する基礎的な知識も必要となります。

冒頭でいきなり躓いています。C++はほとんど触ったことがありません。

後者はまあわかると思います。

前提条件は無視し、ドキュメントを読み進めてわからないところがあったらその都度調べることにします。

 

UWPアプリの開発環境を作る

上記のページはユニバーサルWindowsプラットフォーム(UWP)という開発基盤?に則って作成するようになっている。

ページを見ていくと「C++/WinRT Visual Studio Extension と NuGetパッケージのインストール」という記述があったので、C++/WinRT Visual Studio Extensionと検索してみたり、NuGetと検索してみたりしてインストールを試みます。

が、なぜかうまくいきません。

問題

インストールに一部失敗し、入らないコンポーネントがあったり参考サイトのUIスクショと違っていてNuGetを改めてインストールする方法がわかりませんでした。

プロジェクト作成時に「コアアプリ(C++/WinRT)」というテンプレがあるものの、それを選ぼうとしても

エラー:このテンプレートは、コンポーネントアセンブリ〇〇〇、Version = 〇〇をロードしようとしました

みたいなダイアログが出て、進みません。

解決

困ったときの再インストールを試します。

Visual Studio Installerを見ると、VS2019本体と別にビルドツールもあったのでそちらもアンインストール。

PC内を検索してVS2019関係のものをすべて削除。

そのあと改めてインストーラーからVS2019をインストールします。

インストール前に追加するパッケージを選ぶ画面が出るので、C++関係、DirectX関係を選択して続行。

 

再インストール後、新規プロジェクト作成画面を見ると、今度はユニバーサルWindowsプラットフォームアプリの名前と「インストールが必要」とマークされた項目が入っていました。ここをダブルクリックするとUWP用の拡張機能のインストールが始まります。

どうもこれで問題なさそうです。

以前のVS2019はUnityからインストールしたので、Microsoftが推奨する構成になっていなかったんでしょう。多分。

 

そして改めてリンクを張ったページを見ると、一体どこでUWPとNuGetの追加インストールする記述を見たのかわからなくなりました。

 

作業まとめ

UWPでアプリ開発する環境を整えました。

なんとまだ1行も実作業できていない。「完了までの時間: 20 分。」て書いてあるのに…(あるある)

一晩寝たら次は作業に入ります…

あと反省点として、記録としてスクショをとっておくべきでした。諸々。