トップページgamedev
1001コメント305KB

DirectX総合スレ (Part4)

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。2005/11/26(土) 01:58:58ID:RjcSZKi5
※「鬱だ氏のうスレ」と「DirectX総合スレ」は統合され、
 ゲーム製作技術スレに戻ってきました。

DirectXについて、にいさま達がマターリと
技術情報交換&雑談するためのスレッド。
初心者用相談室では扱わないような少し高度な話題も受け持つ。

ちなみに、言語はC++がメイン。
C# / VB.NET 使いは、専用スレの方が話がスムーズに進むと思われ。
0611名前は開発中のものです。2006/07/04(火) 20:08:01ID:2GeAh3qL
>>608
DirectXでは当たり判定はサポートしていない。
つまり当たり判定を実装する時点でDirectXは卒業だ。
卒業オメ。

俺は表示用のポリゴンデータを、自作のクラスで参照して判定している。
まだ開発中なので、負荷が大きかったら別の方法にするかも試練。
0612名前は開発中のものです。2006/07/05(水) 02:47:09ID:AA0c/IxG
DirectXでゲームを作ろうと思っているのですが
おすすめの参考サイトなどありますか?
サイトだけで習得は難しいならおすすめの本など教えていただけると幸いです。
06136082006/07/05(水) 12:03:49ID:9fHgYvfm
>>609
2Dシューティングの使う矩形の重なりの3Dばんですね。
これは考えていたのですが名称しらなくて、それでググってみると少し参考になるサイトが見つかったです。
ありがとうございます。

>>610
ローポリとかで作って同時に動かすって事でしょうか。
簡単なゲーム構成だと簡略処理で済ませるのがいいんでしょうけど、
アクション格闘などの、細かい接触判定が必要なものだとそうなるしかないのかな。

>>611
そんな卒業嬉しくないです・・・;;
今はゲームやシミュレータ等に汎用できるエンジンを探しているんですが、
メジャーといえるものが無いですね。不思議なぐらい。
自作出来るのはすごい羨ましいです。
どんな感じなのか見てみたいかも。
0614名前は開発中のものです。2006/07/05(水) 12:35:46ID:unzdCgi3
>>610だけど、アクションに関わらず、今まで開発に携わったことのある3Dゲームはあたりモデル作ってたよ。
3次元で作る場合もあれば床に線引いたりして作る場合もあり。
当然ローポリ。
0615名前は開発中のものです。2006/07/05(水) 14:34:03ID:HneA8e93
http://watch.impress.co.jp/game%2Fdocs/20051207/3dwa.htm
ワンダの衝突モデルは結構細かいな
0616名前は開発中のものです。2006/07/05(水) 20:44:28ID:x3O0NJsl
いや、釣りでも煽りでもなくってw

初心者が3Dゲームを作るスレ
http://pc8.2ch.net/test/read.cgi/gamedev/1148138668/126

あたりから、しばらく呼んでみるといいかも。
0617名前は開発中のものです。2006/07/08(土) 13:06:31ID:ACFxv2fG
DirectDrawの質問があるっす。32bitのDirectDraw サーフェスに24bitのビットマップを表示するにはどうすればいいんでしょうか?まさか1 ピクセルごと24>>32ビットへ変換をかけてからサーフェスに書き込むの...?
0618名前は開発中のものです。2006/07/08(土) 13:44:22ID:OYLE2qrh
それで何か問題があるのか?
0619名前は開発中のものです。2006/07/08(土) 13:55:19ID:ACFxv2fG
いやもっと効率のいい方法があると信じたい...ないの?
0620名前は開発中のものです。2006/07/08(土) 14:28:02ID:W2+p191U
>>619
というか、DirectDrawが勝手にやってくれるから気にしなくていいんじゃね?

別にそんな変換したって現行のCPUやGPUだったらどうって事ねえよ。

ナニ?Drawで1600x1200とかの高解像度ゲームでも作る気?
0621名前は開発中のものです。2006/07/08(土) 15:18:56ID:ACFxv2fG
レスども。変換しないでメモリーコピーすると表示されたビットマップの幅が3/4に縮む。CreateSurfaceで24ビットを指定してるのにどうして32ビットサーフェスを作ってしまうんだ DirectDraw ?

