2023/7/26(水)

ついにモデルのスキン変形の実装に成功!

昨日どうもうまくいかなかったのは行列の掛け算の順序を間違えていたらしい。(孫ノードの行列)×(子ノードの行列)×(親ノードの行列)×(逆バインド行列)のような順でかけていたが、(親ノードの行列)×(子ノードの行列)×(孫ノードの行列)×(逆バインド行列)といった順序が正しかったようだ。改めて考えるとそれはそうだった。

モデルの関節を曲げるというだいぶ大きな途中目標が達成できたのでかなり満足した。ようやく別のタスクにも存分に取り掛かれる。

ちなみにこれはうっかり逆順でかけていた時に出来たグロ画像。

スキン変形以外の実装の進捗としては、デスクリプタセットとバッファをframes in flightの分だけ作っていたのをDynamicDescriptorで1つにまとめた。vkguideによればなるべく一つのバッファにまとめた方がいいらしいから。

ちょっと困ったのがアラインメントの問題。バッファデスクリプタにおけるオフセット値は手元だと64バイトの倍数でなければならなかった。こういう縛りもあるのかとなった。今のところはオブジェクトの管理バッファをあまり真面目に扱ってないので適当な方法で解決してしまったが、オブジェクトの管理クラスを設計する段においてはもうちょい真面目に検討の必要がありそう。


今日摂取したコンテンツ。

https://gigazine.net/news/20230720-firefox-surpassed-chrome-speedometer/

めでたい。

Categories: