07/08/05 03:28:44
質問です
ゲームのエフェクトとしてパーティクルとビルボードをしようしようかとおもうのですが
その際の処理速度を上げる方法としていい方法は何かないでしょうか?
同じテクスチャのパーティクルはまとめてD3DLOCK_DISCARDで頂点バッファを
作成し描画する程度は思いつくのですが・・・
621:デフォルトの名無しさん
07/08/05 03:34:07
>>620
普通のモデルとやることかわらんけど?
やってみて重かったら最適化しろよ
無駄だぞ
初心者のくせに組む前から失敗したくねーとか甘いこといってんじゃねぇよ
622:デフォルトの名無しさん
07/08/05 07:20:47
なんでこう喧嘩腰になるのかねぇ…
嫌なことあった?
623:デフォルトの名無しさん
07/08/05 08:13:43
2chでストレス発散するタイプ?
八つ当たりされた方はたまらんな。
624:デフォルトの名無しさん
07/08/05 08:39:54
~をやってみた→処理が重い→どうすれば軽くなる?
ならわかるけど
~をやるつもり→速い処理教えて
↑こんな奴相手にしなくていいと思う
やんわり言っても同じことだと思うけど?
ただの煽りと区別つかないのはちょっと困る
625:デフォルトの名無しさん
07/08/05 09:13:17
俺には>>621は煽りにしか見えん。
つか>>621は相手にしてんじゃん。相手にした上で煽ってる。
>やんわり言っても同じことだと思うけど?
同じじゃねーよタコ。
って言われたらカチンって来るだろ?
顔が見えないネットじゃ文面に気を使うのは大事だと思うよ。
626:デフォルトの名無しさん
07/08/05 09:13:47
ゆとりにイライラしても始まらないのは確か。
627:デフォルトの名無しさん
07/08/05 09:17:19
>>625
>同じじゃねーよタコ。
どう同じじゃねーんだよタコ
って返すだけだけどな
628:デフォルトの名無しさん
07/08/05 09:20:19
age
629:デフォルトの名無しさん
07/08/05 09:20:53
正直、現実で>>620のような奴が増えては困る
その場その場の方法なんて教えるだけ無駄だと俺は思う
初心者スレは技術より技術者の有り方を叩きこんでやるのが俺のおせっかい
それが嫌(初心者扱いがうっとおしいと思う)なら通常の質問スレにいけ
630:デフォルトの名無しさん
07/08/05 11:01:38
CComPtr<IDirect3DTexture9>をCreateTexture等の引数に直接指定した場合
Attachを使わずに代入したのと同じく参照カウントは2になってしまうんでしょうか?
631:デフォルトの名無しさん
07/08/05 11:15:32
すみません教えてください
DirectX BusterというのでDirectXをアンインストールした後
再インストールしようとしたのですが
「インストールの完了」と表示されても
DirectXの診断ではヴァージョンが更新されていません
どうすればインストール出来るのでしょうか;
632:デフォルトの名無しさん
07/08/05 11:24:06
>>629
ここはDirectXについてのスレです。
技術者の有り方については別の場所でやってください。
まずあなた自身が勉強して日本語と空気を読めるようにならないと、
誰にも教えることなんて出来ないでしょうけどね。
633:デフォルトの名無しさん
07/08/05 11:50:47
>>632
同意。そんなのはリアル世界で会社の糞後輩相手に右往左往してやって欲しい。
ここでは逆に純粋に技術話を端的にして欲しいな。
634:デフォルトの名無しさん
07/08/05 12:11:15
>>632
そう?だれでも同じレスつけると思うけど?
だって無駄じゃん
こいつは自分でやってもみねぇで何をもって速くなったと判断するのか?
いま、その技術がそこでできるかどうかなんて問題じゃねぇじゃん
直接的に
Q1→A1
Q2→A2
・
・
・
ってやることに全く意味を感じない
どうせヘルプ見れば載ってるようなのばっかだろ?
また、次にとるべき行動が誰の目から見ても明らかなもんとかよ
調べるの面倒だから聞いたとかそんなもんだろ?
現実、会社で一発でもやってしまうとそこで終了な職場もあるから俺はそういうのを技術を通して教えて生きたいと思う
質問する側も勝手にすればいいと思うけど回答つける側だって勝手じゃん?
俺は俺のやり方でやらせてもらうよ
635:デフォルトの名無しさん
07/08/05 12:20:25
そういうレスが要らない
636:デフォルトの名無しさん
07/08/05 12:26:10
>>635が次のレスで技術的なことをいいます!
ではドゾー↓
637:デフォルトの名無しさん
07/08/05 12:26:43
僕らは卒業までの期間が決まってるんです。
趣味でやってる暇な社会人とは使える時間が違うんです
638:デフォルトの名無しさん
07/08/05 12:32:55
そういうレスが要らない
639:デフォルトの名無しさん
07/08/05 12:38:23
会社で技術者のあり方を教えるのに
>>621の口調で教えるんだなお前は
640:デフォルトの名無しさん
07/08/05 12:56:38
>>639
多少ですます調に変更はあるものの言うね、まちがいなく
それでシカトして困るの俺じゃねぇし
やる気ないの明らかに相手だし
641:デフォルトの名無しさん
07/08/05 13:15:09
俺は別に心構えとかここで言ってもいいと思ってるけどね
多少ですます調に変わるって言うところが不愉快だ
642:デフォルトの名無しさん
07/08/05 13:36:55
まあ落ち着け
突っ込まれてるのは口調だ
内容については誰も突っ込んでない
そこがまず食い違ってるぞ
643:デフォルトの名無しさん
07/08/05 13:44:47
心構えなら技術のないリタイア組でも口出せるから必死なんだろ。
644:デフォルトの名無しさん
07/08/05 15:04:06
ああ、なるほど。
技術が無いからこの初心者スレにいるが、教えられないけど偉そうには
言いたいって感じか。
645:デフォルトの名無しさん
07/08/05 15:05:00
とりあえずおまえらプールにでも行ってこい
646:デフォルトの名無しさん
07/08/05 17:00:43
むしろ初心者を挫折させたくて仕方がないんだw
647:デフォルトの名無しさん
07/08/05 18:40:49
>>645
市民プールなんて排水口にまきこまれそうで怖くていけねーよ
648:デフォルトの名無しさん
07/08/05 18:42:57
幼女発見
649:デフォルトの名無しさん
07/08/05 18:56:38
排水口の中で
650:デフォルトの名無しさん
07/08/05 19:42:31
市民プールは若い娘はいない。ロリとババアだけだ
651:デフォルトの名無しさん
07/08/05 20:56:49
DirectX SDK を October 2003 から、 June 2007に
バージョンアップしたところ、
プログラム内で、DirectXで文字を表示する箇所、
DrawText( NULL,str, -1,pRect, DT_LEFT | DT_EXPANDTABS, color);
において、
Run-Time Check Failure #0 - The value of ESP was not properly
saved across a function call. This is usually a result of calling
a function declared with one calling convention with a function
pointer declared with a different calling convention.
というメッセージが表示されて停止してしまいます。
これは何が問題なのでしょうか?
ちなみにDrawTextの行をコメントにするとプログラムは正常に動きます。
652:デフォルトの名無しさん
07/08/05 21:37:13
>>651
DrawTextの仕様が変わってんだろ?多分
引数に変更があるはずだから探し出せ
653:デフォルトの名無しさん
07/08/05 21:54:40
DrawTextってGDIか?
654:デフォルトの名無しさん
07/08/05 22:09:09
いいえ。DirectXの方です。
LPD3DXFONT pFont;
pFont->DrawText
として使っています。
>DrawText関数を使う前の、
D3DXCreateFont関数では、S_OKを返していました。
仕様変更をしらべてみます。
655:デフォルトの名無しさん
07/08/05 22:17:06
調べ方わかるか?
SDKのサンプルでDrawTextを使ってるもんを調べるんだ
656:デフォルトの名無しさん
07/08/05 22:26:29
ある呼び出し規約で宣言された関数を
別の呼び出し規約の関数ポインタで呼び出しちゃったと言ってるんで
インクルードフォルダとライブラリフォルダが正しいかとか調べてみては。
昔のインクルードを読んでるのにライブラリが最新のをリンクしてて、矛盾が生じてるとかあるかも
657:デフォルトの名無しさん
07/08/05 22:38:03
>> 655 656
皆さんありがとうございました。解決しました。
古いSDKのフォルダ(DX90SDK)が残っていたので、削除しました。
(新しいSDKは、Program Filesの中にインストールされていました)
そしてリビルドかけたところ、
D3DXCreateFont等がリンクできないというメッセージがでたので、
リンクするライブラリを、d3dx9dt.lib から d3dx9.lib にしたところ、
うまくビルドできました。
658:デフォルトの名無しさん
07/08/05 23:05:54
旧SDK全部アンインストールしてもう1回入れなおしたほうがいいな
659:デフォルトの名無しさん
07/08/06 07:28:23
lib選択してリンクしてるってのがもう怪しいな
660:デフォルトの名無しさん
07/08/06 18:07:06
物体の反射を作ろうとしてるんですが
xファイルから面の法線ベクトルを取得する方法ってありますでしょうか?
661:デフォルトの名無しさん
07/08/06 18:14:00
中のデータを取得するだけ。
662:デフォルトの名無しさん
07/08/06 19:48:10
>>661
xファイルから取得できるのは点の法線ベクトルだと思います
なんとかして面にしたいのですが方法ありますでしょうか?
663:デフォルトの名無しさん
07/08/06 19:52:23
じゃあ各面について辺の外積を求めれば?
664:デフォルトの名無しさん
07/08/06 20:52:01
>>663
そういう計算じゃ駄目なんです
CGツールでは面の法線ベクトルで指定できるわけですから
それを頂点や辺から求めたのでは結果が異なりませんか?
665:デフォルトの名無しさん
07/08/06 21:22:23
エクスポートされたデータが面の法線を出しているのなら、
面を構成している頂点が面の法線になっているだろう。
頭が弱いのか?
666:デフォルトの名無しさん
07/08/06 21:42:25
つまり、単なる平均じゃなくて重み付けの計算がやりたいが、具体的に教えろということだ。
667:デフォルトの名無しさん
07/08/06 21:57:53
意味不明
668:デフォルトの名無しさん
07/08/06 23:04:33
Xファイルには面の法線データは入っていないので、計算じゃだめってんなら、無理です。
669:デフォルトの名無しさん
07/08/06 23:12:14
DirectXの方で面法線なんて設定できたっけ?
670:デフォルトの名無しさん
07/08/06 23:13:18
あ、1頂点につき面の頂点分持てば可能か・・・
671:デフォルトの名無しさん
07/08/06 23:17:18
意味不明
672:デフォルトの名無しさん
07/08/06 23:20:35
モデリングソフト側で面法線を利用してエクスポートしているのなら、
面を構成している頂点の法線が全て共通になるだけの話。
計算も糞もない。
なぜこんな単純なことが分からないのか、それがさっぱり分からない。
673:デフォルトの名無しさん
07/08/06 23:37:56
モルダーにでも聞け
674:デフォルトの名無しさん
07/08/06 23:50:40
>面を構成している頂点の法線が全て共通になるだけの話。
うそーん?
じゃあ点ABCDから、三角形ABC、BCDのポリゴンがあるとしたら
BとCの法線ベクトルはABCと同値なの?BCDと同値なの?
675:デフォルトの名無しさん
07/08/07 00:24:32
ジオメトリシェーダを使えば
面法線も余裕のよっちゃんかしらね。
676:デフォルトの名無しさん
07/08/07 00:26:26
そういや法線の求め方に「正解」ってのは見たことねぇな。
たいがいは頂点の属する面の法線を足し合わせるだけだろうけど、
(足し合わせる前に法線正規化するorしない派がある)
面の向きに依存しないように頂点の角度を考慮に入れたりする場合もある。
この時点でツールによって実装バラバラなのに、ここから面をスムースにする
角度指定なんか入るとさぁ大変。
ぶっちゃけxファイルからツールの法線を完全に再現したいんなら(質問読み違えてる?)
ツールのSDK等でソースが公開されていることを祈るしかねぇんじゃないの?
677:デフォルトの名無しさん
07/08/07 00:40:18
自分はツールにはあまり詳しくないんだが「頂点の角度」ってなんじゃらほい??
それはさておき、ツールで指定した面法線の値に依存するような
反射を作りたいんなら、そもそもX形式でやることがアレかも?
そのツールからX形式にするときに、求める情報が失われているかどうか
電卓とかで調べて、ダメなら結局自前でエクスポーターとか書くしかないんじゃね?
678:デフォルトの名無しさん
07/08/07 06:23:20
>>674
その場合ってBとCの頂点は法線を2つもつためにBとCの頂点がそれぞれ2つになるんじゃね?
ΔABCと△BCDのBCは別の頂点になるんじゃね?っつこと
679:デフォルトの名無しさん
07/08/07 08:27:09
Xファイルのフォーマットの仕様では法線のベクトル配列とインデックス配列は頂点座標のそれらとは独立しているので、
頂点4つに対して法線を6つ用意して法線を共有しない三角形を2つ作るといったことも記述できるよ。
URLリンク(msdn2.microsoft.com)
ただ、そのような変則的な書き方を利用するかどうかはCGツールのエクスポータ次第だけどね。
680:デフォルトの名無しさん
07/08/07 09:16:48
Xファイルで面法線を記述する例
(頂点座標4個、法線ベクトル2個、三角形2個)
------------------------------
xof 0302txt 0032
Mesh {
4;
-1.0;0.0;0.0;,
1.0;0.0;0.0;;
0.0;-1.0;1.0;,
0.0;1.0;1.0;,
2;
3;0,1,2;,
3;1,0,3;;
MeshNormals {
2;
0.0;-0.7071;-0.7071;,
0.0;0.7071;-0.7071;,
2;
3;0,0,0;,
3;1,1,1;;
}
}
------------------------------
DirectX Viewerではこれで期待通りに動作した。
681:デフォルトの名無しさん
07/08/07 10:00:42
だからモデリング時に面法線を使用した場合、エクスポートした時点でデータが入っているんだから、
これ以上グダグダ言っても始まらないだろ。
入っている物をそのまま使えばいいだけ。
逆に頂点ごとに法線が異なる場合は、モデリング時の指定かエクスポートの仕方が悪い。
結局データを読み込む段階に対処すべき話ではない。
682:デフォルトの名無しさん
07/08/08 00:19:30
面法線を設定したって表示は頂点法線なんだべ?
なんか勝手に反映されてるような気がしないでもないけどねw
されてねぇんかな?