DirectDraw に限らず24ビットの絵を32ビット設定のプログラム上で表示する場合自前のコードで変換するのが普通?
0622名前は開発中のものです。2006/07/08(土) 17:39:34ID:USbsR/9J
初期化時に変換するって用途ならSurfaceに対しGetDCでデバイスコンテキストを
取得してBitBltで書き込めばいいよ。
0623名前は開発中のものです。2006/07/09(日) 02:46:44ID:nKVW2dEF
>>622
レスども。ダメでした。ビットマップとDCのビット数が違うので以前と同じような問題が起きます。

0624名前は開発中のものです。2006/07/09(日) 08:18:50ID:b3b7HSgV
自分で変換するのが嫌なのに、24bit固定でCreateSurfaceやCreateBitmapって…
0625名前は開発中のものです。2006/07/09(日) 10:13:29ID:cefs5RAm
世の中には不思議な人も居るんだよ。
0626名前は開発中のものです。2006/07/09(日) 11:45:15ID:q2AtlDQS
アンチエイリアスとダブルバッファはどちらかしか無理って聞きましたがどうなんでしょう?
0627名前は開発中のものです。2006/07/09(日) 17:07:34ID:4my5maS4
DirectXとは直接関係ないが、
紐の端をもって振り回すような動きを動的に作りたいんだが、
こいうのってどういう計算するの?
0628名前は開発中のものです。2006/07/09(日) 17:11:05ID:UTRkKu/N
そりゃ物理計算の話だろ
0629名前は開発中のものです。2006/07/09(日) 18:45:23ID:Ij7Ktmpl
紐というか鞭かもしれない
0630名前は開発中のものです。2006/07/11(火) 01:13:22ID:DOXoOtGw
ごく直接的にアプローチするなら、
紐をいくつもの接続点にバラして、
接続点の座標を配列でダダ持ちして、
末尾をテキトウに動かして、
その末尾から、接続された点の距離が一定になる様無理矢理補正して、
それは反対側の端っこまで繰り返す、

を毎フレーム繰り返す程度で、それっぽい動きになる。
重力とか欲しければ、各点の補正前に入れるか、
補正後に鉛直との成す角から求めて振り子すれば
さらにそれっぽくなる。

DirectX全然関係ないな。
0631名前は開発中のものです。2006/07/11(火) 23:46:53ID:pKd1iV/Y
>>630
根元の定点だけ決めて後は高校物理の「バネの公式」使っちゃうけどな。
振り子じゃないから角度がいらない。F=-kx(xは距離:つまり距離に応じて強い力が働く)
例えば鞭だったとして

↓定点
○―○―○―○―○―○―○―○―○―○―○―○―○―○―○
A  B  C  D・・・

って感じでやってA→B→C→D・・・の順番で計算。
式はF=maを使って運動方程式を使う。
バネなんで

ma = -kx

ってなって加速度がaだから

a = -(k/m)*x

で式たてる(k/m)は定数になるのでテキトーに少数いれとく。
あとは速度は一定時間ごとに加速が足されて、座標は一定時間毎に速度が足される式で近似。
なんで1フレームの座標sの計算は

v += a
s += v

(vは速度、aは加速度)って感じ。ってやったら変になったw
0632名前は開発中のものです。2006/07/11(火) 23:47:55ID:pKd1iV/Y
あ、重量入れ忘れたw

まあ、

F = F1 + F2 + F3 + F4 + ・・・

だから、勘弁してよw
0633名前は開発中のものです。2006/07/13(木) 00:26:07ID:TyeG1gYA
LunaLibraryとかを見ると
IDirect3DDevice9の管理、生成を行うクラスを作って
他のクラスからはGetメソッドを使ってデバイスへの参照を返すっていう形になっていますが
関数呼び出しのオーバーヘッド分無駄が多い気がします。
速度重視の場合、デバイスはグローバル変数で宣言し直接参照するほうがいいんでしょうか。
0634名前は開発中のものです。2006/07/13(木) 00:49:50ID:GfzfWPT9
ヒント:インライン展開
0635名前は開発中のものです。2006/07/13(木) 01:16:28ID:lClAfdVw
>速度重視

いつも思うんだが、ゲームプログラムは最速目指さなきゃならんって信仰は
いったい誰が植えつけてるんだ?
しかもコスト的にどーでもいいところからこそ攻めようとするし。

