フォト

Google AdSense


  • AdSense
無料ブログはココログ

« 荒らし | トップページ | スキンメッシュの記事修正 »

2004.02.24

スキンメッシュクラスのD3DINDEXEDでのバグ解決

例のやつ(↓の画像)はバグではありませんでした。

どうやらGeforce FX Go 5200 でが"tiny.x"のインデックス付きはD3DCREATE_HARDWARE_VERTEXPROCESSING、つまりハードウェア頂点処理が出来ない模様。Caps Viewerの、

【MaxVertexBlendMatrices】…頂点ブレンディングの最大数 ( 4 )
【MaxVertexBlendMatrixIndex】…インデックス時の参照可能なインデックス数( 0 )

なんとインデックスは"0"これではバグって当然です。SDKサンプルを見てもHAL(mixed vp)で混合モード(D3DCREATE_MIXED_VERTEXPROCESSING)で動いてます。これには参った。噂に聞いてたが本当にGeforceはハードウェアでインデックス付きブレンディングの処理ができんとは・・・(そういえば、インデックス付き頂点ブレンディングは廃止の話って昔聞いたことがある)。まさかこんな枯れたところで引っかかるとは思いもよりませんでした。

たぶん、D3DINDEXEDでもちゃんと動いてたのはそのモデルがインデックス無しだったんだろうね。

でも、それというのも頂点シェーダで解決しろってことでしょう。頂点シェーダで汎用的にやることで汎用的なジオメトリエンジンを使えってことでしょ?なんにしても掲示板の書き込みで意外な結論が見えました。

skinnedmeshbug.jpg
Geforce FX Go 5200でハードウェア頂点処理で
インデックス付き頂点ブレンディングすると・・・

« 荒らし | トップページ | スキンメッシュの記事修正 »

Programming」カテゴリの記事

コメント

コメントを書く

コメントは記事投稿者が公開するまで表示されません。

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/2210/228382

この記事へのトラックバック一覧です: スキンメッシュクラスのD3DINDEXEDでのバグ解決:

« 荒らし | トップページ | スキンメッシュの記事修正 »