DirectX総合スレ (Part5)
レス数が900を超えています。1000を超えると表示できなくなるよ。
0001名前は開発中のものです。
2006/09/08(金) 23:56:42ID:0F5D1JWX他の言語使ってる奴はいますぐ消えろ
0844名前は開発中のものです。
2006/10/29(日) 23:45:05ID:K8O/95s80845名前は開発中のものです。
2006/10/29(日) 23:54:45ID:swLW9KaN時と場合による。
どのような時に何がもっとも有効かはリファレンスを熟読しましょう。
その後の検証も忘れずにな。
0846名前は開発中のものです。
2006/10/30(月) 00:35:12ID:o7aFQX0n>どのような時に何がもっとも有効か
なんてリファレンスを見るまでもなく、そのパターンが少しは出てくるはずだが、1つも出てこないから
0847名前は開発中のものです。
2006/10/30(月) 01:21:58ID:C0/Sv58N少なくとも俺の今のプログラムの中ではUP系関数を使う箇所はない。
DrawPrimitive系どうこうよりも、頂点バッファの作り方と使い方のほうが重要だし。
0848名前は開発中のものです。
2006/10/30(月) 02:28:31ID:DnQfbB/1UPだと0番しか使えないぞ。
0で座標、1でUV、2で法線、3で・・・
って使うと汎用的に使えて便利だぞ。
UPだとこういうもの作るのに向いてない。
0849名前は開発中のものです。
2006/10/30(月) 02:31:28ID:d4X25+aF頂点ストリーム使ってたり知ってたりするはずがない。
0850名前は開発中のものです。
2006/10/30(月) 04:38:50ID:HYgOtsajよく分からない奴はUP系を使うのがベスト。
VertexBufferはよく分からないで使っていると、パフォーマンスを
悪化する可能性がある。
0851名前は開発中のものです。
2006/10/30(月) 09:58:40ID:qTkdSgLVGPUの中身知ってると、そんな非効率的な実装する気にはならなくなるけどねぇ
preであれpostであれ頂点キャッシュ無駄にし過ぎ
0852名前は開発中のものです。
2006/10/30(月) 11:34:36ID:auNg4VTgどういうふうに非効率なの?
GPU Gemsでも848みたいな例が載ってた気がするけど真似しちゃまずいのか?
0853名前は開発中のものです。
2006/10/30(月) 12:32:10ID:Kb3dfOrGパフォーマンスの大幅な低下の原因になる。
つーかこれは普通にドキュメントに書いてあることなんだが。
この程度の日本語も理解できないのか?
0854名前は開発中のものです。
2006/10/30(月) 21:28:08ID:C0/Sv58N0855名前は開発中のものです。
2006/10/31(火) 00:29:57ID:Gz2/in6Uパイプラインにステート変更コマンドが流されるだけ
つうか851の本文に答え書いてあるのになんで疑問系で返ってくるんだろう
これ以上は書かないので後は自分で頑張れ
0856名前は開発中のものです。
2006/10/31(火) 00:32:58ID:6ezWOrLE0857名前は開発中のものです。
2006/10/31(火) 01:54:05ID:3fmEp8uoあw逃げてやんのw
わかるんだw俺w
0858名前は開発中のものです。
2006/10/31(火) 22:52:52ID:XDYbMhDw0859名前は開発中のものです。
2006/10/31(火) 22:56:27ID:6ezWOrLEだが複数ストリームを使ったら1頂点処理するごとにキャッシュミスが発生なんて
阿呆な実装がまずありえないだろ・・・。
0860名前は開発中のものです。
2006/10/31(火) 23:00:46ID:mCqyMb0n複数の描画方法を実装して、
ゲーム中に切り替えて比較して、
描画対象によって結果集計して、
リアルタイムに切り替えていけばいいわけですね!!!
0861名前は開発中のものです。
2006/11/01(水) 00:14:46ID:o/Y9sipLボケなんだか微妙なラインすぎて困ってるだろw
実際に、実行時にテストしてから開始するソフトあったような・・
もちろん構成が変わってなければパフォーマンス一緒だから最初の一回だけだと思うが。
0862名前は開発中のものです。
2006/11/01(水) 02:06:17ID:0Q6qMURg0863名前は開発中のものです。
2006/11/01(水) 02:09:32ID:hxk+oCO70864名前は開発中のものです。
2006/11/02(木) 16:59:51ID:diKduz130865864
2006/11/02(木) 17:00:23ID:diKduz130866名前は開発中のものです。
2006/11/02(木) 17:29:34ID:sljvqe490867名前は開発中のものです。
2006/11/02(木) 17:32:43ID:diKduz13作り方、もしくは作り方を書いているところ教えて。
DirectXのHPとか、PG全般の解説とかは却下w
0868名前は開発中のものです。
2006/11/02(木) 18:26:23ID:MbI5+NQIミドルウェアあたりに隠蔽されてるとか?
0869名前は開発中のものです。
2006/11/02(木) 19:13:06ID:j7Di0j5Zゲーム作ってるわけじゃないし、
ツール作ってくれというわけですら無い(作んねーけどw。
板違いだシネwwwww
0870名前は開発中のものです。
2006/11/02(木) 19:27:12ID:sljvqe49ジョイスティックは、フックできないんだったな
ぬう
0871名前は開発中のものです。
2006/11/02(木) 19:29:35ID:Qouz5BcI0872名前は開発中のものです。
2006/11/02(木) 19:34:50ID:l6NE8mv1作れるけど、そんなの記録・再生してもリプレイにはならんよ。
操作情報だけでリプレイを再生するには、最初からゲームの方を
そういう風に作ってないと駄目。
0873名前は開発中のものです。
2006/11/02(木) 19:39:05ID:fFdnY76s0874名前は開発中のものです。
2006/11/02(木) 19:48:31ID:pOKzl3XB0875名前は開発中のものです。
2006/11/02(木) 19:56:53ID:YdcE35F8結局のところ質問に対して煽りレスしかできない低能君が
一番偉そうにしていてうざいんだよw
0876名前は開発中のものです。
2006/11/02(木) 20:01:55ID:Qouz5BcIキミが>>864に
「DirectInput対応のゲーム等の操作を記録して、後で再生してくれるプログラム」
を紹介すれば済む話だよ
コードじゃなくてバイナリが欲しそうな気がするから、できれば
ソフト板かどこかに誘導してから教えてあげるといいんだが
0877名前は開発中のものです。
2006/11/02(木) 20:35:05ID:pOKzl3XB回答が無くても問題解決しなくても、
文句いうのはお門違いどころか図々しいだけなんだけどな。
極端に言えば対価も無しに何かを得ようなど、乞食に等しい。
0878名前は開発中のものです。
2006/11/02(木) 20:54:53ID:j7Di0j5Z「うはww釣堀wwwwwらっきーwwwwwwww」
ってだけだから、相手するのも程々になw
0879名前は開発中のものです。
2006/11/02(木) 20:55:48ID:83ucivUk0880名前は開発中のものです。
2006/11/02(木) 22:32:09ID:px5hsvCI質問者=自分より低レベル っていう意識g
このやり取りあと何回見るんだろ・・・
0881名前は開発中のものです。
2006/11/02(木) 23:08:30ID:7kYH3ckO自力で文献なりwebなりあたって試行錯誤すれば解決するからな。
実際質問者のレベルが高いことあったか?
0882名前は開発中のものです。
2006/11/03(金) 00:01:39ID:px5hsvCIもう来んな
0883名前は開発中のものです。
2006/11/03(金) 00:26:49ID:1gPBctES回答者にどれだけ知識があろうと必要な情報がなければ判断不能だ。
どういう状況で、お前さんはなにを試して(あるいは知っていて)、どういう結果を期待してるのか、
最低このセットは書かないと、あいまいなレスしかつけようがない。
0884名前は開発中のものです。
2006/11/03(金) 00:40:28ID:/1nzuXOf見てるこっちが恥ずかしくなるじゃないか
それじゃ釣られてるのと変わらねーよ
そこまで馬鹿にする奴に説教なんて時間の無駄じゃねーのか
低俗な奴に関わらないと気が済まないのはやっぱり低俗な奴だなwwwwwwww
0885名前は開発中のものです。
2006/11/03(金) 16:22:50ID:ivhE0hMW↑
何様?
0886名前は開発中のものです。
2006/11/03(金) 17:08:44ID:AZI7KT4b作り方、もしくは作り方を書いているところ教えて。
DirectXのHPとか、PG全般の解説とかは却下w
0887名前は開発中のものです。
2006/11/03(金) 17:11:48ID:ivhE0hMWフックしろ
>書いてるところ教えて
http://www.google.co.jp/
ここのどこかにあった
0888名前は開発中のものです。
2006/11/06(月) 09:19:16ID:hPi0h3GZするとなぜかGetCursorPosでとれるマウスの座標に目立って遅延がでてくるようになってしまった
DI使っても改善しないしどうなってるんだろうかこれは
マビノギでも同じような現象が起こってるけど
HL2とかでは遅れなく視点を動かせるのでメインループの書き方次第なんではないかと思うんだけど…
0889864
2006/11/06(月) 11:44:40ID:hv30gwX2答える義務がないとか言うなら無視するか、知らないでいいだろ
結局ソフトでは無理ということですな
0890名前は開発中のものです。
2006/11/06(月) 12:27:48ID:oOcp7ViM0891名前は開発中のものです。
2006/11/06(月) 12:29:39ID:clenw2Y61フレーム描画する間にメッセージ処理を1回しかしてないとか。
メッセージループはキューが空になるまで回さないと駄目だよ。
0892名前は開発中のものです。
2006/11/06(月) 17:08:24ID:+lyukF9sメインループが問題だと思うなら君のメインループを晒したほうがいいんじゃね?
関係ないが俺が会社で支給されたキーボードはゲームで使うと明らかに遅延してる
糞キーボードだったりする。
0893名前は開発中のものです。
2006/11/06(月) 18:02:51ID:rMszPwdCネットゲームばっかりやってないで
仕事探せよ
0894名前は開発中のものです。
2006/11/06(月) 18:31:26ID:clenw2Y6記録しておけば、大抵のゲームはリプレイ撮れそうだなーと考えている
俺ガイル。
0895名前は開発中のものです。
2006/11/06(月) 18:39:32ID:hPi0h3GZ>>892
for(;;)
{
while(PeekMessage(&msg,NULL,0,0,PM_REMOVE)) DispatchMessage(&msg);
render();
d->Present(NULL,NULL,NULL,NULL);
Sleep(0);
}
だいたいこんなかんじです
無意味にSleepを挟んで30FPSくらいにまで落した方が60FPSでてるときよりも
マウスの動きへの追従に関しては良かったり
0896名前は開発中のものです。
2006/11/06(月) 19:04:42ID:7IobZSRQそれが原因とは思えないが・・
0897名前は開発中のものです。
2006/11/06(月) 19:06:31ID:PBBf0u6Dキューにあった場合、そのループだとマウスを拾うのが
3フレーム後ということになる
0898名前は開発中のものです。
2006/11/06(月) 19:08:19ID:PBBf0u6D0899名前は開発中のものです。
2006/11/06(月) 19:40:52ID:kJNIWXZq反応しちゃってごめん、このレスも無視してくれw
0900名前は開発中のものです。
2006/11/06(月) 19:49:21ID:7IobZSRQwhile や for を中括弧で括らないのは
見辛さという面でもメンテナンス面でも問題ありだよな。
0901名前は開発中のものです。
2006/11/06(月) 20:45:44ID:YCZtqO2rPM_REMOVE
0902名前は開発中のものです。
2006/11/06(月) 20:59:15ID:PBBf0u6Dメッセージループとゲームのメインループは
スレッドを分けた方が良いかもしれないと。
0903名前は開発中のものです。
2006/11/06(月) 21:14:37ID:YF9A2o7Cまさかとは思うけどメインスレッドのプライオリティを高くとかしてたりはしないよね?
あと通常ループでもSleepでOSにCPUリソースは回してやるほうがいい
でもSleep(0)で十分なはずなのでそれでうまくいかないのはちょっと分からん
0904名前は開発中のものです。
2006/11/06(月) 22:06:31ID:M5YGVbkM処理落ちもコマ落ちも乱数列も全部再現できるならな。
0905名前は開発中のものです。
2006/11/06(月) 23:18:23ID:+lyukF9s俺の勘違いならいいんだが・・・IDirect3DDevice9::SetCursorPositionとか使ってる?
自力でマウスの座標にスプライト描いてたりするとフレームレートに比例して遅延するわけだが・・・。
0906名前は開発中のものです。
2006/11/07(火) 01:29:54ID:NTlv/duM乱数の仕組み知らなそうだな…
0907名前は開発中のものです。
2006/11/07(火) 03:01:33ID:+YjGlCmW>>906は乱数列の初期化の仕組みを知らなそうに見えるのだが
0908名前は開発中のものです。
2006/11/07(火) 06:03:52ID:NTlv/duMむしろ別の乱数列を生成する方が難しいと思うが。
0909名前は開発中のものです。
2006/11/07(火) 10:48:06ID:6WoLvZ3vタイマをフックしてただけで乱数の初期化関数に適切なシードを渡せるんだ?
すごいね。
それとも>>894は自作ゲームの話をしてるのかな?
だったら漏れが文盲だ。
0910名前は開発中のものです。
2006/11/07(火) 12:30:39ID:injs5fnt馬鹿か?何もわかってないのはお前等の方。
乱数からその系列のシードが割り出せるとでも思ってんのか?
勘違いも甚だしいぞ。
0911名前は開発中のものです。
2006/11/07(火) 12:36:51ID:T6X3CPc6タイマーフックして、シードを固定化するって話じゃないの?
0912名前は開発中のものです。
2006/11/07(火) 12:46:36ID:fxAXrr+V0913名前は開発中のものです。
2006/11/07(火) 13:54:36ID:WJeQGxZV>>895
マウスを管理するにもCPUパワーは必要だし、その辺のプロセスに実行権を
確実に与えるためにもSleepの引数は1以上にするといいのでは?
特にUSBのマウスやパッドはアプリケーションのCPU使用率が高くなると
遅延が起きやすいとかいう噂があるし(未確認)。
0914名前は開発中のものです。
2006/11/07(火) 14:03:41ID:uDTnp1xL3GHzなオレのマシンでも
CPU使用率ふえまくりんぐ
0915名前は開発中のものです。
2006/11/07(火) 22:02:56ID:6WoLvZ3v皮肉もわからないなら2chなんかに書き込まないほうがいいよw
>乱数からその系列のシードが割り出せる
↑誰もこんな話はしていない。>>864からの流れは完全無視ですか?
DirectInputで入力処理してるらしいプロセスに
外部からフックをかけてリプレイ再現できないかって話だろ。
だとしたら例えば乱数のシードがわかったところで
それをどうやって初期化関数に渡すんだい?
逆アセしてジャンプ先を書き換えるかね?
タイマ関係をフックするのとは全く関係ない話になってくるよな。
0916名前は開発中のものです。
2006/11/07(火) 23:10:00ID:0/eivshj普通はこういうのはWinMainより前の段階でフックを仕込むものだから、
シングルスレッドならあまり心配ないと思うが。
マルチスレッドだと簡単に破綻しそうだけどね。
0917名前は開発中のものです。
2006/11/07(火) 23:49:29ID:LeIp7IEUメインループの話は、マウス処理とかのフックとは別でしょ?
しかも、>>864 は別アプリのマウス処理をフックしたいって話だから
>>916 はそもそも間違えてる。
0918名前は開発中のものです。
2006/11/08(水) 00:04:21ID:PzBEheVj一応自分でぐぐってみたんだけど見つかりません。
0919名前は開発中のものです。
2006/11/08(水) 00:14:05ID:pix4d+V7みんなの心の中にありますヽ(´ー`)ノ
けんか腰の人はプログラムできない中坊とみなします。
0920名前は開発中のものです。
2006/11/08(水) 00:15:41ID:Ez0+ULCi教えて君氏ねよ
0921名前は開発中のものです。
2006/11/08(水) 00:29:44ID:lruYnhtq別アプリのフックの話だよ。
俺はDirectInputはやったことないが、D3Dのフックはいつもやってる。
っていうか、乱数のシードが云々言ってる人は、ゲームの実行中に
いつでも記録/再生ができるような万能リプレイを想像してるんじゃない?
起動する段階から入力を全て記録しておいて再生できるようにするってのは、
俺は自分のプログラムにはデバッグ用に組み込むことが多いよ。
記録/再生モードでは乱数のシード固定、fpsも固定してる。
乱数はタイトル画面の入力待ちのときに回してる。
0922名前は開発中のものです。
2006/11/08(水) 00:57:06ID:Cl3R/oTnデバイスの入力データは
IDirectInputDevice8::GetDeviceData又は
IDirectInputDevice8::GetDeviceStateから
得られる配列だろ。
フック云々やろうが、横取りするのは無理じゃね?
あ、イベント使用オンリー?
0923名前は開発中のものです。
2006/11/08(水) 01:06:22ID:CiKq08vx内部がマルチスレッドで動いていて
複数のスレッドが乱数生成機を共有して使っていたら(←これ自体どうかと思うが)
どうにもならないって話
0924名前は開発中のものです。
2006/11/08(水) 01:14:10ID:lruYnhtqAPIだろうがCOMだろうが、好きな関数にフックを仕込めるよ。
やり方は自分で勉強してくれ。OSが標準で用意してるわけじゃないから。
>>923
乱数を共有していなくても、ファイル読み込み等を別スレッドでやっていて
メインスレッドが待っている間に画面の更新をしていたりするだけで
厳しいと思う。
0925名前は開発中のものです。
2006/11/08(水) 01:42:30ID:Cl3R/oTnラッパーか、なるほど忘れてた
0926名前は開発中のものです。
2006/11/08(水) 01:54:34ID:4HOV88nB一回で済むため高速になる。
っていう理解でOKですか?
0927名前は開発中のものです。
2006/11/08(水) 02:06:40ID:Cl3R/oTnそれはドライバ以下実装依存だと思う。
その最適化を行う為には、VertexShader後頂点データを
どっかに保存しとかなきゃならない。
実際のチップは毎度毎度計算の方が速いから、そんなことしないよってパターンじゃないかな?
ってことでIndexBufferのメリットは、重複頂点が無くなってVertexBufferのサイズが減ってウマーの方か
0928名前は開発中のものです。
2006/11/08(水) 05:15:49ID:4HOV88nB0929名前は開発中のものです。
2006/11/08(水) 10:27:55ID:paxGIPEB>GPUはVertexShader後の頂点データを保存しなきゃならない
それが頂点キャッシュだろ。いくらGPUがパイプライン化しやすいからって、
ボーンやら照明計算を含んだ複雑な処理を、キャッシュから拾ってくるより
毎回計算する方が速いってこたぁない。
0930名前は開発中のものです。
2006/11/08(水) 11:20:58ID:Ez0+ULCi滅茶苦茶を断言で書くなよw
0931名前は開発中のものです。
2006/11/08(水) 12:28:30ID:lruYnhtq頂点の順番を並べ替えないと、ほとんど恩恵ないよ。
GeForce6で24頂点のFIFOだね。たぶん7も一緒。
0932名前は開発中のものです。
2006/11/08(水) 14:46:09ID:jIjbRi6u0933名前は開発中のものです。
2006/11/08(水) 22:06:45ID:RvQZC3kp実際Zバッファやバックバッファは毎フレーム破棄するように作れるし。
0934名前は開発中のものです。
2006/11/09(木) 06:28:09ID:dA8KH0sb何回もLock/Unlcokするのはいかにも遅そうな気がするんですけども。
0935名前は開発中のものです。
2006/11/09(木) 06:37:42ID:EoL+7LTgDrawPrimitiveを呼んで描画を開始させた方が速いと思う。
もちろんLockで処理がブロックしないように、NOOVERWRITEや
DISCARDを適切に使って。
0936名前は開発中のものです。
2006/11/09(木) 16:17:05ID:pnXhdXXRこんなところで質問してねーで実測しろよ。
0937名前は開発中のものです。
2006/11/09(木) 17:55:45ID:X56FVTntあるモデラからDirectX用に独自形式でデータ(モデルとスキンアニメーション)をエクスポートしているのですが、
そのモデラのZ軸は手前側がプラスなので、奥がプラスになるDirectXで表示すると変になってしまいました。
正常に表示するには、どうすれば良いのでしょう?
0938名前は開発中のものです。
2006/11/09(木) 19:00:04ID:lRUVCD7xアニメーションまで含んでるなら変換はそれなりに面倒。
長くなりすぎるのでキーワードだけ置いとく。[右手 左手 擬ベクトル]
0939名前は開発中のものです。
2006/11/09(木) 20:16:11ID:MOSFB80B0940名前は開発中のものです。
2006/11/10(金) 01:06:39ID:BfaFVTZm0941名前は開発中のものです。
2006/11/10(金) 20:06:55ID:hiaIqhZLポリゴンごとに一枚ずつ用意するのとどっちが良いんでしょうか?
0942名前は開発中のものです。
2006/11/10(金) 20:13:56ID:VWQOMstKだがDirectXで重いからやるなハゲといわれている事を
考えるなら答えは分かっているはずだ。
0943名前は開発中のものです。
2006/11/12(日) 07:25:35ID:dfs286Zpレス数が900を超えています。1000を超えると表示できなくなるよ。