>>633
関数呼び出しのオーバーヘッドなんて、stdcallでもたかが知れてるぞ。
ループの中でバリバリ呼び出す関数なら別だが、更新フレーム中
ほんの数回しか呼び出さない関数でそんなの気にしても無駄。
それにGetterメソッドなんて>>634の言うとおり大抵インライン展開されてゼロコスト。
毛髪の心配した方がまだ建設的。
あきらめてユニセフに募金しろ。
0636名前は開発中のものです。2006/07/13(木) 07:09:52ID:YglXpl8R
>>633
関数呼び出しのオーバーヘッドなんて問題になるわけねーだろw
しねよw
「気がします」とか直感にしても感性腐り過ぎだろw
0637名前は開発中のものです。2006/07/13(木) 07:39:20ID:0h5qQQGP
>>633
試しにGetメソッドとグローバル変数とでどのぐらい差があるか調べてみればいい
0638名前は開発中のものです。2006/07/13(木) 19:14:31ID:i69EfZ9e
>635も>635で大事な話をいくつか聞き逃してそうだけどな
0639名前は開発中のものです。2006/07/13(木) 20:08:24ID:1ACraXvk
日本ユニセフって、ユニセフと別組織なんだよな。
0640名前は開発中のものです。2006/07/13(木) 21:41:50ID:lClAfdVw
>>638
詳しく
0641名前は開発中のものです。2006/07/13(木) 23:06:34ID:i69EfZ9e
>>640
多数のビルボードを表示するような重いゲームでは、
それらの描画にかかるGPUの負荷だけでなく、
管理にかかるCPUの負担も大きくなります。

ゲームプログラミングにおける速度信仰はそう一般化して否定できるほど
バカバカしいものではないと思います。
0642名前は開発中のものです。2006/07/13(木) 23:16:20ID:YglXpl8R
まだSTG作るの?
いい加減他のゲームも作れよw
0643名前は開発中のものです。2006/07/14(金) 00:14:38ID:KD0L/FL5
>>641
多数のビルボードって何十万枚も描画するつもりなのか?
レンダリングのコストに比べればはっきり言って馬鹿にして無視できるコストにしかならない。
0644名前は開発中のものです。2006/07/14(金) 00:45:10ID:4uA7ea59
マジレスするとGet()メソッドなんかよりDrawPrimitive()のコールの方が圧倒的に重い。
ビルボードなんて毎フレームバッファ再生成してDrawPrimitiveは数コールしかしないだろうから関係ないが。
0645名前は開発中のものです。2006/07/14(金) 08:39:01ID:ZHq6gtdp
いくつかの変数だけLPSTR型なのは嫌がらせでつか
新しいSDKだと変わってるのかな
0646名前は開発中のものです。2006/07/14(金) 13:30:34ID:lwA2DsaL
ぶっちゃけDirectXって放ったらかしになってるメッソドとか
誰が管理してるんだかわからなくなってる機能とか
ごろごろしてるよね。
お前らどうやって勉強してやがるんですか。
0647名前は開発中のものです。2006/07/14(金) 19:42:10ID:u+9tHsIV
勉強か
まーがんばって
0648名前は開発中のものです。2006/07/14(金) 22:14:54ID:8AAUZ/nw
>>643
エフェクトで贅沢したら普通に何万は行くぞ
0649名前は開発中のものです。2006/07/14(金) 23:00:01ID:KD0L/FL5
それを別々のビルボードにバラバラに描くつもりなのか?
アホにも程がある。
そもそも贅沢しようというエフェクトをビルボードだけでやるという前提が無能の極み。
0650名前は開発中のものです。2006/07/14(金) 23:39:13ID:bx4Ze0q1
まぁカッカすんな。
少し頭冷やせや。
0651名前は開発中のものです。2006/07/15(土) 00:13:42ID:gFpTGcdy
何をどう実装しようと勝手だけど、負荷の重い処理に挙げられてるのが
線形負荷のロジックって時点で釣り確定だな。
衝突判定の類でも持ち出してくれてれば、まだ食いつき甲斐があるものを。
0652名前は開発中のものです。2006/07/15(土) 00:18:23ID:O6G7FheZ
たくさんビルボード使う場合には、描画以外の部分の
速度も重要になりうる、ということは確かなわけだな。

