DirectX総合スレ (Part6)
レス数が900を超えています。1000を超えると表示できなくなるよ。
0001DirectX6
2006/11/17(金) 00:38:52ID:lRjOsWKq他の言語使ってる奴はいますぐ消えろ
■過去スレ
DirectX総合スレ
Part 1: http://pc5.2ch.net/test/read.cgi/gamedev/1083728025/
Part 2: http://pc5.2ch.net/test/read.cgi/gamedev/1095863432/
Part 3: http://pc5.2ch.net/test/read.cgi/gamedev/1105333209/
Part 4: http://pc8.2ch.net/test/read.cgi/gamedev/1132937938/
Part 5: http://pc8.2ch.net/test/read.cgi/gamedev/1157727402/
0818名前は開発中のものです。
2007/05/05(土) 23:24:16ID:DhyAmmhw>>816は別に配布するんじゃなくて自分専用の何かを作るってるんでないの
2の整数乗でないサイズのテクスチャに対応したハードなんて
持ってる人どんだけいるんかね
0819名前は開発中のものです。
2007/05/05(土) 23:39:41ID:7/qHIZUN0820名前は開発中のものです。
2007/05/05(土) 23:45:51ID:JPwlhljg自分のPCのグラはオンボードなので、現代じゃ一般的だと思ったのですが
そうじゃないのですかorz
0821名前は開発中のものです。
2007/05/06(日) 00:01:04ID:Z93//tsUDirectt3Dサーフェイスには幅の他にピッチという概念があるので
テクスチャ作成に関わる部分では、サイズがいくつだろうが変わらないと思う。
フィルタリング(ミップマップ)は2^nサイズだと、最適化ルーチンが使えるので
そっちの方が速そうだ。
テクスチャサンプリングはGPUのリッチさによりけりだな。
0822名前は開発中のものです。
2007/05/06(日) 00:02:33ID:6yYXhBO80823名前は開発中のものです。
2007/05/06(日) 00:03:58ID:8J0PSu8Dテクスチャの表示です
0824名前は開発中のものです。
2007/05/06(日) 00:36:27ID:a/Y3MxCW自分も同じことにはまってました。
なぜか特定のマシンだけ極端にFPSが上がらなくて、VirtualPCを立ち上げると
FPSが高くなってました。
timeBeginPeriod、timeEndPeriodはアプリケーションの開始と終了に書いてましたが、
それを変更したら直りました。
どうもありがとう。
0825名前は開発中のものです。
2007/05/06(日) 12:47:32ID:RU6zDoh8テクスチャの内容なんて影響ないと思うから重要なのはテクスチャのサイズだけじゃないの?
サイズが2のべき乗かそうでないかの違いしかないんじゃない?
だから現状指定数値で実行できるなら
わざと2のべき乗のサイズにしたテクスチャの場合
と
2のべき乗のサイズでないテクスチャの場合
と
で速度を測ってみればいいじゃない
とりあえず表示はちゃんとしてなくても速度だけ測れればいいんでしょ?
ならこれで測れば問題ないんじゃない?
ただ、上の人も言ってるけど何が影響するのか要素が多すぎて
やってみてナンボってところあると思うよ
ミップマップとか、バイリニアフィルターとか、UVのアドレッシングモード、
1フレームでテクスチャ切り替えを頻繁に行ったとき、
1フレームでテクスチャ切り替えを頻繁に行わなかったとき
とかなんかちょっとした条件の変化で速度変わるかもわからんしね
テスト画面作ってるときは影響なかったけどゲーム作ってみたらモリモリ重くなったとかありがち。
ちなみに俺の環境ではたいして違いは無かった
0826名前は開発中のものです。
2007/05/06(日) 20:25:23ID:Ehnv/+IuGF6600以降のグラボは全部自由サイズのテクスチャに対応してる。
ただし範囲外サンプリングはCLAMPに限定され、
ピクセルシェーダー命令が一部使えないけどな。
0827名前は開発中のものです。
2007/05/06(日) 20:58:18ID:rhIxqW9PGF6600は含まれてますか?
0828名前は開発中のものです。
2007/05/06(日) 21:01:14ID:99tSTB5S0829名前は開発中のものです。
2007/05/06(日) 21:10:39ID:brQOxHaj0830名前は開発中のものです。
2007/05/06(日) 21:48:05ID:eoXP2/pR制限があるのはNONPOW2CONDITIONAL
これはGF6600どころか、もっと前から使える。
というのも、この機能の制限をよく考えれば分かるが、POW2テクスチャの
一部を使えば実装できるようになっているので、ドライバが対応すれば
どんなチップでも対応できる。
GeForceは6シリーズから、真のNon-Pow2テクスチャに対応したから
細かい制限は無いよ。(仕様上テクスチャ圧縮は使えないが)
0831名前は開発中のものです。
2007/05/06(日) 22:19:49ID:iZbcH5zM(Yes, No)、(Yes, Yes)、(No, No) の3パターンがあるから注意しないとね。
dxinfoで調べた限りでは、無条件の (No, No) なのはNVIDIAのGeForce6シリーズ以降だけで、
ATIは最新のRADEON X1000シリーズでもいまだに条件付きnon-pow2しか使えないみたい。
http://www.netsphere.jp/dxinfo/
0832名前は開発中のものです。
2007/05/07(月) 10:07:13ID:5DQ2mBLB俺はゲームで使うテクスチャは3D絵はpow2、2D絵は自由サイズにCAMP限定でエンジン組んでる。
non-pow2対応してない場合はpow2のテクスチャに拡大転送してUVは内部で自動再計算。
0833名前は開発中のものです。
2007/05/08(火) 13:27:17ID:RIeDnWhP英語版MSDN
ttp://msdn2.microsoft.com/en-us/library/bb174391.aspx
日本語版MSDN
ttp://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/directx9_c/directx/graphics/reference/d3d/interfaces/idirect3ddevice9/getindices.asp
D3D8からD3D9に書き換える上でこの問題にぶつかりました。
D3D8では英語版のものと同じで引数が二つです。
二つ目の引数を取得したいのですが、GetIndicesで取得する方法、もしくは他の関数がありますか?
よろしくお願いします。
0834名前は開発中のものです。
2007/05/08(火) 17:35:02ID:mVBGg0iS0835833
2007/05/08(火) 19:07:00ID:c2lqje6hヘッダの確認もしたのですが、なにぶんあまり知識がないものでよくわからなかったのです。
なのでこちらで質問させていただきました。
BaseVertexIndexの取得についてですが、自己解決しました。
この引数を検索したら、DrawIndexedPrimitiveで使ってますね。
ありがとうございました。
0836名前は開発中のものです。
2007/05/08(火) 23:17:50ID:yEwVRv2d0837名前は開発中のものです。
2007/05/09(水) 10:09:33ID:51Ld+rsF描画速度が思うように速くならずに、非常に困っております。
画面サイズは800×600で、フィールドは32×32の板ポリゴンをタイル状に敷き詰めてます。
その上で動くユニットと小物オブジェクトも全て板ポリゴン(一部ビルボード)です。
それを1フレームごとに
Clear
フィールド描画 = SetTexture()→DrawPrimitiveUp()を各タイルごとに約500回
ユニット&オブジェ描画 = Vertex配列に座標数値を代入して
SetTexture()→DrawPrimitiveUp()を平均500回(500オブジェ分)
Present
と描画してるのですが、当方の環境はP4 1.8GHzでオンボードのグラボですが
せいぜい28FPSまでしか出せません(ポーズ中の描画Onlyのみで)。
たかだか1000個の板ポリゴンを描画するだけでFPS30もいかないものなんでしょうか?
これで本来の内部処理を加えると、20FPSが限界になってしまいます。
1フレームごとに
頂点配列に数値代入(フィールドタイル以外)→SetTexture()→DrawPrimitiveUp()
を板ポリの数だけ繰り返すやり方では駄目なのでしょうか?
0838名前は開発中のものです。
2007/05/09(水) 10:54:03ID:rTpY446L板ポリゴンはなるべくひとつの頂点配列に溜め込み、
テクスチャはなるべく一枚のテクスチャに詰め込み座標ずらしで対処して、
Draw系関数のコールとテクスチャの切り替えを少なくすればそれなりに改善されると思うよ。
まぁ1000回程度ではそこまでガタ落ちしないから、他にも問題抱えてそうだけど・・・。
パフォーマンスまわりの話は文面だけだと話しが拗れがちだから、
こーゆーとこで質問するよりプロファイラの読み方覚えた方が良いかと。
0839名前は開発中のものです。
2007/05/09(水) 14:05:17ID:mwYHV51hステートの変更を減らせとかDraw系関数の呼出回数を減らせとか、
結局そんな一般的なことしかなかなか書けないんだよね
プロファイラの読み方というかプロファイリングについての基本的なことなら、
とりあえずここを最後まで読んでみることをすすめてみる。
http://msdn2.microsoft.com/en-us/library/bb172234.aspx
長いけど、中でやってることは単純
0840名前は開発中のものです。
2007/05/09(水) 14:14:56ID:kPjUjaY4トライアングルセットアップがボトルネックとは限らん
0841名前は開発中のものです。
2007/05/10(木) 23:34:29ID:mOs/ZOHfサーフェイスにレンダリングすることってできますか?
0842名前は開発中のものです。
2007/05/10(木) 23:53:06ID:3Zh/e+WU0843841
2007/05/11(金) 00:17:56ID:XDYeDF5T僕の質問に対する回答でしょうか?
0844名前は開発中のものです。
2007/05/11(金) 00:47:00ID:lpID6sKi0845名前は開発中のものです。
2007/05/11(金) 01:05:36ID:JAYMlBr0厳密に対応してはおりません。
842と844は
"All your base are belong to us"
レベルの英語もどきですね。
0846名前は開発中のものです。
2007/05/11(金) 01:51:06ID:tUcXbWHz0847名前は開発中のものです。
2007/05/11(金) 01:56:20ID:AeMEV9bt842も844もネタだろ?
そのまま「はい」「いいえ」に置き換えたとしても
質問文の内容から考えて意味が通ってないしw
0848名前は開発中のものです。
2007/05/11(金) 02:40:30ID:EKcw+E3Dできません。
0849名前は開発中のものです。
2007/05/11(金) 09:50:20ID:FgQCKaVQできないし、そんなことをするような状況が存在しないだろう。
0850名前は開発中のものです。
2007/05/11(金) 17:53:19ID:MwuPxxrIGPU使った汎用演算で使いたいのかも。
まあ、その場合でも普通のテクスチャ使うか。。。
0851841
2007/05/11(金) 23:05:46ID:XDYeDF5Tありがとうございました
0853名前は開発中のものです。
2007/05/11(金) 23:45:13ID:vswfU1qI>>837の問題に対してまとめたところで意味あるのか?と聞きたい
例えばこの処置で速度が2〜3倍になったとしてもそれでも60FPS多分届かないぐらいなんだぜ
チップを敷き詰めるならロード時にチップ敷き詰めたデカイテクスチャを作ることだってできると思うんだが
こういうゲームではどうなんだろうか?
まあ、ゲームのマップ全体を作れとは言わんがある程度のまとまりで逐次ロードしつつ作れれば
描画時のポリ数に悩まされることはないんじゃないだろうか?
少なくとも俺はDrawPrimitiveにポリゴンをまとめて突っ込むなんてのはなんの解決策にもなってないと思うんだけど?
だってDrawPrimitiveって普通に何回も呼ぶぜw
呼ばなきゃゲーム作れねぇじゃんw
エフェクトによって2度描き3度描きよくやるぜw
やっぱさ、このまとめる形の最適化ってなんかおかしいと思えってw
0854名前は開発中のものです。
2007/05/11(金) 23:54:11ID:otpRAX3c噂を聞いたがどうなったんだ・・・・?
0855名前は開発中のものです。
2007/05/12(土) 00:29:50ID:8iMaV2enいやー、結構効果あると思う。以前おれも同じ状況になったし。
その時はスプライト?(ポリゴンx2の四角形、画面上で32x32ピクセルくらい)
一枚一枚でDraw〜()呼んでたら数百枚で60fps割った。
でもテクスチャが同じスプライトをまとめて、Draw〜()の回数減らしたら
30000枚くらい描画しても60fpsをキープできるようになった。
0856名前は開発中のものです。
2007/05/12(土) 00:57:05ID:8iMaV2enたしかその時は同じ頂点バッファを使いまわしてたんだ。(=頂点4つを数百回反復使用。。。)
1フレーム間に同じバッファで何回もLock → Drawを繰り返したのが悪かった気がする。
だからDraw〜()の回数もあると思うけどバッファのLockにも注意すべきかと。
0857名前は開発中のものです。
2007/05/12(土) 01:02:49ID:Dzr5JW1qおたくのゲームの作り方に関係なく「DrawPrimitive」には
相当のCPU負荷が存在するのは現実世界での事実だ。
だからあの手この手でDrawPrimitiveを減らすための努力や
システムを組むのに時間をかけるんだろう。
そのためだけにわざわざMSが専用APIが実装したり、
GPU Gemsにそれを扱った章が掲載されたりしている。
DirectX10では改善されているが、DirectX9まではそこがボトルネック
なのだからそこをいかに減らすのかもプログラマの腕の1つ。
0858名前は開発中のものです。
2007/05/12(土) 01:08:37ID:gQi1O0td0859名前は開発中のものです。
2007/05/12(土) 01:14:19ID:LW0FYzwBいや、重いのはわったけどさ
劇的に早くはなんねーってことよ。
なんつーの?DrawPrimitiveにまとめて突っ込むとかやりだすようになったら
手法を根本的に変える必要があるときだと思うのよ(まあ、例として>>853つーことで)
例えば、ソートをバブルソートが遅いからってクイックソートに変えて解決する問題って少ないと思うんだよね。
そりゃオーダーが全然違うし、クイックソートの方がはるかにはえーよ。それはわかる。
でも、実用的じゃないでしょ?
そういう話よ。
ゲームに限らずよ、ただ目先の数値につられてホイホイ最適化しちゃうのってまずいと思うぜ。
もう、これやるっきゃねーよ。って状況が意外と少ないと思うのよね。
0860名前は開発中のものです。
2007/05/12(土) 01:47:38ID:rTYk//u9http://goldenstudios.or.id/products/GTGE/
0861名前は開発中のものです。
2007/05/12(土) 02:40:52ID:LW0FYzwB弾幕STGの弾とかやるっきゃないね
ただ、こういうのは俺の中ではええねんw
だってこんなのもともと普通じゃできねぇような量を描画しようとしてるじゃん
しかも、普通だったら全部カメラに入るなんてまずないのに2Dであるために全部描画しなくちゃいけないとか特殊事情
だからこれはどうでもええねん。
できないような量を無理やり動かすんだから大いに最適化してくれって感じじゃん。
魂までもすり減らせって感じだ。
ただ、マップなんかは普通じゃん。
俺がいうところの何を普通っていって何が異常かってのがわからん?
これはオブジェクト単位で普通とかどうとか言ってると思うw
パーティクルやらちょっとまとまった単位でのもんってのは他のやり方があると思うんだよね。
もう、パーティクルなんてやめてアニメーションテクスチャにとっかえちゃうとか、
マップチップも3D空間にもってきたら下地じゃん。これもやりようがあると思うんだよね。
ただ、弾幕STGの弾は弾1つでオブジェクトなんでやりようがないと思うんだよね。
この場合は妙ちくりんなワザ使って最適化する必要があると思うんだよね。
って感じ。
だからやらなきゃいけんところはやらなきゃいけんと思うんだけど
そういうところって少ないと思うんだよね。
ああ、で、やっちゃいけないところをやっちゃうと
今度は身動きとれなくなっちゃうって感じなので(やってることが最適化なので当然だが)あんまりこの
DrawPrimitiveにまとめて突っ込む手法ってのはやる前に別のやり方がないかちょっと考えたほうがいいと思うんだよね。
0862名前は開発中のものです。
2007/05/12(土) 05:31:59ID:s6MTii/R0863名前は開発中のものです。
2007/05/12(土) 06:02:47ID:NH4reycD大抵のものは噛めば噛むほど不味くなる。
それと同じ
0864名前は開発中のものです。
2007/05/12(土) 06:58:58ID:bENb6ppLCPUがネックになってるかGPUがネックになってるかでどっちがいいのかなんて変わるだろ
0865名前は開発中のものです。
2007/05/12(土) 07:04:06ID:jgOYrxmUそんなもんケースバイケースだ、で終わるのに
0866名前は開発中のものです。
2007/05/12(土) 08:51:13ID:LW0FYzwB>ケースバイケース
それだってある程度法則があると思うんだけど
まあ、こんなDrawPrimitiveに全部突っ込むなんてのは稀だよ
0867名前は開発中のものです。
2007/05/12(土) 09:37:22ID:l19wAVj/0868名前は開発中のものです。
2007/05/12(土) 09:48:15ID:Dzr5JW1q何も画面描画を1回のDPで行えなんて無茶は誰も言ってないだろ。
描画数が多くてある程度まとめられるものをまとめようぜ、って話だろ。
背景のマップチップや弾幕STGの弾みたいなものはソートがそれほど重要でもなく
数だけはべらぼうに必要な場合が多いからそういうものはまとめる。
フォント描画のときだって1文字ずつDP呼び出すなんてまずしないだろ。
最近のD3DXFontですらキャッシュするように改良されてるんだから。
GPUがネックの場合はまとめようがまとめまいが処理落ち確定だから意味ないけどな。
GPUがネックなら基本的に数を減らすしかねぇ。
0869名前は開発中のものです。
2007/05/12(土) 09:48:27ID:LW0FYzwB解決策のアプローチの話なんだが・・・
0870名前は開発中のものです。
2007/05/12(土) 09:55:02ID:LW0FYzwB>数だけはべらぼうに必要な場合が多いからそういうものはまとめる
こうかくと1フレームのこういうモデルの描画すべてをまとめようとする奴がいる
あくまでオブジェクト単位でまとめるだけって書いておきたいw
0871名前は開発中のものです。
2007/05/12(土) 10:04:33ID:jgOYrxmU日本語読解力の欠けた俺に
ケースバイケースと程度問題の違いを教えてくれ
なんて不毛な論争なんだろうか
0872名前は開発中のものです。
2007/05/12(土) 10:40:39ID:YCiJgexp「他人の話はどうでもいい、俺様の話を聞け」
0873名前は開発中のものです。
2007/05/12(土) 10:54:26ID:LW0FYzwB横から突っ込むけど明らかに違うだろ、日本語的にも
0874名前は開発中のものです。
2007/05/12(土) 10:58:01ID:tqnBkZXU身の程に合わないほど自意識を肥大化させたオッサンって、
現実では、 実際の待遇>>>自己評価 という状況に必ず直面する。
そうなると、普段抑圧している分、こういう場で
必要以上に自尊心を満たそうとし始める。
メンツに固執し、自分がトップに立つ形で決着がつかないと暴れ始める。
自分が一番でないとアイデンティティが崩壊するから、妥協できない。
相手の意見を認める、見解の違い・表現の違いを容認する柔軟性がなくなる。
そしてネットでも加齢臭をまき散らし、嫌われる。
「匿名の状況下では君の自尊心は何の意味も持たない」
という単純な現実を受け入れてくれればよいのだが。
0875名前は開発中のものです。
2007/05/12(土) 11:12:42ID:LW0FYzwB0876名前は開発中のものです。
2007/05/12(土) 11:37:34ID:cBzS5oT50877名前は開発中のものです。
2007/05/12(土) 12:59:37ID:JD4dohcN相変わらずID:LW0FYzwBは意味不明だな。
>>853
>描画時のポリ数に悩まされることはないんじゃないだろうか?
>>837は少ないポリ数なのに遅くて困ってると書いてるのに
どうしてポリ数削減の最適化をお勧めしてるんだろうか。人の話を全然聞いてない。
仮に>>837が>>853の方法を適用したら、結果としてDPコールも減るから
問題の切り分けができないまま状態が改善してしまうかもしれないよ?
最適化の一般論を語るその口で出てくる具体的なアドバイスが
「目先の数値につられてホイホイ最適化」そのものってのが涙を誘う。
毎回思うんだが、あんた本当に2Dゲーム作ったことないだろ?
0878名前は開発中のものです。
2007/05/12(土) 15:41:09ID:/AE2E85c0879名前は開発中のものです。
2007/05/12(土) 16:45:54ID:LW0FYzwBでも、DrawPrimitiveにまとめて突っ込むだけじゃここまでの速度はでないよね?
また、それで解決するかも怪しいよね?
>>853の方法なら確実でしょ。
その件に関しては文句あるの?
0880名前は開発中のものです。
2007/05/12(土) 18:30:45ID:Dzr5JW1qそのやりかたの場合システムが複雑になる。
別スレッドでリアルタイムに状況判断して新しいテクスチャ作らないといか。
間に合わない場合なども想定して組まなければならないわけだしな。
あと使うかどうかは別として高速スクロールが出来ない。
ポリゴン数には悩まされなくてすむがテクスチャメモリや
テクセルレートに関しての悩みがあることを忘れてもいかん。
だからケースバイケースだというわけで。
0881名前は開発中のものです。
2007/05/12(土) 18:38:13ID:LW0FYzwB>あと使うかどうかは別として高速スクロールが出来ない
いや、できると思うけど俺は
0882名前は開発中のものです。
2007/05/12(土) 22:52:39ID:RM9U51VB0883名前は開発中のものです。
2007/05/12(土) 23:29:53ID:kVzI9kl0やったとこないけどできると思うとか
んな推測をもとに今までグダグダ言ってたのか?
STGスレで「DirectXはスクリーン限定でラスタースクロール可能」等と
胡散臭い主張して突っ込まれてフェードアウトしたロートルがいたが
お前はとてもよく似ている
0884名前は開発中のものです。
2007/05/12(土) 23:32:38ID:kVzI9kl0で、質問者>>837の数値を参考にして
例えば800*600フルカラーのゲーム画面で
フィールド一画面分(27x18のマップチップ)を描くとして
例えば以下の2つの手法を検討したとする
@テクスチャにSetRenderTargetでスクロール分差分更新
A30*20のメッシュのUVをスクロール分だけ差分更新
口先だけでないならこの両者のパフォーマンスを速やかに比較して
速やかに結論が出せるはずだ
0885名前は開発中のものです。
2007/05/12(土) 23:35:32ID:kVzI9kl0画面と同じかそれよりも大きいサイズのテクスチャにフィールドを
描いて、それをフレームバッファに転送とかいう方法
0886名前は開発中のものです。
2007/05/12(土) 23:48:20ID:kVzI9kl0一画面分のマップチップをマテリアル単位でまとめて
DrawPrimitiveする方法だ。比較の便宜上差分更新としてるが
予めフィールド全域分を用意しても構わない。
0887名前は開発中のものです。
2007/05/13(日) 01:29:23ID:1Qws1EBM君、そうやっていつも掲示板で見えない敵と戦ってるの?w
いきなり高速スクロールを適用ことを前提にしてるけど
CDなりDVDなりHDDの容量が許す限りどこまでもいくんだから
環境の制限でもしない限りなんでもできるだろw
スクロールなんて貧乏臭いことしなくても、
市販のゲームのアリガチ演出みたいに背景にムービー流してもいいぜw
別にロード時にテクスチャこさえなくてもすでにこさえたもん保存しておいてもいいわけだし
また、別にスクロールするときにテクスチャを生成しなくちゃいけないなんてのはお前だけの妄想だ
別にあらかじめすべての絵を完成させた状態でもいい
それとこの条件だとお前に振りだぜ、俺は別にチップにこだわらなくていいって考えだし
でかいテクスチャをチップ的な使い方もできるから要はお前のやり方も俺のやり方の中に含まれてしまっている
それと30*20のメッシュとか条件ついてるけど
俺の方法なら4頂点の2ポリでもいいしw
この場合のパフォーマンスは最速だ。
もっと変化がほしけりゃ好きにサイズを変えたらいいし、その場合ゲームによりけりになってしまうな。
0888名前は開発中のものです。
2007/05/13(日) 01:35:05ID:1Qws1EBM昔はメモリが少なかったからできるだけ使いまわしていい絵を完成させようってのが
あったけど今は容量はアフォみたいに増えちゃったけど処理速度はそれにおっつくぐらい
上がってないって状況じゃないの?
0889名前は開発中のものです。
2007/05/13(日) 04:13:16ID:YhPUR9BZ今、"Special Effects Game Programming with DirectX"って本を読んでいるんですが
添付されているCDのDirectXはVersion 8.1です。
ネットで検索すると最新はVersion 9.0cらしいですね。
皆さんならどちらをインストールしますか?
(それらの違いをよくご存知の方が答えてくださると光栄です。)
0890名前は開発中のものです。
2007/05/13(日) 07:37:01ID:SnrZits5マップチップでやるっつーのは質問者の意向だろう
その前提を覆すなら初めからそういっときなよ
苦しくなったからって今更一枚絵でーとか逃げんな
お前の主張
一枚絵でやってもいんじゃね。ローカルメモリに全部読み込むと楽でいいよ
で片付く話。長文でぐだぐだ書かなくていいよ
0891名前は開発中のものです。
2007/05/13(日) 09:34:18ID:qSV8MiStお前まさかマップチップの利点がVRAMの節約だけだと思ってんのか?
すくなくとも画面いっぱいにチップ描画をする程度なら素直にバッファまとめてDPすりゃいい。
1024x768程度の画面を32x32のチップで埋め尽くしても余裕で60FPS出る程度の速度にゃなる。
元のチップを1枚のテクスチャにまとめるというデータ的な最適化は必要だがな。
背景に動画だとかユーザーの入力に反応してスクロールするときとか、
地形が変化するときどうするつもりだよ。
そもそも画質が劣化するしチップごとにアトリビュート持たせるために別のエディター用意すんのか?
0892名前は開発中のものです。
2007/05/13(日) 09:38:17ID:Ll0xyx+i質問者はそこまで想定してんの?
0893名前は開発中のものです。
2007/05/13(日) 09:48:08ID:o7qNUyB+結局、頻繁に呼ぶと遅く、まとめて呼ぶと早いのなら、
APIそのまま使わず、
ラッパー一段かませれば済む話でもないのかな?
まあ、構造同じにならないから、同じようには組めないだろうけど
あと、試すのもいいけど、他の3DライブラリでDirect3Dの扱いどうなっているかも見た方がよさげですね。
普段OpenGL使ってて、DirectX使うおうか悩んでて覗いている者なので適当に流してくれていいけど。
0894名前は開発中のものです。
2007/05/13(日) 10:17:17ID:hldRPPX0え、RTSってそういう処理が必要な筆頭じゃないの?
>>893
まあそのラッパー内部をどう実装するかの話でもあるわけで。
GL実装のシーングラフでも、ステート変更削減を優先としたソートと
遮蔽カリングを優先としたソートみたいなのがあるじゃん。
あれに「DPコール数」が加わる感じ(実際にはステート変更削減にほぼ含有されるけど)。
0895名前は開発中のものです。
2007/05/13(日) 12:35:00ID:1Qws1EBM>背景に動画だとかユーザーの入力に反応してスクロールするときとか、地形が変化するとき
これでも問題ないぜ
動画はユーザーの入力に反応させて再生時間を進めてやればいいぜ
地形が変化するときは変化するときするところだけポリ数が多いもん使えばいいぜ
0896名前は開発中のものです。
2007/05/13(日) 14:38:41ID:Ll0xyx+iいや発端の837にそこまで書いてなかったからさ
どの程度までやろうとしてるのかは質問者じゃないとわかんないでしょ
やりもしないことに対してアドバイスしてもと思って
0897名前は開発中のものです。
2007/05/13(日) 14:41:27ID:qSV8MiStおまいさんは地形が変化する場合の全パターンを動画でつくるのか?
あと地形に高低差があって前後関係からソートが必要なときどうすんだ・・・
対応するZバッファも動画に作っておくのか?
>地形が変化するときは変化するときするところだけポリ数が多いもん使えばいいぜ
2Dのマップチップの話でポリ数?
0898名前は開発中のものです。
2007/05/13(日) 15:03:58ID:1Qws1EBM地形の話と動画の話は別でなw(別にやってもかまわんけどw)
なんでくっついたんだ?w
>対応するZバッファも動画に作っておくのか?
そういうライブラリあったなぁ・・・自分で作りゃいいけどw
>2Dのマップチップの話でポリ数?
そうそう、マップチップてのも所詮格子状のメッシュを表示してるに過ぎない
だから変形させるときだけ変形させたいメッシュに挿げ替えてもいいわけ
地形が変形するのはこれで対応できる
0899名前は開発中のものです。
2007/05/13(日) 16:59:10ID:+AlEORLF>出版社: Premier; Pap/Cdr版 (2001/12/1)
古!もっと新しい本読んだほうがいい。
グラフィックス技術に関する本は進歩が早い。3年も経つと役に立たないとおも。
DirectX8 → 過去の遺産
DirectX9 → 現役
DirectX10 → ?
DirectX9の最新を入れるのが望ましいけど、
初めての場合は日本語マニュアルのあるバージョン入れればいいんじゃナイン?
(今見た感じではOctober 2004か?これも結構古いね。。。)
0900名前は開発中のものです。
2007/05/13(日) 17:01:43ID:G1Q8MypF業務系はMDXからWPFに変わるだろうし、
ゲームはMDXからXNAに変わるからな。
基本的にDirectXをラッピングしただけなんだけどね。
0901名前は開発中のものです。
2007/05/13(日) 17:05:06ID:r63fo3XD0902名前は開発中のものです。
2007/05/13(日) 17:22:44ID:n9ubTWNv別にC++を切り捨てたいと考えているわけではない。
本国の開発者が簡単に開発できるようにしてくれと言う要望が多いから自然とC#に
取って代わっているだけだ。
0903名前は開発中のものです。
2007/05/13(日) 17:57:09ID:o7qNUyB+C++が簡単に覚えられて、セキュアなら切り捨てないだろうな
0904名前は開発中のものです。
2007/05/13(日) 18:33:28ID:qSV8MiStXNAはD3D9が前提だし。
0905名前は開発中のものです。
2007/05/13(日) 18:35:38ID:KHtOAKRB0906名前は開発中のものです。
2007/05/13(日) 18:44:52ID:um5/oy7yバージョンアップすれば良いだけだよ。
0907名前は開発中のものです。
2007/05/13(日) 18:53:14ID:Ddw6YCjh海外では、習得難易度の低い言語を喜んで使っているのに。
日本人の変な職人意識がされせてるんだろうけどね。
0908名前は開発中のものです。
2007/05/13(日) 19:03:29ID:WaANxxN8日本人を語る前に日本語でおk
0909名前は開発中のものです。
2007/05/13(日) 19:04:55ID:s2cymDK60910名前は開発中のものです。
2007/05/13(日) 19:08:25ID:KHtOAKRB0911名前は開発中のものです。
2007/05/13(日) 20:14:52ID:cBAd95/mツクールなんて使うなんて日本人ぐらいだぞ、海外ではプログラミングバリバリ
0912名前は開発中のものです。
2007/05/13(日) 20:24:58ID:xUYhEzLuRPG-Tsukuruでググってみろw
0913名前は開発中のものです。
2007/05/13(日) 20:45:00ID:cBAd95/mツクール2003でそんなに売れてないと思うんだけど・・・平均は高かったが
あっちはfpsとかが主流でsdkで配布してmodでいろいろ拡張してとかだし
大学卒でゲームエンジン会社作る人も入るからレベル地学ね?
0914名前は開発中のものです。
2007/05/13(日) 20:45:42ID:o7qNUyB+かなり、引っかかってビビタ
0915名前は開発中のものです。
2007/05/13(日) 20:46:13ID:o7qNUyB+そのベースのC言語が難しいとは思わんのだろうな・・・これだから・・・
0916名前は開発中のものです。
2007/05/13(日) 21:07:52ID:pf2aaMdX0917名前は開発中のものです。
2007/05/13(日) 21:13:25ID:s2cymDK6コンピュータの大まかな仕組みが判っていればすんなり理解できるはず。
各種のテクニックについては、必要に応じて知識増やしていけば大丈夫だろ。
PGなら最低限コンピュータの大まかな仕組みを考えて、
実行速度が早くなるよう予測しながらコーディングするわけだから、
PG資質に自動的についてくる程度のものだろ、C言語スキルなんて。
というわけだから、そろそろDirectXネタに軌道修正してくれ。後はROMるからw
レス数が900を超えています。1000を超えると表示できなくなるよ。