昨日は,とりあえずざっくりシェーダを書くところまで。
ルートシグニチャなどのレイアウト周りを決定した,Dynamic Resourceを使うことにしたので,ローカルルートシグニチャ要らずでスッキリした。
で,コンパイルしたが何かシェーダ周りで引っ掛かりまくる。
調べてみたら,何かWindows SDKのインストールが中途半端な状態になっていて,dxcompiler.dllとdxil.dllが同じディレクトリに存在しない状態になっていて,おかしなバイナリを吐き出す状態になっていた。
最新のWindows SDKをVisual Studio Installerから入れることで解決。
最新のWindows SDKを使ってもDynamic Resource周りでビルドエラーがでるので,Agility SDKを導入。
これで,ビルドが通ってアプリが立ち上がるところまで確認できた。
今日からは,マテリアルエディタ周りの実装に入って,DXR使ってメッシュを表示するためにメッシュのバイナリとマテリアルのバイナリを出力して,交差判定するところぐらいまで実装を奨めたい。
マテリアルエディタのメッシュローディングにassimp使っていたんだけども,メンテがめんどいのとFBXが正しく読み込めないとかの問題があることがわかったので,assimpは廃止しよう。
代りにtinygltfとFBX SDKとあと自前のOBJローダーを使って3ファイルだけサポートするように変更してしまおう。
ライトとかの設定もできるようにしたいところだなぁ…。
残り91日