たくさんビルボード使う場合そのものを回避することが
できるか否かはまた別の話として。
0653名前は開発中のものです。2006/07/15(土) 00:47:33ID:zHQ2gbVz
線形負荷でもデータが10倍ならかかる時間も10倍ですよ
0654名前は開発中のものです。2006/07/15(土) 00:54:28ID:eKTW3dUk
キャッシュの問題とかもあるから10倍じゃすまない事も多々あるけどな
0655名前は開発中のものです。2006/07/15(土) 02:28:56ID:TR3vL5Wt
>>652
>たくさんビルボード使う場合には、描画以外の部分の速度も重要になりうる、ということは確かなわけだな。
なにそれ。
数字だしてよ。
0656名前は開発中のものです。2006/07/15(土) 02:37:22ID:yaYd/ty8
>たくさんビルボード使う場合そのものを回避することが
>できるか否かはまた別の話として。

この考えが間違っているんだよ。
誤差程度にしか影響のない部分を直すより、ビルボードの数を減らす事を考えた方が速度的に圧倒的に優位。
それを別の話にしようとする時点で、問題解決能力の欠如が如実に表れている。
0657名前は開発中のものです。2006/07/15(土) 03:02:03ID:O6G7FheZ
>>655
ビルボードの管理で処理速度が問題になるのはどんくらいの
オーダーでの話なのかとかその処理時間とか、ちゃんと計算
してみせろ、到底問題になるとは思えんぞ、という話だな。

>>656
引用部は、単に話が二つあるってだけの意味なんだよ。
> 誤差程度にしか影響のない
かどうかが問題となってるところ(>643と>648)なんで、
その話を先にきっちり済ませたほうがいいと思うよ。
片付けないまま話をどんどん転がしてくのは悪い癖だと思う。

レッテル貼りより、「実際問題になるのかどうか数字だしてみそ」
とか、簡単な指摘をしてやった方が健全な話し合いだと思うなあ。
話が早く済むし。
0658名前は開発中のものです。2006/07/15(土) 06:16:53ID:XZjHnVha
と自分で数字を出せない>>657がのたまっております
0659名前は開発中のものです。2006/07/15(土) 08:06:53ID:TR3vL5Wt
>>658
なぁ。
どう考えたって関数呼び出しのコストなんてウンコみたいなもんの削減に力入れてるのなんて
馬鹿にしかみえないもんなぁ。
しかも、たった数万でこの騒ぎw
>>657←ウンコはお前だし、はじめに言い出したのもお前なんだから、お前が数字出して問題あるコストである証明をしてみせろよ。
でなけりゃ>>657は嘘吐き&ホラ吹き野郎決定。
0660名前は開発中のものです。2006/07/15(土) 08:08:13ID:TR3vL5Wt
読んだら違う奴じゃん。

>>657
>>652
0661名前は開発中のものです。2006/07/15(土) 08:13:05ID:RkdA+c54
何種類か作ってみればいいじゃん。それで一番軽いの採用すれば?
実験体作るのいやだから、どんな種類がいいか人に意見聞いといて
自分と意見違うからごねるって??なら、最初から自分の信じた道を進めばいいじゃん。

誰がどう見ても効率の悪い話なのに、それしか信じられない人なんてほっとけばいいじゃん。

プログラム書けても、中身小学生ですか?
と、フルスクリーン切り替えウィンドウが出ただけで大喜びの暇人が申しております。
0662名前は開発中のものです。2006/07/15(土) 11:47:56ID:JNRTuJ2n
数字なんてチップベンダのスライドで良いじゃん。

http://www.atmarkit.co.jp/fdotnet/directxworld/directxworld01/directxworld01_03.html

シーンがCPU律速なら、これの影響をモロに受けるってだけの話でしょ。
0663名前は開発中のものです。2006/07/15(土) 11:48:41ID:t8QjCB9b
>>661
ゆとりの賜物
0664名前は開発中のものです。2006/07/15(土) 12:40:31ID:zHQ2gbVz
多対一で袋叩きにしてるときの揚げ足取り、
レッテル貼りがいつでも通用すると思ってるあたりが
0665名前は開発中のものです。2006/07/15(土) 12:40:51ID:gFpTGcdy
フルスクリーン切り替えも真面目にやると、普通にDirectXのサンプルになってくね。
いやまあ、サンプルがそう作ってあるのは当然なんだし、そうじゃなきゃサンプルとして困るわけだけど、
全画面化切り替えとデバイスのロスト->復元に、あんなにいっぱいフックかまさなきゃいけないだなんて
思っても見なかったんだ。

