わいわいわいわい~♪
笑いは心のビタミンによる日記代わりのブログです。 結城アイラさんのラジオのレポートとか書いてます。
×
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
●シェーダでのボーン計算
オブジェクトごとにPass作って、PassごとにVSの中で必要な骨マトリクスを読み出すことで何とか対処したけど・・・。
ここまで汎用性が無いプログラムになっちゃうとちょっとなぁ・・・。
てか、現時点のプログラムだとでソフトウェアで計算して動かすのとそんなに変わんないし・・・。
もっと効率の良いアルゴリズムを考えないとなぁ○| ̄|_
オブジェクトごとにPass作って、PassごとにVSの中で必要な骨マトリクスを読み出すことで何とか対処したけど・・・。
ここまで汎用性が無いプログラムになっちゃうとちょっとなぁ・・・。
てか、現時点のプログラムだとでソフトウェアで計算して動かすのとそんなに変わんないし・・・。
もっと効率の良いアルゴリズムを考えないとなぁ○| ̄|_
PR
ソフトウェアで動いて何でハードウェアで動かんのかなぁと思ったら、骨の転送量の限界を超えてたみたい。
ソフトウェアだと何個でも送れるみたいだけど、ハードウェアだと61個?までしか送れないみたいで・・・。<骨マトリクス
シェーダーで配列の変数を変えていったらわかったことなんだけど・・・。
てか、GeForce7300でダメでGeForce8600でもダメだったから、転送数の限界があるのは確かなことのはず。
うーん、現状のモデルだと骨だけでも92個あるんだけどなぁ・・・。
骨のインデックスをオブジェクトごとにまとめて描画するしかないのかなぁ・・・。
ソフトウェアだと何個でも送れるみたいだけど、ハードウェアだと61個?までしか送れないみたいで・・・。<骨マトリクス
シェーダーで配列の変数を変えていったらわかったことなんだけど・・・。
てか、GeForce7300でダメでGeForce8600でもダメだったから、転送数の限界があるのは確かなことのはず。
うーん、現状のモデルだと骨だけでも92個あるんだけどなぁ・・・。
骨のインデックスをオブジェクトごとにまとめて描画するしかないのかなぁ・・・。
どうやらさっきの悩みの答えは
DrawIndexedPrimitive(D3DPT_TRIANGLELIST ,0,0,全頂点数,0,全ポリゴン数);
で正解だった模様。
こうなると今まで第四引数の頂点数の部分を3で固定して動いていた意味がわからん( ̄△ ̄;
あと、ワールド*カメラ*プロジェクションをワールドだけしか送ってなかったのも問題だった模様。
(問題と言うのは送ったデータが巨大化されて描画されるって事なんだけど。。。)
シェーダーを使う時にはSetTransformでセットしたマトリクスが全くの無意味だって事をすっかり忘れてたので
上記の掛け算を行った後、シェーダーに送ってそこで掛け算してやれば問題解決。
いやー自分、かなり忘れてるなぁ( ̄△ ̄;
とりあえず、スキニング後の頂点を転送して表示することは可能になったけど・・・。
スキニング自体をシェーダー内でやらせるにはどうしたらいいもんかなぁ。。。
DrawIndexedPrimitive(D3DPT_TRIANGLELIST ,0,0,全頂点数,0,全ポリゴン数);
で正解だった模様。
こうなると今まで第四引数の頂点数の部分を3で固定して動いていた意味がわからん( ̄△ ̄;
あと、ワールド*カメラ*プロジェクションをワールドだけしか送ってなかったのも問題だった模様。
(問題と言うのは送ったデータが巨大化されて描画されるって事なんだけど。。。)
シェーダーを使う時にはSetTransformでセットしたマトリクスが全くの無意味だって事をすっかり忘れてたので
上記の掛け算を行った後、シェーダーに送ってそこで掛け算してやれば問題解決。
いやー自分、かなり忘れてるなぁ( ̄△ ̄;
とりあえず、スキニング後の頂点を転送して表示することは可能になったけど・・・。
スキニング自体をシェーダー内でやらせるにはどうしたらいいもんかなぁ。。。
シェーダーがうまくいかず、昨日は一日中悩んでました。。。
HLSL使用時のDrawIndexPrimitiveの使い方ってフツーに描画する時の使い方と違うのかなぁ?
いつも通りのDraw***(TRIANGLLIST,0,0,3,0,ポリゴン数)じゃないのかなぁ?
それともDraw***(TRIANGLLIST,0,0,頂点数,0,ポリゴン数)なのかな?
頂点宣言はFVFからDECに変えたんだけどなぁ・・・
セマンティックスもこれで合ってるはずなんだけどなぁ・・・
xファイルからの読み込みしかやってなかったからなぁ・・・
GLSLとここまで違うとは思ってなかったなぁ・・・
まぁ、エンジェルゲートを手に入れて読み終わったらまた悩もう。。。
では、今日も一日はりきっていきまっしょい!!!(≧∇≦)
HLSL使用時のDrawIndexPrimitiveの使い方ってフツーに描画する時の使い方と違うのかなぁ?
いつも通りのDraw***(TRIANGLLIST,0,0,3,0,ポリゴン数)じゃないのかなぁ?
それともDraw***(TRIANGLLIST,0,0,頂点数,0,ポリゴン数)なのかな?
頂点宣言はFVFからDECに変えたんだけどなぁ・・・
セマンティックスもこれで合ってるはずなんだけどなぁ・・・
xファイルからの読み込みしかやってなかったからなぁ・・・
GLSLとここまで違うとは思ってなかったなぁ・・・
まぁ、エンジェルゲートを手に入れて読み終わったらまた悩もう。。。
では、今日も一日はりきっていきまっしょい!!!(≧∇≦)
9月半ばから悩んでいたモデルデータ読み込みプログラムが先ほど無事解決。
再三データの作り直しに付き合ってもらった友人にはほんと迷惑かけたなぁ(^_^;
とりあえずFcurveあたりを整理して、30フレ-ムのアニメーションをさくっと表示できるようにしてしまおうっと。
読み込みデータもtxtからbinに早々にチェンジして、スキニングもシェーダー移行せねば。
・・・・・
あぁ、これで気兼ねなく手紙が書けるぜぃ(≧∇≦)
再三データの作り直しに付き合ってもらった友人にはほんと迷惑かけたなぁ(^_^;
とりあえずFcurveあたりを整理して、30フレ-ムのアニメーションをさくっと表示できるようにしてしまおうっと。
読み込みデータもtxtからbinに早々にチェンジして、スキニングもシェーダー移行せねば。
・・・・・
あぁ、これで気兼ねなく手紙が書けるぜぃ(≧∇≦)
おかしのまちおかで買ってきた。6個入りで約300円なり。
ワッフルってやっぱりこの形、そして味が一番好きだなぁ(〃∇〃)
●新しいカテゴリー●
にプログラムを追加してみた。
最近は「日記書くより趣味のプログラム書き」ってな感じな毎日を送っていたりする私。
まぁ、夜な夜なそんなことやってるから体からレッドカードが出るわけなんだけど( ̄∇ ̄;
んで、10月中に片付けたかったプログラムがどーにも上手くいかなくて先日サンプルデータを友人に作ってもらって、今日入れてみたらあっさり動いた。
違うと思ってた骨構造の計算では、Baseマトリクスの計算もSRTマトリクスの計算もあってるんだけど・・・。
モデルの実データのほうだと動かないんよねぇ・・・
うーん、原因は一体なんだろう。。。
DirectXだとインデックス使うと頂点だけの描画ができないからなぁ。。。
OpenGLみたいに簡単に頂点だけで描画できる機能があれば、関節ごとのマトリクスを掛け合わせて、本当の骨構造が表現できるんだけど・・・うーん( ̄~ ̄;
って、おそらくここを読んでる方々にはさっぱり~な日記かなぁ( ̄∇ ̄;
まぁ、何か見せられるものが出来上がればいいんだけどなぁ~
カレンダー
12 | 2025/01 | 02 |
S | M | T | W | T | F | S |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
リンク
カテゴリー
フリーエリア
最新記事
(08/27)
(05/26)
(05/14)
(05/14)
(05/13)
プロフィール
HN:
笑いは心のビタミン
HP:
性別:
男性
職業:
応援HP管理人。MH4では槌と弓。チャージアックスに興味を持ち始めたばかり。
趣味:
音楽鑑賞、笑うこと、映画、アニメ、ゲーム、読書
自己紹介:
ブログの中の人は只今アイラ姫の歌声にべた惚れ中。2014年は是非ともソロライブを開催して欲しい!!!(≧∇≦)