プログラミング

DirectX

SkinnedMeshで複数描画したい

DirectXのサンプルSkinnedMeshをいじって、 リソースは1つ、描画用インスタンスは複数なんてものを作成してみました。 色々と、DirectXの仕様で躓く点が多かったように思います。 ■実現の為のポイント AnimationControllerは単純にCloneで作成しても、ボーン構造(FRAME)は共有されてしまう 独立させたいのは、マトリック...
C++/CLI

C++/CLIでの実行時エラー

C++/CLIとC++ネイティブのlibをリンクさせて、Windowsフォームアプリケーションを作ったときに、 よくわからないエラーが発生してしまうことがある。 Expression: _CrtIsValidHeapPointer(pUserData) どうやらCRT初期化の順序に問題があるのか。 これを解決するには、エントリポイントの修正を行えば解決する模...
DirectX

DirectXのテクスチャについて

メモリ管理やUSAGEの組み合わせで気になったので調査. 生成時フラグ D3DPOOL D3DUSAGE 結果 Default 0 OK Default WRITEONLY NG Default DYNAMIC OK Managed DYNAMIC NG SystemMem DYNAMIC OK Default DYNAMIC RENDERTARGET OK...
DirectX

スキニングメッシュ

ようやくtiny.xを自前フォーマットに変換して描画まで確認。 苦労したけど、サンプルのSkinnedMeshのデータと比較できたのでまだ楽だった。 スキニングの一番の問題点は、行列のデータを見ても全く正しいことがわからないこと。オフセット行列も正しいか謎だし。簡単なサンプル作るにしても、スキニングメッシュを作るには、一般的にはモデラーが必要になるし。 今回...
DirectX

リモートデバッグ

DirectXのプログラムを作っているわけですが、開発機が既にVistaのため、デバイスロストを発生させることが出来ないので、WindowsXPのマシンを用意してリモートデバッグを試みてみたのですが、なにやらうまくいかず…。実行体を全く同じパスにおいて実行してみるも、拒否されたとか言われてしまう。 WinXP SP2での変更のため、MSDNヘルプの通りにやっ...
DirectX

SkinnedMesh

■スキンメッシュの表示 前回からチャレンジしていて、助言を元に色々と試行錯誤してました。 で、最終的にはコンバータから出力した頂点データが 固定機能のインデックス付き頂点データで、 表示させようとしている側は、シェーダーによる表示方法を選択。という不一致が原因だった模様。 コンバータから出力するデータも若干おかしいと思える箇所を SkinnedMeshサンプ...