これも勉強だと思って真面目に書いたら2日くらい使った。
もうぬるぽ。
0666名前は開発中のものです。2006/07/15(土) 14:25:00ID:9C81t0A0
>>656
重いなら減らせばいいって考えは一番低脳。
そんなことは考えるまでもなくわかってる事だし、

ビルボードのエフェクトが重いというなら
何処が実際にボトルネックになっているかをきちんと調べることが大切。

重いからポリゴン減らせばいいとかアホでもできる。
0667名前は開発中のものです。2006/07/15(土) 16:53:57ID:yaYd/ty8
ポリゴン数を減らしてつつフェクトの質を落とさないように考える部分なのに、
ビルボードに限定していることとい、まともに3Dを扱えていない事が丸分かりになってるな。
0668名前は開発中のものです。2006/07/15(土) 17:10:48ID:zHQ2gbVz
質を落とさないように工夫して、って言ったところで結局はごまかしなんだから
ポリゴン数やビルボードの枚数減らせば不自然な状況ができるわな。

昔は爆発とかは一枚の大きなビルボードで表現されていたが、
今は複数枚重ね合わせるのが一般的。
0669名前は開発中のものです。2006/07/15(土) 17:48:25ID:9C81t0A0
ビルボードの処理で負荷かかるのは大抵CPUかPSだろう。
フィルレートが足りないなら縮小バッファを使うとか出来るし、
CPUが厳しいなら最適化できる場所があるかどうかまずは調べるだろ。

ビルボードでエフェクト出した>重かった>じゃぁ減らせばいいや
これじゃ進歩がない。

最近のGPUでVSが吊るなんて事はそうそうないしポリゴン数
減らして軽くなるって状況はあまりないとは思うけどね。
0670名前は開発中のものです。2006/07/15(土) 17:52:56ID:yaYd/ty8
多数を重ねる必要のある処理をビルボードでやろうとする時点で選択が間違っている。
馬鹿の一つ覚えは結構だが、UVを適切に設定してまとめて描くだけで、
ビルボードでごちゃごちゃやるより遥かに速度が改善する。
0671名前は開発中のものです。2006/07/15(土) 18:01:08ID:9C81t0A0
いくらなんでもビルボード1枚描く毎にDrawPrimitiveするヤツは今さら居ないだろ。

普通はデカイ頂点バッファをDYNAMIC|WRITEONLYで作成して
DISCARDロックして一括で転送してからDrawPrimitiveするだろ。

