1 名前:名前は開発中のものです。 [04/05/05 12:33 ID:dP7V/vQq] DirectXについては基本このスレで話していこうとものです。 基礎的な質問+高度な質問も簡潔かつ簡単に答えることをモットーにして頂き このスレの回転を早めて常にアクティブなスレにしたいと思っております。 このスレに質問等を書かれる方はまず最初に自分でしっかりと調べたのちに聞かれることをお願いします。 質問に対する答えも簡潔に出来る限りわかりやすくお願い致します。
287 名前:名前は開発中のものです。 [04/07/25 09:44 ID:mxjAoDQK] ここはひどい日本語でつね
288 名前:ヘルジャック [04/07/25 10:21 ID:ovE6k6xQ] combatant.hp.infoseek.co.jp/cgi-bin/up/src/up0262.zip 漏れが作ったんだけど ちょっとこれを改良して
289 名前:名前は開発中のものです。 [04/07/25 10:35 ID:rIHwuKxk] >>288 ヘルジャックさ、 現在のフレームのキャラクタの位置を決定してから マップの表示範囲を決めるようにしないか? つまりマップの描画にはキャラクタの座標が必要になるわけだが。
290 名前:名前は開発中のものです。 [04/07/25 10:36 ID:XPpA5MG/] 誘導されてきたのですが 質問いいですか? ビルドしてVCから実行するとHALで起動して普通に実行できるのですが、EXEファイルを 直接実行するとREFになっていますみたいなメッセージがでてその後 Geniric application error.Enable debug output for detailed information. とメッセージがでて強制終了します。強制終了する前にプロパティをみると REFになっています。 直接起動するとなぜREFで起動するのかとメッセージの意味がよくわからないのですが教えてもらえませんか。 使用ソフトはVisual Studio AcademicでビデオカードはGeforceFX5200です。
291 名前:ヘルジャック mailto:sage [04/07/25 10:38 ID:ovE6k6xQ] 主人公が画面の真ん中にくるような処理ね あと obj.cppがスプライトやってるんだけど y座標でソートしてからキャラを描写したいんだけど リスト構造のソートのやり方がよくわからないから 教えて
292 名前:名前は開発中のものです。 mailto:sage [04/07/25 10:40 ID:ovE6k6xQ] >>288 操作は Alt+Enterがフルスクリーン 1キーがキャラを生成 Deleteで削除
293 名前:名前は開発中のものです。 [04/07/25 10:46 ID:rIHwuKxk] >>290 それだけじゃわかんねぇよw >>291 そのまえに2DなのにY座標でソートして描画すんの?
294 名前:ヘルジャック mailto:sage [04/07/25 10:50 ID:ovE6k6xQ] キャラが重なったとき 下にいるキャラの頭でそのキャラの上のキャラの足が隠れるようにしたいんだ なんか今のはオブジェの生成した順番になってるから描写すると変な重なりに見える
295 名前:名前は開発中のものです。 [04/07/25 11:10 ID:rIHwuKxk] >>294 ああ、そうか、とりあえずゲームの世界は構築してあるな。 Y座標が画面からみて奥行きになるわけね。 リストのソートがわからないのも問題だけど この場合はこのリストはソートしない方がいいな。 だってこれ、スプライトのリストじゃん。Y座標のソートと関係ないよ。 必要なのは描画するときだけで、フレームごとに変わるんだから、 こういうときは、一時的に関数内でポインタの配列を作って、リストの要素のポインタ一つ一つを 用意した配列にとっちゃってそれをソートするんだ。 これで配列のソートと同じだ。 言ってること理解できるかな? ポインタをとってポインタをソートするんだ。
296 名前:295 [04/07/25 11:18 ID:rIHwuKxk] おっと間違え。 スプライトのリストじゃなくてオブジェクトのリストか。 まあ、それでもソートはしちゃ駄目だね。 て、いうかリストの順番に意味をもたせるのはあんまりよくないんだな。
297 名前:名前は開発中のものです。 mailto:sage [04/07/25 11:19 ID:ovE6k6xQ] >>295 dクス ポインタの配列を作ってそれを描写か combatant.hp.infoseek.co.jp/cgi-bin/up/src/up0263.zip とりあえずBGMを付けてみた なんだか難しそうだがやってみまつ
298 名前:名前は開発中のものです。 [04/07/25 11:29 ID:rIHwuKxk] >>297 >なんだか難しそうだがやってみまつ 楽勝でしょ? でも、自分で考えようとするとハマルかもw そういうときは手順をしっかり書いて見る 1.十分な数のポインタ配列を用意。(もしくは可変配列) 2.オブジェクトリストのポインタを全部ポインタ配列にとる。 3.Y座標でソートする。 (一番楽なソートをアルゴリズムの本をみるなり、どっかのサイトからパクッてこい。) (この手のものいちいち自分で作ってると日が暮れるぞw) 4.できた配列を元にして描画する。 で、終わりだ。
299 名前:名前は開発中のものです。 mailto:sage [04/07/25 11:33 ID:aCl1Aoq6] >>290 そういうのは、やはり実はエラってるってケースが多い。 DXをデバッグバージョンにしてログをみるといい。
300 名前:名前は開発中のものです。 [04/07/25 11:45 ID:rIHwuKxk] >>290 ,297 #include <crtdbg.h> _CrtSetDbgFlag(_CRTDBG_ALLOC_MEM_DF|_CRTDBG_LEAK_CHECK_DF); じゃあ、おまいら、とりあえずメモリリーク支援なw 上のヘッダをインクルードして、関数をWinMain関数がはじまってすぐのところにそのままおけ。 デバッグモードで実行してみればアウトプットウィンドウになんか出るからみてみろ。 特にヘルジャック、メモリリーク出してるぞ。 ダブルクリックで飛べないから、結構みつかりにくいな。 ひとつひとつ要素を削ってってメモリリークの有無を確認して場所を特定していくしかないな。 頑張れ。
301 名前:名前は開発中のものです。 mailto:sage [04/07/25 13:04 ID:ovE6k6xQ] >>300 すぐにどこがメモリリークしているかわかったぜ Mapで確保したメモリをfreeしていないのと Script クラスも解放していなかったからだ でもねタスク処理でアプリの終了時に全タスクkillはメンド
302 名前:名前は開発中のものです。 mailto:sage [04/07/25 13:08 ID:z6Ypme9P] >288 DirectXとは関係ないけど、個人的志向として言いたい。 タスクの関数ポインタをvoid *で持つ意味ないだろ。 > void (*proc)(struct task_tag *); 何でもありのCスタイルとはいえ、無意味な型安全性の損失は如何なものか。 と書いたところで、君が m.minami とやらではなさそうだな。 >300 「プログラムの終了時にはどうせOSが解放するからfreeしない」 というタイプの人なんじゃないの?
303 名前:ヘルジャック mailto:sage [04/07/25 13:12 ID:ovE6k6xQ] WM_DESTROYでTaskAllKillがコールされるようにしたら リークはでなくなったようだけど アプリを閉じるとブレークポイントがどうのって画面がでて一時停止するようになっちゃった それと ポインタの配列にコピーしてそれを描写にはしたけど バブルソートがいまいちうまくいかない
304 名前:名前は開発中のものです。 mailto:sage [04/07/25 13:43 ID:vVa7R8jb] お前たち、ここは DirectXスレですよ! 最近の流れの話題は、べつの適切なスレでやって欲しい
305 名前:名前は開発中のものです。 mailto:sage [04/07/25 13:46 ID:cf02RjbN] まぁいいじゃね、話題も無かったし たまにはこういうレベルの話も、ほのぼのして良い
306 名前:名前は開発中のものです。 mailto:sage [04/07/25 14:02 ID:AJso40ZZ] 夏休みの間くらいガンマンしてやれ。バキューン
307 名前:名前は開発中のものです。 [04/07/25 15:59 ID:rIHwuKxk] >>303 >バブルソートがいまいちうまくいかない だからその辺のソースパクッてこいっていっただろう。 こんなの自分で組んじゃうような効率の悪さじゃ仕事進まんよ。 たかがバブルソートでも、1から組んでたら、 動作確認してバグや抜け探すだけで、俺だって30分近くかかっちゃうよ。 バブルソートは完璧に動くのが前提ってところから開発していかなきゃ。 いつまでたってもゲームなんか完成しないよ。 www.google.co.jp/search?q=%E3%83%90%E3%83%96%E3%83%AB%E3%82%BD%E3%83%BC%E3%83%88%E3%80%80%E3%82%BD%E3%83%BC%E3%82%B9&ie=UTF-8&hl=ja&lr=
308 名前:ヘルジャック mailto:sage [04/07/25 16:19 ID:ovE6k6xQ] こんな感じに実装したんだけど なんか実行してみると重なりはおかしいまま OBJ **obj_sort(int prio) { OBJ *ObjList[OBJ_MAX];// オブジェワーク OBJ *o = ObjTop; OBJ **OA = ObjList; //オブジェのリストを取る while (o != NULL) { *OA=o; OA++; // リストを進めます o = o->next; } //ソート部分 return BubbleSort(ObjList); }
309 名前:ヘルジャック mailto:sage [04/07/25 16:19 ID:ovE6k6xQ] OBJ **BubbleSort(OBJ **o) { OBJ *temp; // ソーティング(Y座標にてソート) for (int i = 0; i < ObjCnt - 1; i++) { int sort = 0; for (int j = 0; j < ObjCnt - i - 1; j++) { if (o[j]->obj_y > o[j + 1]->obj_y) { temp = o[j]; o[j] = o[j + 1]; o[j + 1] = temp; sort++; } } if (sort == 0) break; } return o; }
310 名前:ヘルジャック mailto:sage [04/07/25 16:20 ID:ovE6k6xQ] void obj_draw(TASK *t) int x0 = map_x >> 8; // マップのどの位置を表示するか決める int y0 = map_y >> 8; int x1 =((map_x & 0xff) >> 3) & 31; // スクロールのあまり int y1 =((map_y & 0xff) >> 3) & 31; int x,y; int s=0; // オブジェ描写 OBJ *o = ObjTop; OBJ **a; a=obj_sort(0); while (o != NULL) { o=a[s]; s++; if (o->stat==NOW_USE) { x=*o->obj_x+o->dx-(32*x0)-x1;y=*o->obj_y+o->dy-(32*y0)-y1; if(x<640&&y<480&&y+o->h>0&&x+o->w>0)//見えない部分まで描写しない DD_DrawBitmap(x,y, Bitmap[o->tex_no],o->xx,o->yy,(o->xx+o->w),(o->yy+o->h),o->Trans); } // リストを進めます //o = o->next; if(s>=ObjCnt)o=NULL; } }
311 名前:名前は開発中のものです。 mailto:sage [04/07/25 16:36 ID:cH8/Nm1o] >OBJ *ObjList[OBJ_MAX];// オブジェワーク obj_sort関数は最終的にこの配列へのポインタを返してるようだが、 この配列はスタック上に取られてるからobj_sort関数から帰ったときにはもう無いぞ。 とりあえず↓にしてみなさい static OBJ *ObjList[OBJ_MAX];
312 名前:ヘルジャック mailto:sage [04/07/25 16:44 ID:ovE6k6xQ] かーっ なんでうごかないのか! とりあえずソートの昇順 降順 を入れ替えて見たら OBJ **BubbleSort(OBJ **o)の if (o[j]->obj_y > o[j + 1]->obj_y) { を if (o[j]->obj_y < o[j + 1]->obj_y) { 主人公が手前に表示されるようになっているからポインタの内容は失われていないみたい OBJ **BubbleSort(OBJ **o) がおかしいのか
313 名前:ヘルジャック mailto:sage [04/07/25 16:47 ID:ovE6k6xQ] combatant.hp.infoseek.co.jp/cgi-bin/up/src/up0262.zip のobj.cppにバブルソートを実装してくださるとうれしい
314 名前:ヘルジャック mailto:sage [04/07/25 17:14 ID:ovE6k6xQ] if (o[j]->obj_y > o[j + 1]->obj_y) { 原因が分かりました えーと if (*o[j]->obj_y > *o[j + 1]->obj_y) { にすると改善 つまり今までは *がなかったために obj_yのポインタのアドレスでソートしていたのでした.
315 名前:名前は開発中のものです。 mailto:sage [04/07/25 18:18 ID:ovE6k6xQ] combatant.hp.infoseek.co.jp/cgi-bin/up/src/up0264.png
316 名前:名前は開発中のものです。 [04/07/25 22:01 ID:rIHwuKxk] >>315 おおー。できてんじゃん。 一日で大した進歩だと思うよ。いやマジで。
317 名前:ヘルジャック mailto:sage [04/07/25 23:07 ID:ovE6k6xQ] >>316 てへ (*^_^*) どうも リスト構造の並び替えはしない とかとても勉強になりました.
318 名前:名前は開発中のものです。 mailto:sage [04/07/26 23:06 ID:V6gmIHxA] ボスケテー ウィンドウモードで D3DPRESENT_PARAMETERSの PresentationInterval=D3DPRESENT_INTERVAL_DEFAULT としたら、 ディスプレイは60Hzで動いてるのにFPS45しかでないよーヽ(;´Д`)ノ カクカク ナンデダロ D3DPRESENT_INTERVAL_IMMEDIATE にするとFPS300くらいでヌルヌルポ動くのに
319 名前:名前は開発中のものです。 [04/07/26 23:24 ID:6Ccm5Gt6] >>318 他のアプリ、例えばDirectXのサンプルでも同じ動作をするのか? また、手持ちの他のグラボは試してみたか? また、ドライバは更新してみたか? と、色々いじってみなきゃわからねーよ。マジで。
320 名前:名前は開発中のものです。 mailto:sage [04/07/26 23:44 ID:CLA4c8LP] 描画が間に合わないフレームあんじゃなの?
321 名前:名前は開発中のものです。 mailto:sage [04/07/26 23:44 ID:V6gmIHxA] >>319 他のアプリやらサンプルでもそうなんです。 グラボ1コしかナッシングなんです。ていうかノーパソ。 ドライバ一番新しいんです・・・・ どこから切り込めばよいのやら_| ̄|○ 鬱だ
322 名前:名前は開発中のものです。 mailto:sage [04/07/26 23:46 ID:V6gmIHxA] >>320 いえ、同期なしだと300とか出るんですよ ていうか何も描画しないでPresentだけしてもFPS45とか_| ̄|○ イッタイナンナンダ
323 名前:名前は開発中のものです。 mailto:sage [04/07/26 23:48 ID:CLA4c8LP] なんだ、液晶モニターってフレーム間引いて表示してるのあるべ?
324 名前:名前は開発中のものです。 mailto:sage [04/07/26 23:56 ID:V6gmIHxA] 表示の問題なのけ? 1秒間にループ回った回数を表示させても45なのでしが いや流石の俺でも目視でFPS45とか測れないべ
325 名前:名前は開発中のものです。 [04/07/26 23:57 ID:6Ccm5Gt6] >>321 それじゃ、心配ナッシングw もう、どうすることもできないんだからw 同期無しにして、タイマーでテキトーに画面更新しとけば?w ノーパソ買った自分を恨めw ところで、ノーパンとノーパソって似てねぇ?
326 名前:名前は開発中のものです。 mailto:sage [04/07/27 00:10 ID:o1CoEu/t] >>302 void * 意外にどうやって関数ポインタを持つ
327 名前:321 mailto:sage [04/07/27 00:26 ID:XAPogr5S] (゚∀゚)フッキレタ!
328 名前:名前は開発中のものです。 mailto:sage [04/07/27 01:00 ID:JfK87rJL] >326 >302にも書いてあるけど void (*proc)(struct task_tag *); で、procが struct task_tag *を引数に取り返値がvoidの関数へのポインタ変数になる
329 名前:321 mailto:sage [04/07/27 16:25 ID:XAPogr5S] _| ̄|○ 一晩寝かせたらコードいじってないのにFPS60出てるし なんの不具合なのやら
330 名前:名前は開発中のものです。 mailto:sage [04/07/27 17:06 ID:o1CoEu/t] 再起動でOS側の方が良い状態になったんじゃないかい とくに突飛な変更はしてないようだし
331 名前:名前は開発中のものです。 mailto:sage [04/07/27 17:20 ID:QCF/mVVU] 昨日はバックでなんか重たいものが動いてたとか
332 名前:名前は開発中のものです。 mailto:sage [04/07/27 17:21 ID:gvOtoHrm] 9.0c出たけど、もう既出か?
333 名前:名前は開発中のものです。 [04/07/28 01:22 ID:cdE8Yajg] >>321 ここの奴と全く同じ症状だと思われ。 ttp://bbx.hp.infoseek.co.jp/cgi-bin/bbx.cgi?log=40&vew=437 ここでは自己解決したようだが、一部に厨房回答者が存在するので 気をつけて読めよ。 MDXだがネイティブでも共通の症状だと言ってるから、やってみれば?
334 名前:321 mailto:sage [04/07/28 01:52 ID:L+MbB46M] 漏れは今涙が出そうです。 まさかウィンドウモードだと 同期タイミングにシステムタイマが影響するなんて 思いもしませんでした。 そしてそのことを知るきっかけをくれた>>333 には 感謝してもしきれない程です。 タイマ分解能を1_秒にしてあげたら FPSは60でヌルヌルポと動いてくれやがりました。 ありがとう>>333 ありがとう>>333 ヽ ( ゚ ∀ ゚ ) ノ バ ン ザ ー イ
335 名前:名前は開発中のものです。 mailto:sage [04/07/28 03:45 ID:0QK3+/yt] DirectXの新しいの出たな。 >>333 そのスレ見てないけど、厨房回答者なら2chの方が多いから平気じゃねぇか?
336 名前:名前は開発中のものです。 mailto:sage [04/07/28 12:43 ID:XhHnaZC6] えー変更点を列記すると、 複数のメッシュインスタンスで単一のジオメトリデータを使い回ししたいときに 有用な機能を提供。Shader3.0要らしいので我輩はスルー。 エフェクトでステートブロックをサポート。イラネ。 PRT用のD3DXオブジェクト追加。イラネ。 XFileローダーIDirectXFileに代わる新しいID3DXFileが追加。ホトンドオナジ。 こんなところかなぁ、夏2003と殆ど代わっていないので 入れ替えても問題なしだな。
337 名前:名前は開発中のものです。 mailto:sage [04/07/28 15:10 ID:ea6AWAyR] summer2004に入れ替えてコンパイルしたら、リンク通らなくなった! ウワァァン!!
338 名前:名前は開発中のものです。 mailto:sage [04/07/28 16:51 ID:XhHnaZC6] >>337 ? 俺はVisualStadio2003だが、 インストーラが勝手にパス変更までしてくれて 無問題に通ったよ。 一箇所エフェクト関係でソース直しただけで。
339 名前:名前は開発中のものです。 mailto:sage [04/07/28 16:53 ID:XhHnaZC6] ああ、そういえば、VisualStadio6.0用のライブラリが extrasにあったような。そのせいか?
340 名前:名前は開発中のものです。 mailto:sage [04/07/28 16:58 ID:XhHnaZC6] 今回のSDKにはDirect3D用のコモンコントロールがついてるのな。 なんだか次世代って感じ。
341 名前:名前は開発中のものです。 mailto:sage [04/07/28 17:12 ID:w9EXFP9+] 「Stadio」2回じゃもう言い訳できんな >>340 まじでぇぇぇぇ!! みてくるか
342 名前:名前は開発中のものです。 mailto:sage [04/07/28 17:19 ID:ea6AWAyR] …イタリア版だったりしてな。 俺はVisual Studio 6.0なんで、extras入れていじってみるよ。
343 名前:名前は開発中のものです。 mailto:sage [04/07/28 20:12 ID:SciYQnDX] >>339 トンクス ちょうどリンク通らなくていらいらしてたとこなんだ。 extraは気づかなかった
344 名前:337 mailto:sage [04/07/28 20:22 ID:ea6AWAyR] d3dx9.dllを入れ替えたらコンパイルできたーよ。 でも、シェーダ使って、テクスチャ複数重ね、環境マップやってるところが 無茶苦茶か真っ白になってる… うーん、俺のプログラムが行儀悪いからなのか… 何か設定の仕方が変わったのか…
345 名前:337 mailto:sage [04/07/28 20:24 ID:ea6AWAyR] dll じゃなくて libだ… デバッグ用のd3dx9dt.libはextraに入ってないんだね。
346 名前:名前は開発中のものです。 mailto:sage [04/07/28 20:36 ID:SciYQnDX] いよいよ持って2003買え、ということか… どこからその金捻出しよう
347 名前:名前は開発中のものです。 mailto:sage [04/07/28 20:58 ID:XhHnaZC6] >>346 毎度おなじみMSの無言の圧力
348 名前:名前は開発中のものです。 mailto:sage [04/07/28 21:05 ID:NEcinFei] 2005から無料にしてくれるに違いない。今からゲイツ様に土下座しとく。_| ̄|○
349 名前:名前は開発中のものです。 mailto:sage [04/07/28 21:49 ID:w9EXFP9+] ちょっと待って、それじゃVS6(VC6)じゃ、 今回のアップデートはしちゃ、まずいって事? 貧弱なノートの回線で、ようやくDLしたのにそりゃないぜ… しかし、いくらなんでもそんな分けないと思うがなぁ 自分で試したいけど、DirectXってOS入れ直さない限り バージョンダウン出来ないのがジレンマ
350 名前:名前は開発中のものです。 mailto:sage [04/07/28 21:58 ID:ea6AWAyR] >>349 今回は、前のバージョンと共存できるみたいだよ。断言はできないが。 デフォルトのインストール先はprogram filesの下だし VCのディレクトリ探索の優先順序をちょいと変えるだけで、 前バージョン(2003summer)の実行ファイルもできた。
351 名前:名前は開発中のものです。 mailto:sage [04/07/28 22:42 ID:SciYQnDX] (旧バージョンも残ってるんで)ちょっと悩んだんだけど、 Xファイル読み込み部分を新APIを使ったものに書き換えてみたんだが… アニメーション付きXFileを全部読み終わって最後のID3DXFileDataオブジェクトを Releaseするとライブラリの中でAccess Violation。 LWのXファイルエキスポータで吐き出した奴なんで、今バージョンのXファイルパーザには 都合の悪い記述があるのかもしれないけど…原因突き止めるのめんどい
352 名前:351 mailto:sage [04/07/29 00:15 ID:Y8Uc6wdA] やっつけで移行したから、Release忘れをやらかしているとこがあったのが原因ぽい。 …単にメモリリークするんでなく、アクセス例外出すのは、むしろ親切、かなぁ
353 名前:名前は開発中のものです。 mailto:sage [04/07/29 08:43 ID:qkYnqUbu] >>351 人柱乙。 俺のXFileパーサーは 約6000行もあるので(無駄な部分が多いだけ) 移行には躊躇してしまう。
354 名前:名前は開発中のものです。 mailto:sage [04/07/29 15:47 ID:TPfQskJx] 質問なんですが、これからDirectX9を学ぶなら ビデオカードもDirectX9対応のものを買った方が 良いでしょうか? 買う場合はゲームとかは特にしないので G-FX5200辺りのカードを考えたりします。 どうか、アドバイスをお願いします。
355 名前:名前は開発中のものです。 mailto:sage [04/07/29 16:22 ID:iXanYUqF] お金が充分にあるならそうすべき。 お金がないなら、今のボードを我慢して使うべきだぜ〜! まだ高えし
356 名前:354 mailto:sage [04/07/29 17:38 ID:TPfQskJx] アドバイスありがとうございます。 当分は今のボード(GF2-MX400)を使って その間に、お金の方も貯めておこうと思います。
357 名前:名前は開発中のものです。 mailto:sage [04/07/29 20:45 ID:TtwyqZ7F] 2004Summerって、2003Summerにあった新規プロジェクトウィザード無くなってる? EmptyProjectが追加されるって噂だったけど見あたらないし。 >340 なにそれ、詳細きぼん
358 名前:名前は開発中のものです。 mailto:sage [04/07/29 21:23 ID:Yl8iQYNA] EmptyProjectが見当たらないって、サンプルブラウザからインストール 出来ますがな。 サンプルがインストール形式になったのは、ちょっと便利かも。
359 名前:名前は開発中のものです。 mailto:sage [04/07/29 21:46 ID:TtwyqZ7F] >>358 EmptyProjectってサンプルにいたのか_| ̄|○thx Emptyっていう割にはいろいろ入ってる気がしますが 始めたばっかの俺には何やってるかさっぱりだ(´・ω・`)
360 名前:苦学生七誌 mailto:sage [04/07/29 21:58 ID:wUWj3vkA] >>354 そんなモン持ってて買い替えを考えるなんて金持ちだなぁ
361 名前:名前は開発中のものです。 [04/07/29 22:24 ID:BuKOqKsi] VC++.NET2003使用で、DirectX9.0c summer2004 をインストールしたけど、fxの変更点(Pass() -> BeginPass() )以外何も問題なかったよ。わざわざユーザーの迷惑を顧みず関数名を変えているのは謎だが。 というか、何が変わったの?シェーダー3.0サポートだけ?若干D3DXライブラリ関数が増えているような気がするけど。
362 名前:名前は開発中のものです。 mailto:sage [04/07/29 22:32 ID:fTQZk59p] 今回も名前がファッションショーのようなマイナーアップ。
363 名前:名前は開発中のものです。 [04/07/29 22:34 ID:BuKOqKsi] GF2-MX400から5200って変えるメリットないんじゃない?GF2はシェーダーをサポートしてなかったっけ? グラフィックカードのシェーダーバージョンのリストってどっかのサイトにないかな? ATI Radeon 8500 vertex shader:1.1, pixel shader: 1.4 とかのリスト。 知っている人いたら教えてください。
364 名前:名前は開発中のものです。 mailto:sage [04/07/29 22:46 ID:TXWm31/s] 最低でもピクセルシェーダ2.0対応のほうがよくない? せっかく換えるなら
365 名前:363 [04/07/29 23:14 ID:BuKOqKsi] >>364 オレもそう思った。
366 名前:名前は開発中のものです。 mailto:sage [04/07/30 00:38 ID:Dxj8mZA4] directX9.0をアマチュアで作る際、GeforceFX系とRADEON系、適しているのはどちらなのでしょうか? 似たようなものなのでしょうか? GefroceFX系は最適化しないと全く性能が出ないという話と、RADEON系はPCが不安定になるという話とで漠然とした不安があるのですが・・・・
367 名前:名前は開発中のものです。 mailto:sage [04/07/30 00:59 ID:xVvwlJFX] >>366 参考にしろyo www.itmedia.co.jp/anchordesk/articles/0402/12/news090.html
368 名前:名前は開発中のものです。 mailto:sage [04/07/30 01:09 ID:prAk/ML6] アマチュアなめんなよ
369 名前:名前は開発中のものです。 mailto:sage [04/07/30 05:17 ID:kVioF7Z4] >>366 公開する物を作るなら、安めのヤツでもいいから両方持ってた方がイイです。 さらに各種チプセト内蔵グラフィックについてもテストできる環境だとなおイイです。 とりあえず1つだけ、というならどっちでも好きな方でイイと思います。 傾向としては、渡すパラメータを間違ったりした時に nVidiaだとなんか普通に動作しちゃったりするのに対し、 ATIだとアプリが落ちるのが多いです。(以前はブルースクリーンでOSごと落ちたりしたが...) ドライバの品質はnVidiaの方がまだ上ですね。 nVidiaで少しでも安定した開発環境を...でもイイし。 ATIで動けばnVidiaでも動くに違いない!...でもイイかと。
370 名前:名前は開発中のものです。 mailto:sage [04/07/30 09:00 ID:MbcA7lq/] VC2003でDirect3Dアプリをデバッグすると 頻繁にフリーズする。デッドロックじゃなくて 非常に重くなってるだけだと思うんだけど 2時間で10回ぐらい再起動ではきつすぎる。 VC6ではこんなことなかったのに。 皆さんはどう?
371 名前:名前は開発中のものです。 mailto:sage [04/07/30 14:28 ID:FqoBuYOS] 初歩的な質問で申し訳ない。なんだか的はずれな質問かもしれんが‥‥ DirectX 9.0 SDKを使用してアプリを作った場合、 それを動作させる環境はDirectX 9.0以降になるの? あるいは使用した機能によって対応Verが異なる?
372 名前:名前は開発中のものです。 mailto:sage [04/07/30 15:07 ID:dwoGkKo9] 9SDKで8以前に対応させることは可能。
373 名前:名前は開発中のものです。 mailto:sage [04/07/30 15:07 ID:tikmpGO/] 使用した機能によってそのバージョン以上のランタイムが必要。 9.0SDKで作ってもDirectX8.0までの機能しか使っていなければ、 8.0以上のランタイムがあれば動作する。
374 名前:名前は開発中のものです。 mailto:sage [04/07/30 17:10 ID:r2gunRKx] 回答ありがとうございます >>367 RADEONのほうが高機能だけれども、みんながRADEON使ってるってわけでもないから 結局無意味になるような・・・という感想です (低機能製品に合わせたものを作らざるおえない) >>369 両方ですか!?それはむずかしい・・・・ ATI系はミスに厳しすぎて手間取りそうだから、nVidia系にしときます。
375 名前:名前は開発中のものです。 mailto:sage [04/07/30 23:18 ID:lgfh8BvZ] でこぼこなフィールドを作っているのですが、 キャラをその上で歩かせるために、ポリゴンのある一点のY座標を取得 したいのですが、そんな都合のいい関数ありますか?
376 名前:名前は開発中のものです。 mailto:sage [04/07/30 23:48 ID:xVvwlJFX] RAYじゃダメなの? サンプルにあるでしょ。
377 名前:名前は開発中のものです。 mailto:sage [04/07/30 23:57 ID:lgfh8BvZ] Pickのやつでしょうか? D3DXIntersectの関数だけで大丈夫ですか? 使ってみたんだがいまいちうまくいかない。
378 名前:名前は開発中のものです。 mailto:sage [04/07/31 00:03 ID:Yg3TW/Ca] >>377 そそ、RayPick。こんな感じ。 kim1.hp.infoseek.co.jp/iroiro/pick.html
379 名前:名前は開発中のものです。 mailto:sage [04/07/31 00:21 ID:5nbqJytr] >>378 おお、サンクスです。 vPickRayOrigにはカメラの位置と同じ座標でいいのでしょうか? vPickRayDirの意味がいまいち分からない。とりあえずこれと同じようにやってればいいのかな。
380 名前:名前は開発中のものです。 mailto:sage [04/07/31 00:48 ID:mgl1+hTz] 多分誤解しているというか、レイの考え方を理解してないので、一度 自分で図に書いてみることをお勧めする。 レイはキャラクター位置の適当な高さから、真下に向けて飛ばす。 んで、ポリゴンとの交点からキャラの足元の高さを求める。
381 名前:名前は開発中のものです。 mailto:sage [04/07/31 01:12 ID:5nbqJytr] 親切にありがとうございます!だいぶ分かってきました。 これから試行錯誤して頑張ってみます。
382 名前:名前は開発中のものです。 mailto:sage [04/07/31 03:35 ID:eXTMz7H8] >>373 DirectMusicにバージョン定数が見あたらないのはそういう事? でも3DやInputは指定しといた方がいいよね多分。
383 名前:名前は開発中のものです。 mailto:sage [04/07/31 07:35 ID:zkl0g2VN] Pickって充分速いの? なんか全部のポリゴン調べてそうなんで、フィールドのメッシュは あらかじめ自前で用意しマップ区画にポリゴン割り当てて、高さを検索 するようにしてんだけど、素直にPick使ったほうがいいのか?
384 名前:名前は開発中のものです。 mailto:sage [04/07/31 07:38 ID:r+SIFMd9] MMOみたいに広大なマップはどうやって作ってるんでしょうか? 一定区画毎に3Dソフトでモデル作成してるの?
385 名前:名前は開発中のものです。 mailto:sage [04/07/31 07:55 ID:Ws6CvG/6] >>384 Morrowindっていうゲームのエディタ覗いてみるといいかも 2Dも3Dも基本的には地面はゲームエンジン上でハイトマップとかで作られてて そこに乗せるオブジェクトなんかをモデラーで作ってインポートして配置してる
386 名前:371 mailto:sage [04/07/31 08:55 ID:3u9dAkWC] >>372 >>373 なるほど。回答ありがとう。 これで安心して9.0 SDKをインスコできます。 まあ使い方はこれから勉強するわけですが‥‥。
387 名前:名前は開発中のものです。 [04/07/31 13:05 ID:OQmxmCVI] 前は出なかったのに Direct3D9: Decl Validator: X1039: (Global Error) Declaration can't map to fixed function FVF because nonzero stream index is used. DxGameLib.exe の 0x77e33887 で初回の例外が発生しました : Microsoft C++ exception: long @ 0x0012eaf8。 Direct3D9: (ERROR) :DrawPrimitive failed. こんな↑エラーが出るようになった。 つまりどうしろと・・・。