1枚ずつDrawPrimitive呼んでたらあっちゅーまにCPUが吊る。
0672名前は開発中のものです。2006/07/15(土) 18:01:14ID:zHQ2gbVz
それじゃ奥行きがないから壁際で不自然になるだろ。
0673名前は開発中のものです。2006/07/15(土) 18:19:58ID:GVyyjTFs
>>672
えっ?冗談?ネタ?なんで全ての深度を同じに考えるわけ?
0674名前は開発中のものです。2006/07/15(土) 20:08:08ID:zHQ2gbVz
ビルボード一枚ならZ値全部同じになりますよね
0675名前は開発中のものです。2006/07/15(土) 20:25:58ID:zHQ2gbVz
念のため訂正。ピクセルシェーダ使えば場所によってZ値変えられるな。
でもペラペラの板一枚なことにはかわりない
0676名前は開発中のものです。2006/07/15(土) 20:45:41ID:9C81t0A0
てかZ値はいくらでも変えられるだろ・・・
ビルボードだから変えられないってのもおかしかろう。
0677名前は開発中のものです。2006/07/15(土) 21:04:03ID:zHQ2gbVz
大爆発を小爆発の重ね合わせで表現する時に、
テクスチャに小爆発を重ね合わせたあと一枚のビルボードとして
表示って話だろ?これで一個一個の小爆発の奥行きの違いを考慮した
描画ができるっていうんなら本気で教えてほしい
0678名前は開発中のものです。2006/07/15(土) 21:34:31ID:ks/FUbUb
>>677
も、も、もしかして>>671を理解できてない?そうだよね?
0679名前は開発中のものです。2006/07/15(土) 21:36:57ID:zHQ2gbVz
志村ー書き込み時間書き込み時間!
0680名前は開発中のものです。2006/07/15(土) 21:51:54ID:O6G7FheZ
ビルボードを常に投影面と平行にしておくとか。
さすがに用途が限られすぎるか。
0681名前は開発中のものです。2006/07/15(土) 22:27:38ID:Cap5P+JI
672は671へのレスだと思ってたら
6秒でレスすんのは無理あるなw
0682名前は開発中のものです。2006/07/15(土) 22:31:32ID:4ZNOOjZE
ビルボードに法線マップ適応して、凸面表現してるゲームがあったな。
ディスプレイメントマップ使えばできるんじゃないのか?
0683名前は開発中のものです。2006/07/15(土) 22:56:50ID:9C81t0A0
法線突っ込んでライト適用するだけでも
煙とかならかなりそれっぽく見えるよ。
0684名前は開発中のものです。2006/07/15(土) 23:09:16ID:gFpTGcdy
ワンダがやってた奴だな。
実際に入れてみたら気持ち悪いほど立体感が出て吹いた。
爆発の中心にライトを置いたりすると、とてもいい感じ。
0685名前は開発中のものです。2006/07/16(日) 08:22:59ID:2CI6paP3
>>615
いまさらコレ読んでるけどすげーなあw
理屈は分かるけど俺には到底実装できねえ
と言うかマンパワーだな、擬似HDRのところとか
0686名前は開発中のものです。2006/07/16(日) 12:03:12ID:y8b9fXcQ
確かにシーン分けてHDRって考えは思いつかなかったな。
PS2でHDRやったときは高輝度部分をαに仕込んでポストエフェクトで実装してた。
0687名前は開発中のものです。2006/07/16(日) 17:14:14ID:zTx/driS
普通そんなもんじゃね?
ワンダのはちゃんと明暗順応までやってんのが偉い。
効果的だったかは微妙だと思うけど…。
06886032006/07/17(月) 11:02:29ID:dKyqZEBl
>>604-606
ありがとうございます。
とりあえずこの方法でやってみます。
0689名前は開発中のものです。2006/07/17(月) 11:38:59ID:wbRi9CMp
本当にありがとうございます。
0690名前は開発中のものです。2006/07/17(月) 13:31:52ID:Ew1uKIXv
warning LNK4089: 'd3dx9_30.dll' へのすべての参照は /OPT:REF によって廃棄されます。
と警告がでました。どうすれば消せますか?
0691名前は開発中のものです。2006/07/17(月) 13:43:01ID:EcSBK9Cg
ほっといておk
0692名前は開発中のものです。2006/07/17(月) 21:01:12ID:yqyDWK9Y
xファイルを,テキスト,バイナリ,圧縮それぞれ相互変換させるプログラムを作成してます.
DirectXのAPI使ってます.

テキスト,バイナリファイルの書き出しは可能なのですが,圧縮ファイルの書き出しがうまくいきませぬ.
APIリファレンスによると,
CreateSaveObject(LPCSTR szFileName,DXFILEFORMAT dwFileFormat,LPDIRECTXFILESAVEOBJECT* ppSaveObj)
関数を使用して,第2引数をァイルフォーマットの値を論理和,つまり,テキスト圧縮なら3, バイナリ圧縮なら2を与えているのですが,
通常のテキストファイル,バイナリファイルが書き出されてしまいます.原因がまったくわかりません.
0693名前は開発中のものです。2006/07/17(月) 21:10:11ID:ypfzWSTB
D3DXF_FILEFORMAT_COMPRESSED | D3DXF_FILEFORMAT_TEXT
ってやってみたら?
06946922006/07/17(月) 21:17:10ID:yqyDWK9Y
D3DXF_FILEFORMAT_COMPRESSED | D3DXF_FILEFORMAT_TEXT
これでも,無理です.
0695名前は開発中のものです。2006/07/17(月) 21:19:12ID:QgVf2wxt
http://pc8.2ch.net/test/read.cgi/tech/1144878498/827
0696名前は開発中のものです。2006/07/17(月) 21:19:59ID:v3Jm670I
原因は知っているが、マルチが酷いので教えない。
0697名前は開発中のものです。2006/07/17(月) 21:21:38ID:v3Jm670I
http://bbx.hp.infoseek.co.jp/cgi-bin/bbx.cgi?log=50&vew=29
0698名前は開発中のものです。2006/07/17(月) 21:30:28ID:8U+jTiMn
今すごいマルチを見た。
06996942006/07/17(月) 21:46:15ID:yqyDWK9Y
すんません.普通にせっぱつまって‥‥
マルチの意味調べました.ほんとうにすんません.
0700sage2006/07/18(火) 13:26:22ID:UjB+shQk
いいよ。俺が許す。君が許さないなら俺が許すさ。
07016992006/07/18(火) 18:26:53ID:VaTIewRP
どうもです・・・
0702名前は開発中のものです。2006/07/19(水) 07:09:04ID:LcYsaovE
Aero Glassって…orz
0703名前は開発中のものです。2006/07/20(木) 00:02:15ID:GCIK/EH+
struct COLOR_POINT
{
D3DXVECTOR3 vecCoord;
DWORD dwColor;
};
COLOR_POINT ColorPoint[2]=
{
D3DXVECTOR3(-0.5,0.3,0),D3DCOLOR_ARGB(255,255,0,0),
D3DXVECTOR3(0.5,0.2,0),D3DCOLOR_ARGB(255,0,255,0)
};
g_CGraphic.GetD3DDevice()->SetFVF(D3DFVF_XYZ | D3DFVF_DIFFUSE );
g_CGraphic.GetD3DDevice()->DrawPrimitiveUP(D3DPT_LINELIST,1, ColorPoint, sizeof(COLOR_POINT));

で色つきのラインを描画しようとしています。
ですが黒色のラインがでてしまいmす、原因をして何が考えられますでしょうか?
深度バッファとかをしようしていますが特に関係ないですよね。
0704名前は開発中のものです。2006/07/20(木) 00:12:24ID:mIj150M6
>>703
とりあえずライティングオフにしてみなさいよ。
0705名前は開発中のものです。2006/07/20(木) 00:15:10ID:GCIK/EH+
なおた、ありがと
0706名前は開発のものです2006/07/23(日) 16:22:09ID:CcOloUuB
ふぅ、やっとこさID3DXMeshを使って表示できました。
「よし次は、当り判定だぁぁ」と思ったのですが、ちと行き詰りました。

頂点バッファに格納されている局所座標の座標値が、ワールド座標へ
座標変換された値は、どうやってとりだすのだぁぁとなってしまいました。

もふかして、頂点バッファから頂点データを取り出し、自前で、
ワールド座標座標変換を行う必要がいるのでしょうか?

お手数ですが、何卒ご教授して頂きたくお願い致します。

0707名前は開発中のものです。2006/07/23(日) 17:14:48ID:qcAtV1Kn
>>706
メッシュとメッシュで当り判定しようとしてんの?
普通は当り判定用の球(中心と半径)とか箱(縦横高)とかを
モデルとは別に用意、もしくはモデルから算出して、それ同士でヒットチェックを行う。
0708名前は開発中のものです。2006/07/23(日) 17:34:03ID:C0LZTCVs
ポリゴン単位の判定では局所でデータを持っているはずだから、
当たり判定の座標データを局所に変換してやればいい。

局所→ワールドに変換する行列があるはずだ。
それの逆行列を求める関数もある用意されているはずだ。

あとは当たり判定の座標データを、
逆行列を用いてワールド→局所に変換すればいい。

当たり判定で決定される座標データは局所だから、
必要に応じてワールドに変換する。

ベクトルは直には変換できないから、専用の変換をするか、
始点終点を変換してからベクトルを求めるといい。
0709名前は開発のものです2006/07/23(日) 18:06:47ID:CcOloUuB
707,708様、回答ありがとうございます。
ふむふむ、バウンディングでの当り判定は、別値として持って演算し、判定するのですね。

つぎに、ポリゴン同士の当り判定になった場合は、一方の構成している局所座標から
局所座標への座標変換を考えればいいのですね。

と、なると、
一方の局所座標へ変換を行うのであれば、構成している頂点データ全て座標変換処理が必要になるのですね。

ふむふむ、少し光が見えてきましたぁぁ。(これは、DirectX側で
処理する関数は、ないんでしょうか?)
0710名前は開発中のものです。2006/07/23(日) 18:09:53ID:qn4GamnK
Xファイルから立方体を読み込み、頂点の数、位置を取得したところ
頂点の数は24個だったのですが、これだと1面あたり頂点の数は
4個ということになりますよね。
しかし、三角形のポリゴンで立方体を作ると頂点の数は36個、
1面あたりの頂点の数は6個になりますよね。こうなるように
頂点の情報を取得したいのです。

要は、Xファイルの頂点の情報を三角形のポリゴン単位で取得したいのですが
どのようにすればいいでしょうか?

ご教授お願いします。

■ このスレッドは過去ログ倉庫に格納されています