【C++】 DirectX初心者質問スレ Part20 【C】
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2008/12/10(水) 18:39:33これらに当てはまる人のための質問スレです。
1.C/C++は多少理解している。
2.最近DirectXを始めたばかり
3.SDKを見ても、Googleで検索しても、いまいち理解できない人
4.余計な雑談は不要ですよ
【 回答してくださる方 】
・ できるだけ優しく質問に答えてあげてください。
・ 優しく教えるのが嫌でしたら、解決するためのヒントだけでも結構です。
「ググれ」「SDK見れ」以外の回答でおながいします。
・ 神ですら理解不能な質問は無視して下さい。
【 質問する方 】
・ どんな事で躓いているのか明確にしよう。
・ 長くならないなら躓いている部分のコードを晒してみれ。
・ 解決した場合、お礼を言うのは当然だが、何をどうしたら解決したかを明確に書こう。
・ 回答して貰ったら、出来るだけお礼もしよう。
【C++】 DirectX初心者質問スレ Part19 【C】
http://pc11.2ch.net/test/read.cgi/tech/1224942911/
0002デフォルトの名無しさん
2008/12/10(水) 18:41:490003デフォルトの名無しさん
2008/12/10(水) 18:43:330004デフォルトの名無しさん
2008/12/10(水) 18:52:21以降のスレ違い質問者は放置すること。
0005デフォルトの名無しさん
2008/12/10(水) 18:55:530006デフォルトの名無しさん
2008/12/10(水) 18:59:150007デフォルトの名無しさん
2008/12/10(水) 18:59:510008デフォルトの名無しさん
2008/12/10(水) 19:00:20無能な回答者から情報を利用してやりましょう。
0009デフォルトの名無しさん
2008/12/10(水) 19:02:13>>1乙
0010デフォルトの名無しさん
2008/12/10(水) 19:08:000011デフォルトの名無しさん
2008/12/10(水) 19:08:32自演乙(プ
0012デフォルトの名無しさん
2008/12/10(水) 19:10:13マナーも知らん奴しかいないからしょうがない
0013デフォルトの名無しさん
2008/12/10(水) 19:12:48おまえは言ったのか?
>>9==>>12かw
0014デフォルトの名無しさん
2008/12/10(水) 19:15:39乞うご期待!!
0015デフォルトの名無しさん
2008/12/10(水) 19:20:29ストレスで早死にしないように気を付けるか
0016デフォルトの名無しさん
2008/12/10(水) 19:21:340017デフォルトの名無しさん
2008/12/10(水) 19:22:540018デフォルトの名無しさん
2008/12/10(水) 19:24:350019デフォルトの名無しさん
2008/12/10(水) 19:35:53シェーダを語らずしてDirectXの何を語るんだ?
どう考えてもメインだと思うんだが
0020デフォルトの名無しさん
2008/12/10(水) 19:41:23>>3が勝手に書いてるだけだし
0021デフォルトの名無しさん
2008/12/10(水) 19:41:290022デフォルトの名無しさん
2008/12/10(水) 19:43:50自分の都合のいいようにルールを解釈するな。
0023デフォルトの名無しさん
2008/12/10(水) 19:45:270024デフォルトの名無しさん
2008/12/10(水) 19:45:33DirectXのコードを絡めての話なら別にいいが
0025デフォルトの名無しさん
2008/12/10(水) 19:46:29そんな人はプログラマやらんでよろしい
0026デフォルトの名無しさん
2008/12/10(水) 19:46:34過去の遺物にしがみついてる奴の言うことなんか気にするな
0027デフォルトの名無しさん
2008/12/10(水) 19:50:09誰が固定機能の話なんてしたんだ?
0028デフォルトの名無しさん
2008/12/10(水) 20:24:41C#で数行でしょ。
0029デフォルトの名無しさん
2008/12/10(水) 20:31:47MSDNで調べたらメッシュ頂点宣言に従法線フィールド、接線フィールドが含まれていない場合に失敗するって書いてあったんですが
どうやってメッシュ頂点宣言に従法線フィールド、接線フィールドを追加するんでしょうか?
0030デフォルトの名無しさん
2008/12/10(水) 21:04:54これらを追加した頂点要素を宣言して
普通に読み込んだメッシュ->CloneMeshでこの頂点要素を指定する
0031デフォルトの名無しさん
2008/12/10(水) 21:13:58できたー!!
ありがとうございます!!
0032デフォルトの名無しさん
2008/12/10(水) 22:15:26http://paintdotnet.forumer.com/viewtopic.php?f=27&t=1595
作れるものなら作ってくれ
0033デフォルトの名無しさん
2008/12/10(水) 22:25:25>>28
プ
C#で数行でしょ。だってよw
0034デフォルトの名無しさん
2008/12/10(水) 22:26:420035デフォルトの名無しさん
2008/12/10(水) 22:39:37フォーラムのほぼ全てのスレッドで、このスレのヒス回答者同様の回答しかしてない
可哀想に
0036デフォルトの名無しさん
2008/12/10(水) 23:41:070037デフォルトの名無しさん
2008/12/10(水) 23:49:21自分が回答してあげればいいのにな。
なんでしないの?できないの?
0038デフォルトの名無しさん
2008/12/10(水) 23:52:33スレ違い質問は回答などせずに放置でよろしく
0039デフォルトの名無しさん
2008/12/11(木) 00:01:57まともな答えが帰ってくるもんだよ。
回答者がヒスだのなんだのととち狂った事を言ってるお馬鹿さんは、
まずは自分の質問のレスをいろんな意味で見直した方がいいんでないの。
0040デフォルトの名無しさん
2008/12/11(木) 00:44:100041デフォルトの名無しさん
2008/12/11(木) 00:48:460042デフォルトの名無しさん
2008/12/11(木) 00:50:160043デフォルトの名無しさん
2008/12/11(木) 01:00:040044デフォルトの名無しさん
2008/12/11(木) 01:04:35相手にするだけ無駄
0045デフォルトの名無しさん
2008/12/11(木) 01:04:57ttp://paintdotnet.forumer.com/viewtopic.php?f=16&t=24191
0046デフォルトの名無しさん
2008/12/11(木) 01:11:18DrawIndexedPrimitiveにD3DPT_LINESTRIPを与えて直線を複数並べて描画したいのですがどのようにすればいいのでしょうか。
最終的にはオセロとか将棋盤みたいな升目を描画したいと思っています。
0047デフォルトの名無しさん
2008/12/11(木) 01:12:42そんな人はプログラマやらんでよろしい
0048デフォルトの名無しさん
2008/12/11(木) 01:13:590049デフォルトの名無しさん
2008/12/11(木) 01:19:53({0-8}, 0, 0), ({0-8}, 8, 0)
0050デフォルトの名無しさん
2008/12/11(木) 07:57:52CGしようぜ
0051デフォルトの名無しさん
2008/12/11(木) 08:27:32起動できねえんだよ
0052デフォルトの名無しさん
2008/12/11(木) 09:21:28現在 DirectX を使ったゲームを作ったのですが
そのアプリガどのdllを使っているのか
どうやって調べればいいでしょうか?
0053デフォルトの名無しさん
2008/12/11(木) 10:20:22D3DDEVTYPE_REF(笑)
>>52
Depencancy Walker
0054デフォルトの名無しさん
2008/12/11(木) 12:21:35あるがとう
0055デフォルトの名無しさん
2008/12/11(木) 16:26:430056デフォルトの名無しさん
2008/12/11(木) 16:32:080057デフォルトの名無しさん
2008/12/11(木) 16:41:46APIスレなどに湧いているアフォは総スルーで。
0058デフォルトの名無しさん
2008/12/11(木) 20:01:59何様だよお前は
0059デフォルトの名無しさん
2008/12/11(木) 20:03:590060デフォルトの名無しさん
2008/12/11(木) 20:10:36相手のことなんかこれっぽっちも考えてないのに
よくもまぁそんな心にもないこと書けるな…とは思う
「何様だよ」とまでは思わないが
ろくない回答できないのに傲慢さだけは一丁前の奴が多く
「死ねばいいのに」とは思う
0061デフォルトの名無しさん
2008/12/11(木) 20:22:46実際、まともな回答をもらっている人間もいる
0062デフォルトの名無しさん
2008/12/11(木) 20:23:370063デフォルトの名無しさん
2008/12/11(木) 21:07:480064デフォルトの名無しさん
2008/12/11(木) 21:11:13そんなのネットでもリアルでも常識です
回答者が悪い=質問者が悪い、と考える事のできない
思考停止の>>60みたいな人は、何度でも同じことを繰り返します
本人の為にならないと言うよりむしろ、そういう>>60のような人は
存在自体が社会の為になりませんよ
0065デフォルトの名無しさん
2008/12/11(木) 21:13:100066デフォルトの名無しさん
2008/12/11(木) 21:30:49社会の為にならない
ですか
なにさまのつもりだろうね
0067デフォルトの名無しさん
2008/12/11(木) 21:47:45馬鹿はスルー。今も昔もそれ一択。
0068デフォルトの名無しさん
2008/12/11(木) 22:01:130069デフォルトの名無しさん
2008/12/11(木) 22:19:04やらなければならないのはどんな手を使ってでも
ただ回答者に回答を答えさせるということ
無駄に気分を害したり嫌味を言ったりするのは意味がない
0070デフォルトの名無しさん
2008/12/11(木) 22:54:27いつまで粘着してんのこの人は
早く自分で作る(笑)作業に戻りなさいな
0071デフォルトの名無しさん
2008/12/11(木) 23:13:240072デフォルトの名無しさん
2008/12/11(木) 23:13:53いつまで粘着してんのこの人は
おまえらはおとなしく回答してればいいんだよ
質問が理解できなかったり
回答できるほど知識なければ黙ってればいいんだよカス
0073デフォルトの名無しさん
2008/12/11(木) 23:21:453.0となしで3種類作っとけ
0074デフォルトの名無しさん
2008/12/11(木) 23:45:03とこのスレ住民には誰一人、君の難解な質問には返答できないから
いつまでもここにいてもしょうがないんじゃね?
返答できない人に回答してればいいって矛盾だらけですな
0075デフォルトの名無しさん
2008/12/11(木) 23:48:580076デフォルトの名無しさん
2008/12/11(木) 23:50:540077デフォルトの名無しさん
2008/12/11(木) 23:51:14そんな暇あるなら自分で作る方が早いのに、なんでしないのかしら?
自分で言った事すら実行できない。それが>>72クオリティ
0078デフォルトの名無しさん
2008/12/11(木) 23:52:58いるかいないかで言えばいる
その手のは未だにサポート宛に来るし
でもここ1年ぐらいでだいぶ減った感じだけど
0079デフォルトの名無しさん
2008/12/11(木) 23:53:42前スレから粘着してる荒らしさんだから気にすることはないよ
0080デフォルトの名無しさん
2008/12/12(金) 00:07:56ttp://www.4gamer.net/games/025/G002552/20081211014/SS/018.jpg
0081デフォルトの名無しさん
2008/12/12(金) 00:11:140082デフォルトの名無しさん
2008/12/12(金) 00:11:210083デフォルトの名無しさん
2008/12/12(金) 00:19:51理解できましたかね。
0084デフォルトの名無しさん
2008/12/12(金) 00:23:180085デフォルトの名無しさん
2008/12/12(金) 00:24:28やや駄目なぐらいなら最初に見かけた人が答えてくれるかどうかだな
一旦変な流れになればもうその答えが返ることはない
変な流れのときはややマシな質問しても駄目、書き込む前にスレが荒れてないかはチェックした方がいい
0086デフォルトの名無しさん
2008/12/12(金) 00:34:55キャラも立体なのかと思ったら違うのなw
見たこと無いネトゲだw
0087デフォルトの名無しさん
2008/12/12(金) 00:54:13そんなことねぇだろ
ただ、回答者のレベルは似たようなもんのような気がするな
レスがつかないのは
1.みんな知らない(やってることが特殊過ぎ)、
2.何を聞いてるのか意味不明、
3.あまりにも簡単すぎて「てめー自分でミリ程度も考えないで丸投げしただろ?シカト決定」的なもん
とで大抵分かれる
なんで「知ってる人いませんか?」的なレスはつけなくても
レスがなかったら1〜3のどれかだから諦めて別のコミュニティに頼ったほうがよさげ
そういう意味で俺はマルチポストは最近許容範囲になった
0088デフォルトの名無しさん
2008/12/12(金) 02:33:25思い直して自力で洗い直ししてたらバグ発見できた・・・
「Detected memory leaks!」って出力されなくても、なんかADDRESS云々っていうダンプが出てきたら
やっぱりリークしてるんですね、勉強になた
0089デフォルトの名無しさん
2008/12/12(金) 02:47:244.スレ違いな質問
が抜けてるよ
0090デフォルトの名無しさん
2008/12/12(金) 08:02:51内容を伝えきれていないと言うのを
自覚するべきですね。
意地悪とかじゃなくてほんとに意味がわからない
アルファの人は言語は違うがC#なら
0から作ってもコード300行も要らないですよ
0091デフォルトの名無しさん
2008/12/12(金) 08:04:440092デフォルトの名無しさん
2008/12/12(金) 08:11:070093デフォルトの名無しさん
2008/12/12(金) 11:58:48CoCreateInstance でオブジェクトを作成した場合は、IUnknown インターフェイス ポインタを要求した後、IUnknown::QueryInterface を呼び出すことによって、必要なすべてのインターフェイスを要求できる。
返すインターフェイス ポインタを指定できないオブジェクト作成メソッドを使う場合は、まったく役に立たない。
とあるんですが、これはつまり
DirectSoundCreate8(NULL, &pSound, NULL);
pSound->CreateSoundBuffer(&BufDesc, &pBuffer, NULL);
pBuffer->QueryInterface(...)
;
pBuffer->Release();
みたいな使い方は出来ないってことですか?
それとも
pSound->QueryInterface(...);
pBuffer->Release();
みたいな使い方が出来ないってことですか?
0094デフォルトの名無しさん
2008/12/12(金) 12:41:200095デフォルトの名無しさん
2008/12/12(金) 18:12:52それをTriangleListで描く場合
どのように並べ替えるのがいいのでしょうか?
時計回りで頂点を指定する場合
X座標で小さい順に並べて
まず一番小さいの選んで
次の頂点は、Xは初めの頂点と同じか大きい、Zも同じか小さい
3番目の頂点はXは2番と同じか小さい、Zは2番と同じか小さい
など考えたのですが
これだと同一箇所に頂点があるとポリゴン同士が重なってしまいます。
面積が最小のポリゴンで重なりなく全ての頂点を使うには
どのような並べ替え方をすればいいのでしょうか?
0096デフォルトの名無しさん
2008/12/12(金) 18:19:59原因がわかってるんだったら
ソートの段階で同一箇所に頂点があったら省けばいいんじゃ
0097デフォルトの名無しさん
2008/12/12(金) 18:33:43ポリゴンが描けない欠け、が発生するのです。
TriangleListにしてるのもその為です
stripにするとさらに複雑になってしまいます。
面積が最小というのも実際はyもそれぞれ違うからです。
他に考えられるのは今選んでいるのが、三角形のどこか
判定して他の全ての頂点との距離を測ってから
同一ではないならその順番で上記の判定するなんですが
物凄く判定に時間かかります。
0098デフォルトの名無しさん
2008/12/12(金) 18:49:56面情報を記録してください
0099デフォルトの名無しさん
2008/12/12(金) 19:01:02{
// このなかで0.5秒ごとに何かをするにはどうすればいい?
}
0100デフォルトの名無しさん
2008/12/12(金) 19:03:54ポリゴンの最適化の問題だね
しかしこれは難しいgemsに書いてあった気がする
答えられる奴はいないと思う
0101デフォルトの名無しさん
2008/12/12(金) 19:07:41またしてもdirectx関係ないしw
そこにきたときに秒数とればいいだろ
ごとは理論的に無理だがな
0102デフォルトの名無しさん
2008/12/12(金) 19:33:070103デフォルトの名無しさん
2008/12/12(金) 19:33:300104デフォルトの名無しさん
2008/12/12(金) 19:34:30またしてもdirectx関係ないしwとな?
0105デフォルトの名無しさん
2008/12/12(金) 19:38:530106デフォルトの名無しさん
2008/12/12(金) 19:44:08while(TRUE)
{
Sleep(500);
0.5秒ごとの処理
}
0107デフォルトの名無しさん
2008/12/12(金) 19:44:190108デフォルトの名無しさん
2008/12/12(金) 19:45:31http://pc11.2ch.net/test/read.cgi/tech/1229078397/
0109デフォルトの名無しさん
2008/12/12(金) 19:47:32これを見てDirectXと関係ないとか脳沸き杉だろwww
0110デフォルトの名無しさん
2008/12/12(金) 19:50:10の意味を教えてくださいってことだろ
fElapsedTimeが前フレームからの経過時間
fTimeがその累計
ちなみにミリセカンドじゃなくて
たとえば60FPSで回してればfTimeは0.01666....
あとはわかるよな?
0111デフォルトの名無しさん
2008/12/12(金) 19:50:430.01666....になるのはfElapsedTime
0112101
2008/12/12(金) 19:54:20いたったか書いておくよ
質問者は本当に回答者が苦労してるの知るといい
またしてもdirectxと関係ない書き込みだな〜
FrameRenderってことはアニメーションかな?
引数でfTimeがあるからほぼ確定だな
でも時間を引数にとってるのにわからない?
コピペはいいけど内容は理解するようにしないとこうなるな
で時間のとり方がわからないのかな?
FrameRenderはどういう構造になってるのか書いてないな
通常の処理のみなのかな?
このなかでってことは本当にこの中って意味なのかな?
次にこの関数が呼ばれた時も含むとかもありえるな
時間のとり方がわからないってことは
この関数の呼ばれ方も理解してないだろうし
とりあえず
秒数取るとかいとくか、こうすればググレばスレ違いの質問って
わかるでしょ。
>>106嘘を教えないように
>>109そんなこといってたたらC++で全て聞けばいいじゃん
C++使ってるんだから、おかしいよ君
それとここで普通に回答してるのほとんど俺だから
ためしに3ヶ月ほど書かなくするよ、がんばってね
0113デフォルトの名無しさん
2008/12/12(金) 19:56:07はいはい、もうこなくて結構ですよ
0114デフォルトの名無しさん
2008/12/12(金) 19:58:470115101
2008/12/12(金) 20:03:08そもそも、DXUT使ってるとは限らないし
関数は自作(改造できる)んですから
まあコピペですが
引数の命名にいみがあるんですから
それを調べるのが普通なんですけどね
それがわかれば>>111ですが
この関数内自体ループだと思うんで結局
自前で時間とるしかないんですよ
0116デフォルトの名無しさん
2008/12/12(金) 20:07:43てことは有益なのは101だけじゃねえかw
オマイラ乙
0117デフォルトの名無しさん
2008/12/12(金) 20:14:21それだと関数はいる前でいいわけだしな
この関数内部がloopまたは再帰してるって事考慮してない。
>>106は論外止めてどうする
>>110も関数内部の予測ができてない
やっぱり>>111かよでも答え方がな
0118デフォルトの名無しさん
2008/12/12(金) 20:15:210119デフォルトの名無しさん
2008/12/12(金) 20:16:35だからバカを相手にするな、スレ違いは放置だと言っているのに。
0120デフォルトの名無しさん
2008/12/12(金) 20:27:350121デフォルトの名無しさん
2008/12/12(金) 20:37:38自分だって大したレスつけてないのに
0122101
2008/12/12(金) 20:38:36アルファ描くソフトより前に「彼」だろう書き込み
見つけた時からdirectxを利用してるが
プログラム自体初心者と読み取れたので
質問の前に〜を書き込みましたが
煽りや意地悪と捉えてみたいですね
デバックの仕方を勉強すればいいとは
思うんですがしないようですね。
デバックをして中身みて解決できるのは
directx関連の質問ではないと理解できればいいんですが
>>99
今回のもその関数の引数をその関数前にどうしてるか
調べればわかります。
以上です。スレ汚して住みませんでした
0123デフォルトの名無しさん
2008/12/12(金) 20:47:08自演?そう自演ですよ
質問も回答もね
うそですちゃんとデスマスで聞くんでこれからも回答よろしくお願いします
0124デフォルトの名無しさん
2008/12/12(金) 22:51:23あまりの荒れっぷりに逃げちまったのか?
0125デフォルトの名無しさん
2008/12/12(金) 22:53:560126デフォルトの名無しさん
2008/12/12(金) 22:55:170127デフォルトの名無しさん
2008/12/12(金) 22:57:100128デフォルトの名無しさん
2008/12/12(金) 23:15:32DXUTは単なるサンプルコード集だから
個人が書いたコードと同じ
それを知ってる知らないとか意味がない
dll内のとは次元が違うんだよ
自分の無能を知られる書き込みするべきでない
0129デフォルトの名無しさん
2008/12/12(金) 23:25:40あれの複雑さは異常だまたエスパー必要な質問してくるだろ
0130デフォルトの名無しさん
2008/12/12(金) 23:33:52DXUTは邪道とか勝手に決め付けて一度も目を通したことにないタイプの人間だろ
使う使わないは別問題として概略くらいは知っておくべきだと思うぞ
0131デフォルトの名無しさん
2008/12/12(金) 23:44:10DrawFrameで秒ごとにアニメーションさせたいんだろうけど
->BeginScene() と->EndScene();のあいだを止めても
->EndScene();の後がレンダリング結果なんだから
やりたいことはできないんだけどなw
>>130その前に質問者も101もDXUT使ってるとは
言ってないぞ?使わないのに関数名表記も覚えてるって
ありえんだろ
0132デフォルトの名無しさん
2008/12/12(金) 23:55:43ゲームループの概念すら解かってないこともあるから
エスパーしだしたら切りがない
質問者が帰ってこないならこの話は終わりだろ
0133デフォルトの名無しさん
2008/12/13(土) 00:08:22・ 回答して貰ったら、出来るだけお礼もしよう。
こいつはしとことないなww
・ どんな事で躓いているのか明確にしよう。
ゲームを作ろうと思ってから全てかけww
・ 長くならないなら躓いている部分のコードを晒してみれ。
おれのMPでは無理wお前は全部さらせwww
何をどうしたら解決したかを明確に書こう
ここに書いてあるのをコピペしましたww
0134デフォルトの名無しさん
2008/12/13(土) 00:11:57DirectXは全く関係ないわけで
それこそ>>106のレスで質問に対する回答としては十分ですが、何か?
0135デフォルトの名無しさん
2008/12/13(土) 01:03:20::SetWindowTextA(::DXUTGetHWND(), "⊂二二二( ^ω^)二⊃");
} else {
::SetWindowTextA(::DXUTGetHWND(), "(´・ω・`)");
}
これだけのことよね。
0136デフォルトの名無しさん
2008/12/13(土) 01:07:590137デフォルトの名無しさん
2008/12/13(土) 01:20:42変数の型的にちがくね
関数入ってからからカウントしなきゃいけないんだから
引数は片方(起動からの時間)しか使えないだろ
てか使わないな
0138デフォルトの名無しさん
2008/12/13(土) 13:02:20前スレでも少し話題になっていたようですが、D3DXに浮動小数点を扱わせた場合、
D3DXの「最も高速な手法を選択して計算する」のせいで、環境によって結果が微妙にずれてしまいます
そこで、SSE2対応を必須条件とすることで対応しようと思ったのですが、
SSE2よりも新しいテクノロジーにPCが対応していた場合、そちらが選択されてしまうようです。
何かしらのほうほうで、選択するテクノロジーを制御することはできないでしょうか?
0139デフォルトの名無しさん
2008/12/13(土) 13:19:15CPUID命令
0140デフォルトの名無しさん
2008/12/13(土) 13:20:350141デフォルトの名無しさん
2008/12/13(土) 13:24:54SSE2より上位の命令が使えたとしても計算結果は変わらない。
そういう問題が起きるならば原因は別のところにある。
0142デフォルトの名無しさん
2008/12/13(土) 13:28:11そこまで気にするなら、行列演算くらい自分で作るか適当な
ライブラリ拾ってきたら?
簡単な処理だし、一度も組んだことないなら一度くらい自分で
組んでみるのもいい。
0143デフォルトの名無しさん
2008/12/13(土) 13:36:10こんな事も解決できないスキルで自作できる訳がない。
floatのデフォルトの精度ならずれんし、doubleならDXと併用すると精度変更されておかしくなることがあるから、計算前に精度指定汁。って散々既出なのに・・・。
0144デフォルトの名無しさん
2008/12/13(土) 13:43:360145デフォルトの名無しさん
2008/12/13(土) 13:47:26どなたかお願いします。
0146デフォルトの名無しさん
2008/12/13(土) 13:49:55自作なども考えましたが、Xファイルの読み込みやら、スキニングアニメ、アニメーション合成などでD3DXに頼っているためそうもできないのが現状です。
SSE以降はFP-strict準拠になりつつある(なった?)という記事も読んだため、確かに問題が別のところにあるのか?とも考えました。
ずれるのは、Pen4である私の環境と、Athlon 64 X2である友人の環境です。
私の環境では、D3DXがSSE2で動作するのを確認済みです(デバッグプレイ時の出力により)
友人のところでは何で動作しているのかは不明です。
Wikipediaによると、Athlon64X2の拡張命令は
MMX, Extended 3DNow!, SSE, SSE2, SSE3, AMD64, Cool'n'Quiet, NX Bit
だそうです。
任意でSSE2を選択させられれば、同じ結果になるのかと期待しています。
Direct3Dの初期化時には、D3DCREATE_FPU_PRESERVEを指定し、floatの精度が落とされるのを防いでいます。
念のため_controlfpでお互いの精度を確認しましたが、同一でした。
0147デフォルトの名無しさん
2008/12/13(土) 13:55:03>floatのデフォルトの精度ならずれんし
嘘つくな
0148デフォルトの名無しさん
2008/12/13(土) 13:55:24俺には、何故そんな事をしようとしているかわからない。
0149デフォルトの名無しさん
2008/12/13(土) 13:56:06結果が異なる例を挙げてみてくれ
0150デフォルトの名無しさん
2008/12/13(土) 13:56:53とりあえず APIHijack を試すといいわよ。
0151デフォルトの名無しさん
2008/12/13(土) 14:01:54情報ありがとうございます。
NyaRuRuさんという方がこの問題にと組んでいたようで、そこを参考にAPIHijackを試し、
「DisablePSGP と DisableD3DXPSGP を1にし、拡張命令ではなくx87で計算させるようにする」
という手法は試しました。
確かにx87で動作するようになりました。
ですがx87自体がそもそも80bit計算ということで、SSEなどのようなFP-strict性を持たないようです。
(一部のサイトでは、x87FPUの動作は変態的と書かれていました)
DisablePSGPのような感じで、SSE2を利用することを促すレジストリ値などがあるのでしょうか?
もしありましたら教えていただきたいと思います。
何分DisablePSGPなどは、ぐぐってもほとんどひっかからないようなマイナー系?隠し?要素っぽいので・・・
0152デフォルトの名無しさん
2008/12/13(土) 14:05:23D3DX全ての機能を自分で実装しろと言ってるわけではなく、
リプレイ等に影響する部分だけを自作すりゃいいんだよ。
比較的面倒なView, Projection系の処理は関係ないし、
アニメーション関係もいらない。
0153デフォルトの名無しさん
2008/12/13(土) 14:06:25OCしたりしてるんじゃないの
以前同一PCで結果おかしくなったことあるから
0154デフォルトの名無しさん
2008/12/13(土) 14:09:03違いがあるって認識したのですか?
View, Projection系も違いがあると言ってるんじゃない?
0155デフォルトの名無しさん
2008/12/13(土) 14:15:24お返事ありがとうございます。
情報が欠けていたことを反省します。
ゲームのシステム上、ポリゴン人形のボーン位置に依存して攻撃を発生させるのです。
例えば、ポリゴン人形の「手」の位置を示すボーン。それが差す位置に攻撃判定を発生させます。
そのため、そこが微妙にでもずれると、攻撃が当たったり、当たらなかったりします。
結果ズレが生じてしまうのです。
ボーンの位置の計算は、やろうと思えば自前でできます。行列のかけあわせだけですので。
ただ、アニメーション合成も行っているため、このあたりはかなりきついです。
私の実力不足と言えばそうなのですが…。
行列>クォータニオン>合成結果のクォータニオン>行列 とする必要がある(と思う)のですが、
行列クォータニオン間の変換もD3DXに依存しない方法でやったことはありません。これは勉強しだいで自分で実装できるとは思います。
違いがあると発覚したのは「初期状態とキー入力のみでリプレイファイルを構成し、再生する」という行為をやっていてです。
最初はもちろん自分を疑い「変数の初期化忘れなどで、初期状態が異なったのでは?」と思い、確かにその通りでした。
そういうものをつぶしていき、Intel系のCPU(友人のほとんどがこれ)で結果矛盾が起きなくなったことを確認しました。
最近になってAthlon系の友人がたまたま結果が若干異なることを発見し、今回の問題発覚となりました。
0156デフォルトの名無しさん
2008/12/13(土) 14:24:06ゲーム中でも違うって事か
0157デフォルトの名無しさん
2008/12/13(土) 14:25:53>Direct3Dの初期化時には、D3DCREATE_FPU_PRESERVEを指定し、floatの精度が落とされるのを防いでいます。
これが間違っている。ドキュメントなんて信じるな。
>念のため_controlfpでお互いの精度を確認しましたが、同一でした。
これも間違っている。これで得られる値はいい加減。
SSEっていうのは上位になればなるほど使える命令増えるだけで、演算結果には何も変化はないからね。
途中でfloatとdoubleを行ったり来たりしてないよね?
ちゃんと、変数の値をダンプ等を行って確認している?結果だけみて判断しているように思えるんだが。
チェックコードを沢山埋め込んで、どのタイミングで演算結果がおかしくなるか突き止めれば、本当の原因がわかるかもね。
0158デフォルトの名無しさん
2008/12/13(土) 14:31:54D3DCREATE_FPU_PRESERVE は float に最適化するオプションだと思うけど
プログラム側で double とかを使わないなら、
むしろ D3DCREATE_FPU_PRESERVE を指定しない
(floatに特化してもらった)方がいいんじゃないかしら。
0159デフォルトの名無しさん
2008/12/13(土) 14:32:46○D3DCREATE_FPU_PRESERVE は float に最適化しないオプション
ね。
0160デフォルトの名無しさん
2008/12/13(土) 14:33:34Athlon64x2環境で作ったリプレイデータを某Windowsベースのアーケード基盤や
Pen4やC2DやCeleronでもずっと回してたけど一回も狂わなかったし。
ただし行列関連の処理は全部自前で用意してたけどな。
0161デフォルトの名無しさん
2008/12/13(土) 14:37:19ちなみに、設定値はスレッド毎に独立していて、スレッド作成されると継承されてたかなっと。
ヘッダ
unsigned short __cdecl Get8087CW();
void __cdecl Set8087CW(unsigned short cw);
#define DEFINE_FPCW_VAR(v) unsigned short v;
#define SAVE_FPCW(v) v = Get8087CW()
#define LOAD_FPCW(v) Set8087CW(v)
#define NORMALIZE_PC(v) Set8087CW(v | 0x0300)
ソース
__declspec(naked) unsigned short __cdecl Get8087CW()
{
__asm
{
sub esp, 4
wait
fnstcw [esp]
pop eax
ret
}
}
__declspec(naked) void __cdecl Set8087CW(unsigned short cw)
{
__asm
{
fldcw [esp+4]
ret
}
}
0162デフォルトの名無しさん
2008/12/13(土) 14:38:17否定するだけで情報はださない
>>158
推測だけでものを言う
>>160
根拠のない俺経験を発表して偉ぶる
0163デフォルトの名無しさん
2008/12/13(土) 14:41:26言ってることとやってることが違う気がする。
今でもD3DX以外の部分ではx87使っているんだよね?
話のレベルから、実は64ビットOS用のバイナリってことは無いと思うけど。
で、D3DX以外の部分は、x87の設定を合わせることで計算結果が一致すると暗に仮定しているのに、
D3DXだけx87を使うと合わなくなるという。なんかおかしくね?
>前スレでも少し話題になっていたようですが、D3DXに浮動小数点を扱わせた場合、
>D3DXの「最も高速な手法を選択して計算する」のせいで、環境によって結果が微妙にずれてしまいます
これほんとに確かめた?
実際のところ、この入力値の組み合わせでずれるってのが確認できてなくて
単に推測でD3DXを疑ってるだけなんじゃない?
0164デフォルトの名無しさん
2008/12/13(土) 14:41:320165デフォルトの名無しさん
2008/12/13(土) 14:42:43同人ゲームとかの板でリプレイで祭りになってんだろ・・・。
CPUメーカーごとに実装が違いますつったらなんのための規格統一なんだよ。
0166デフォルトの名無しさん
2008/12/13(土) 14:51:15ドキュメント信じちゃいけないのはきついです。
どんな感じに間違っているのでしょうか?
floatとdoubleの行き来はしていません。floatで統一しております。(ソース中、doubleは一度もでてきません)
ゲーム結果や、途中でのキャラの位置(当然攻撃をくらった、くらわなかったで、同一時間での位置がずれます)を見ても、やはりずれていましt。
特にわかりやすいのは、ゲーム的には同じ決着がついているように見えても、
最後の「キャラクターの位置」の出力を見ると x=10.53126f とこちらでなっていても、athlon環境だと x=10.53120f のように、微妙にですが食い違っているのほとんどです。
(数値は例です。かなり小さな値で違いがあるということです)
>>158
うーん、どうなんでしょう
>>163
すいません、そこが大問題なのかもしれません
「D3DX以外の部分ではx87使っているんだよね?」に対して、明確に答えることができません。(無知すいません)
何も考えずにfloat計算をすると、通常x87が使われるのでしょうか?
例えば float a = 1.0f; a + 0.5f; というプログラムなどです。
>これほんとに確かめた?
この件も申し訳ないです。
「単なるfloat同士の計算なら、環境に左右されず同じ結果になる」
「拡張命令を使うと、拡張命令の種類によって結果が異なる」
という私の思い込みがあります。断言しているのは良くなかったです。
>>165
同人ゲームでも、この問題は出ているようですよ。リプレイで微妙にずれると
祭りになっているのかはわかりませんが・・・例えば
ttp://www.01step.net/tobitsuki/bbs/test/read.php/tobi_bbs/1116256631/13-112
などです
0167デフォルトの名無しさん
2008/12/13(土) 15:04:2501stepのはD3DXのSIMD命令のせい
0168デフォルトの名無しさん
2008/12/13(土) 15:14:41>何も考えずにfloat計算をすると、通常x87が使われるのでしょうか?
>例えば float a = 1.0f; a + 0.5f; というプログラムなどです。
はい、使われます。
足し算にもかけ算にも三角関数にも。
VC++で全ての浮動小数点数演算をSSE2に固定したかったら、
出力を64ビットWindows用にするぐらいしかないんじゃないかな、いまのとこ。
0169デフォルトの名無しさん
2008/12/13(土) 15:17:26その正しい演算結果自体が間違っていたら駄目だけど。
どうしても解決できなければ、小さい値で判断せずにある程度丸めちゃって手抜きするのも有り。
どうせ表示に関しては同じになるよね?
時には妥協も大切だw
0170デフォルトの名無しさん
2008/12/13(土) 15:26:03拡張命令(SSEだとか、SSE2だとか、3DNow!だとか)の違いによるせい。ということでしょうか?
それならば、それを統一させる(強制的にSSE2を使わせる)ような方法はないかな?と思うのですが、いかがでしょうか
>>168
なるほど。となると、逆にx87で統一する
「DisablePSGP と DisableD3DXPSGP を1にし、拡張命令ではなくx87で計算させるようにする」
のほうが、良いのかもしれませんね…。
>>163の方に誤解を生じさせてしまったようですが、
>で、D3DX以外の部分は、x87の設定を合わせることで計算結果が一致すると暗に仮定しているのに、
はい、確かに仮定してしまっていました
>D3DXだけx87を使うと合わなくなるという。なんかおかしくね?
いえ、x87を使わないでD3DXに自動でまかせると合わなくなる(と推測していた)のです。
x87を使いたくないようなセリフは、
・通常のfloat計算にx87が使われているのを知らなかった
・x87は、CPU全体的から見ると変態的(FP-strictではない)だというサイトを読んだ
ためです。
>>169
試しに、1.000の桁未満のものは切り捨てるように
x = (float)((int)(x * 1000.0f)) / 1000.0f;
とやってみたことがあります。
これでほとんどの場合は完全一致するようなりました。(キャラの位置座標が、末尾まで一致しました)
ですが、まれに、やはりずれてしまうのです。
x87を使った、通常のfloat計算についてなのですが、もしかしてコンパイルオプションの
/fp:strict を指定することによって、環境に左右されず同一値を出すようになったりしますでしょうか?
0171デフォルトの名無しさん
2008/12/13(土) 15:34:142PCのネットワーク対戦ってこと?
だったら二つのPCで当たり判定を行って、お互いの判定結果を照合して
両方当たりだったら当たりとすりゃいいんでない?
0172デフォルトの名無しさん
2008/12/13(土) 15:37:08パターンA D3DXがSSE2で動作
パターンB D3DXがx87で動作
パターン0 _controlfp( PC_64, MCW_PC )
パターン1 _controlfp( PC_64, MCW_PC )
パターン2 _controlfp( PC_64, MCW_PC )
とし、組み合わせで結果を確認しました。
全て私のPen4マシンでのものです。
コンパイルオプションで /fp:strict を指定しました。
A+0、A+1、A+2とも、挙動が異なりました。精度が違うのですからまぁ当たり前かと思います。
A+0 と B+0についてです。
前者はSSE2がFP-strictであるそうですし、後者はオプションでstrictを指定したx87計算です。
結果が完全一致するのでは?と期待しましたが、やはりfloatの最末尾レベルの誤差はでてしまうようです。
A+1とB+1、A+2とB+2についても同様でした
0173デフォルトの名無しさん
2008/12/13(土) 15:37:53パターン0 _controlfp( PC_64, MCW_PC )
パターン1 _controlfp( PC_53, MCW_PC )
パターン2 _controlfp( PC_24, MCW_PC )
でした。
0174デフォルトの名無しさん
2008/12/13(土) 15:45:390175デフォルトの名無しさん
2008/12/13(土) 15:49:13ってのが趣旨じゃないか?
0176デフォルトの名無しさん
2008/12/13(土) 15:53:15>>173
だからD3DXが完全にSSE2“だけ”使ってるとは仮定できないんだって。
>パターンA D3DXがSSE2で動作
>パターンB D3DXがx87で動作
つまりここがおかしくてだな。
パターンA D3DXがSSE2+x87で動作
パターンB D3DXがx87で動作
ぐらいに考えておかないと。
そもそもx87レジスタからSSE2レジスタに持っていくだけで丸めが発生するし
SSE2には存在しない超越関数(例えばsinとかcosとか)を
D3DXがどう扱っているかも分からない。
D3DXの中でもあちこち三角関数は使われてるだろうけど
その中に常にx87命令使ってる箇所が1カ所でもあったら
_controlfpの影響は常に及ぶことになる。
0177デフォルトの名無しさん
2008/12/13(土) 15:58:42なるほど…。D3DXがSSE2で動作を始めたとしても、内部でx87をまったく使わないですべてSSE2でやっているとは仮定できないわけですか…。
D3DXはSSE2(ないしはそれ以降の、FP-strictな拡張実装)で動かし、
通常のfloat計算などはSSE2のみを使ったFP-strictな自作構造体に置きかえる
というのを検討していましたが、それもダメそうですね…。
0178デフォルトの名無しさん
2008/12/13(土) 16:01:070179デフォルトの名無しさん
2008/12/13(土) 16:03:37初心者に使えるものなの?
無料無償公開されてるの?
0180デフォルトの名無しさん
2008/12/13(土) 16:03:59所詮誤差程度のずれであるならリプレイ上問題にならんわけだし
数分で勝負がつく格ゲーだと仮定して、当たった時の時間と判定部位、
効果の情報だけ記録するならさほどのデータ量にもならんだろ
0181デフォルトの名無しさん
2008/12/13(土) 16:12:01不安でないの?
0182デフォルトの名無しさん
2008/12/13(土) 16:22:17上の質問者の話と、通常のfloatはx87で行われるとの情報を総合すると
やっぱり通常のfloat計算以外の部分、つまり拡張命令の違いしか違いがないのでは??
通常float計算がお互いx87で。D3DX部がSSE2以降の統一規格で動いているのなら、結果は一緒になるはずでは?
0183デフォルトの名無しさん
2008/12/13(土) 16:24:180184デフォルトの名無しさん
2008/12/13(土) 16:31:45レジスタからメモリに退避するタイミングが異なるとか
0185デフォルトの名無しさん
2008/12/13(土) 16:37:44同じにするのではなく違う事を考慮して作れっての
0186デフォルトの名無しさん
2008/12/13(土) 16:39:25その男は、昔からローマ法王に是非会いたいと念願していた。
ついにイタリアに行った彼は、長年の夢を果たそうとサン・ピエトロ寺院で、
一番いい一張羅を着て、群集の中にまぎれこんだのである。
いい服を着ていれば、ローマ法皇が自分に気づいて話しかけてくれるのではないかと思ったのだ。
ローマ法皇は、ゆっくりと(そして男に気づく気配もなく)人々の前を歩いて来た。
そして、ひとりの乞食にその慈顔を向けると、
穏やかな笑みを浮かべて乞食に何か語りかけると、通り過ぎていったのである。
男はとても反省した。
いい服を着て法王に目を留めてもらおうなんて、自分はなんてはしたない考えを持っていたのだろう。
貧しき者にこそ、神は慈悲深き目を向けるのである。
一計を案じた男は、先程の乞食に頼んで、千ドルで自分の服と乞食の服とを交換してもらうことにした。
次の日、また法王が人々の前を通りかかった。
すると法王は(乞食の服を着た)男に近づいてきたのである。
そして、男の耳に口を寄せると、やさしい声でこう言われた。
「昨日、目障りだから消え失せろと言ったはずだぞ」
0187デフォルトの名無しさん
2008/12/13(土) 16:40:39アニメーション合成によるボーンの位置に依存するのが前提なわけだが、まさか合成するなとかボーンに依存するなとか?
0188デフォルトの名無しさん
2008/12/13(土) 16:40:40だれもスレ違いと言い出さないことにちょっとワロタ
0189デフォルトの名無しさん
2008/12/13(土) 16:47:34SSE2を使うだけで自動的にFP-Strictになるわけじゃないよ。
SSE2が数値計算的に好ましいのは、SSE2の四則演算を使うと
Intel以外のCPUでの浮動小数点数演算と同じ結果になるのがうれしいだけの話。
浮動小数点演算の順序を入れ替えたり
割り算をかけ算に書き換えるような最適化を行うか行わないかで
計算結果はいくらでも変わる。
計算を再現させる大前提はまず同じ設定・同じ命令で計算させることであって
そのケースなら別にx87でも本来再現するはずなんだよ。
そこを疑うならまず再現方法示してくれってこと。
D3DXで違いが出るのはCPUによって「同じ命令で計算」の前提が崩れるから
別に再現しなくてもおかしくない。
_controlfpで違いが出るのも「同じ設定で計算」の前提が崩れるから
別に再現しなくてもおかしくない。
0190デフォルトの名無しさん
2008/12/13(土) 16:53:28>そのケースなら別にx87でも本来再現するはずなんだよ
矛盾してね?
0191デフォルトの名無しさん
2008/12/13(土) 16:55:13>>180でいいだろ。全く問題なし。
0192デフォルトの名無しさん
2008/12/13(土) 16:56:09場当たり的すぎる
アホか
0193デフォルトの名無しさん
2008/12/13(土) 16:57:13>D3DXで違いが出るのはCPUによって「同じ命令で計算」の前提が崩れるから別に再現しなくてもおかしくない
ここも矛盾してるな
0194デフォルトの名無しさん
2008/12/13(土) 16:57:420195デフォルトの名無しさん
2008/12/13(土) 16:58:20入力デバイスの十字キーのプラスチックの成型誤差の方が
絶対大きいって。
誤差を出さない為の議論より、誤差をごまかす方法でも
話し合った方がいくらかマシ。
0196デフォルトの名無しさん
2008/12/13(土) 16:58:45ああごめん。
ここで言ってるIntel以外ってのはPowerPCとかARMとかそっち系。
AMDはIntel互換のCPUで商売している以上、x87も互換してるはず。
といっても異なるケースがあるというのを聞いたことがないだけだけど。
0197デフォルトの名無しさん
2008/12/13(土) 17:01:19さっきから頭大丈夫か?お前
0198デフォルトの名無しさん
2008/12/13(土) 17:01:23PCによる結果の違いを引き起こさない最も確実な方法だろ。
ゲームプログラミングとはシステム、状況に応じて最も適した方法を取る
場当たり的な作業だよ。
で、これ以外の正しい解決策をお前は何か書けるのかい?
0199デフォルトの名無しさん
2008/12/13(土) 17:01:59DirectXスレで、PowerPCとかARMとかとの整合性の話してもしょうがないと思うんだが
0200デフォルトの名無しさん
2008/12/13(土) 17:03:09その解決方法を質問され、みんなで検討してるのに何を言っているんだ?
そうだな
場当たり的にはお前のが完璧な答えだな
じゃあ場当たり的じゃないのも考えようぜ
0201デフォルトの名無しさん
2008/12/13(土) 17:03:36>The floating point engine of the AMD Athlon processor is fully x87 compatible and
>conforms to the IEEE 754 and 854 standards for single-, double-, and extended-precision
>data types.
とあるので同じx87命令なら計算結果はIntelでもAMDでも同じはず。
0202デフォルトの名無しさん
2008/12/13(土) 17:03:41俺もそういってるんだが、頭の悪いやつらは一つの事に固執すると
目的を見失ってしまうみたいね
0203デフォルトの名無しさん
2008/12/13(土) 17:07:09すまん。>>177 がSSE2だと再現性が良くなると思っているっぽかったので、
「SSE2が好まれているのはPowerPCとかARMとかと合わせたいためで、今回は意味がない」
という意味で書きたかった。
0204デフォルトの名無しさん
2008/12/13(土) 17:10:26リプレイデータの話してるのに、パッドがどうのとか言い始める奴を擁護とか
同一人物だと叫んでるようなもんだな
0205デフォルトの名無しさん
2008/12/13(土) 17:11:24SSE2なら、x87の問題の一つである、メモリーに退去時のまるめこみ問題が回避できるから
再現性は良くなると思っていいんじゃないか?
というか今回もこっちの問題が原因なような気がするんだが
0206デフォルトの名無しさん
2008/12/13(土) 17:12:520207デフォルトの名無しさん
2008/12/13(土) 17:16:00昔俺もやって似たような現象は確認した
幸い描画オンリーにしか使ってなかったからスルーしたが
0208デフォルトの名無しさん
2008/12/13(土) 17:16:23それが無駄だと言ってるんだがね
それで君は、何か場当たり的でない解決策とやらを提示できたのかい?
自分では何もできていないくせに、人を批判することなどできないよ
0209デフォルトの名無しさん
2008/12/13(土) 17:19:21答えが出せる出せないを批判しているんじゃない
他人がやっていることを無駄だと騒ぎ立てて邪魔してることを批判してるんだ
0210デフォルトの名無しさん
2008/12/13(土) 17:20:52擁護?
>誤差を出さない為の議論より、誤差をごまかす方法
俺が言ってるのはこういう事だが?
パッドがどうこうだの、同一人物だのは勝手に言ってればいいよ
0211デフォルトの名無しさん
2008/12/13(土) 17:21:050212デフォルトの名無しさん
2008/12/13(土) 17:22:060213デフォルトの名無しさん
2008/12/13(土) 17:22:46こちらのスレをご利用下さい
【C++】 DirectX初心者質問スレ Part21 【C】
http://pc11.2ch.net/test/read.cgi/tech/1229078397/
0214デフォルトの名無しさん
2008/12/13(土) 17:24:04D3Dは一般で言われているところのライブラリというより
単なるヘッダー群だから
SDKに付属してくるものの仕様が変わろうが使えなくなることはないし
今のD3DX路線から別のものに方向転換したとしても
使えなくなるものではないんだが
0215デフォルトの名無しさん
2008/12/13(土) 17:26:09(1)x87の計算には、環境が違っても再現性はあるのか
何度かちらほら出ている「メモリにいったん書き込んださいの丸めこみ」っていう問題があるらしいのですが、
この退避タイミングがCPUによって異なることがあるのではないでしょうか
SSE系はメモリ上での単精度と、計算中の単精度が一致するので、この問題が起こらないのではと期待しています
(2)D3DXが再現性を邪魔しているのか
私の環境と、友人の環境。両方ともSSEのようなFP-strictな拡張命令を使っているとなると(そうっぽい)、
D3DXが「Aの命令はSSEでやろう。Bの命令はx87やろう」「Aの命令はx87でやろう。Bの命令はExtended 3DNow!でやろう」
(SSEも、Extended 3DNow!も計算結果は同じになるとします)
というように、拡張命令を使う部分を変えてしまっている可能性がありますでしょうか?
確かにこれならば、誤差がでてしまいます。
今夜予定として
・D3DXに拡張命令を使わせない方式で、友人環境と一致するかテストする
一致した → (2)の「拡張命令を使う場所をD3DXが変えてしまう」問題が原因だった
一致しない → (1)が問題
となるのではと期待しています。
0216デフォルトの名無しさん
2008/12/13(土) 17:29:19だから君が示してみろといってるんだが?
俺は無駄だという的確な指摘をしているだけであって、邪魔をしているわけではないよ
無駄じゃないと言い張るのなら、吼えてないでさっさと証明してみせるんだね能無し君
止めはしないから
0217デフォルトの名無しさん
2008/12/13(土) 17:31:11場当たり的じゃない解決ということについて
自分では何もできていないくせに、人を批判することなどできないよ
0218デフォルトの名無しさん
2008/12/13(土) 17:32:32>>198
ちょっと前のレスぐらい読もうね
0219デフォルトの名無しさん
2008/12/13(土) 17:35:24なんでやらねーの?
0220デフォルトの名無しさん
2008/12/13(土) 17:36:02荒らしに反応しているお前も荒らし
>>215
実験結果の報告頼むな
0221デフォルトの名無しさん
2008/12/13(土) 17:36:53固定小数点版のD3DX作ってくれるといいなw
0222デフォルトの名無しさん
2008/12/13(土) 17:38:020223デフォルトの名無しさん
2008/12/13(土) 17:38:200224デフォルトの名無しさん
2008/12/13(土) 17:39:18横から突っ込むけどそれはおかしい
なんか最終目的が浮動小数点の計算結果を固定するみたいになってるじゃん
俺もROMってきたけどはっきりいって無駄だと思うっていうか頑張るべきところを間違えてると思う
最終目的が示されてるんだから別の方法を提示したっていいと思うよ
っていうかCPU間のちょっとした誤差が問題になるようなソースでいいの?
って話でもある
0225デフォルトの名無しさん
2008/12/13(土) 17:40:54結果的に無駄だとわかったとしてもそれは無駄だという情報にはなるわけだから
がんばってもらおうじゃないか
0226デフォルトの名無しさん
2008/12/13(土) 17:41:21時々沸く、最適化切ったら動きましたとか言う
本末転倒野郎の仲間だろ。
0227デフォルトの名無しさん
2008/12/13(土) 17:44:140228デフォルトの名無しさん
2008/12/13(土) 17:46:44具体的に、誤差を吸収する方法があればそれでいいと思うよ
リプレイならキー入力以外のデータを入れれば吸収できるよね
それはそれで一つの結論だし、それ以上議論の余地はない
尊重してるよ
でもじゃあ、たとえばキー入力をやりとりするタイプのネット対戦ゲーだったらどうする?
自己申請方式でチートの余地を残すのは、キー入力タイプの「チート不可能」を覆す
「今回はリプレイなんだから良いじゃん」と言われればそうだが、前スレでは同じ問題がネット対戦で出たという人もいた
別に考えるだけならタダだし、別にほかに話題もないし、考えたい奴らだけで考えればいいじゃん
0229デフォルトの名無しさん
2008/12/13(土) 17:49:49同じバイナリなら結果は同じになるもんだと思ってた
そして、その解決法をきれいに解消する方法がないことに今びっくりしてる
0230デフォルトの名無しさん
2008/12/13(土) 17:50:44チートの封印は無理だと思うよ
0231デフォルトの名無しさん
2008/12/13(土) 17:52:400232デフォルトの名無しさん
2008/12/13(土) 18:00:270233デフォルトの名無しさん
2008/12/13(土) 18:03:470234デフォルトの名無しさん
2008/12/13(土) 18:07:08リプレイデータに補正データを混ぜればいいじゃないか(キリッ
【審議中】
あれはほっとこう
∧,,∧ ∧,,∧
∧ (´・ω・) (・ω・`) ∧∧ やっぱりD3DXは描画のみで
( ´・ω) U) ( つと ノ(ω・` )固定小数ライブラリとか作るべきじゃ
| U ( ´・) (・` ) と ノ
u-u (l ) ( ノu-u
`u-u'. `u-u' いや、それだとアニメーション合成とかきつい
ボーンに依存するのはやめたら?いや、でもそれじゃあなぁ・・・
0235デフォルトの名無しさん
2008/12/13(土) 18:10:100236デフォルトの名無しさん
2008/12/13(土) 18:12:05キー入力通信ならチート不可能なんて幻想だよ
0237デフォルトの名無しさん
2008/12/13(土) 18:14:24「チートしても無意味」になるじゃん
0238デフォルトの名無しさん
2008/12/13(土) 18:16:22前スレで通信絡みの質問に便乗していた人間だが、何か方法ある?
今からでもいいので教えてもらえると嬉しい
今の話題ももし解決したら俺のにも適用できるだろうから興味深くみているよ
0239デフォルトの名無しさん
2008/12/13(土) 18:18:430240デフォルトの名無しさん
2008/12/13(土) 18:23:54どうでもいいけど、まずはちゃんと自分の質問を書けば?
便乗しますたとか書かれても誰もレスつけてくんないよ
0241デフォルトの名無しさん
2008/12/13(土) 18:24:36無駄ってより出来ないなら出来ないって言えよw
0242デフォルトの名無しさん
2008/12/13(土) 18:25:27オマエモナー
0243デフォルトの名無しさん
2008/12/13(土) 18:29:00わかりました
初期状態を同じにし、キーの入力だけ送りあうという方法で対戦ネットゲームを作っています
キー情報はサーバー役がいったん受け取り、双方にまとめて送るという方式のため、矛盾が出ません
ですがD3DXやらを使っていたら計算結果に微妙な誤差が出る環境がありました
この誤差を吸収する方法はないでしょうか?
四捨五入や、小数点以下●桁で切り捨てのようなこともやってみましたが、
結局は基準値の前と後に計算結果が分かれてしまったとき誤差が出てしまいました
途中でお互いの状況をつきあわせてチェックする方式は、現在のとこ採用するつもりはありません
それを採用するなら、はじめからキー入力でなんてやらなきゃいいわけで・・・
0244デフォルトの名無しさん
2008/12/13(土) 18:29:38241がこのスレ初が書きだがw
”俺”には無理だから出来るか出来ないか興味あるんだよw
だから考えるのは無駄とか言ってんじゃねーよ
0245デフォルトの名無しさん
2008/12/13(土) 18:32:15あきらめて下さい。
0246デフォルトの名無しさん
2008/12/13(土) 18:33:05出来ないよ
0247デフォルトの名無しさん
2008/12/13(土) 18:34:40不可能とは大きくでたなw
知りませんって言えよw
0248デフォルトの名無しさん
2008/12/13(土) 18:38:03x87の計算なら環境違っても再現性があるはずって言ってる人いたよね
なのに不可能なの?その人が間違ってるの?
教えて>>245
0249デフォルトの名無しさん
2008/12/13(土) 18:40:46その人に聞けばいいと思うよ
その人が正しいのなら確実な答えが示されるのだろうからね
まあ不可能ですが
0250デフォルトの名無しさん
2008/12/13(土) 18:43:120251デフォルトの名無しさん
2008/12/13(土) 18:52:02固定小数で、ボーンアニメーションを合成できるライブラリとかあるの?
聞いたことないけど
0252デフォルトの名無しさん
2008/12/13(土) 18:52:36不可能というのなら、そのソースを見せてよ
「知らない」じゃなくて「不可能」なんだろ?
0253デフォルトの名無しさん
2008/12/13(土) 19:03:41悪魔の証明ですか
可能である事が証明できない限り、それは不可能であることを証明しているんだよ
君のやることは次のいずれか
1.自分の力で可能である事を証明する
2.再現性があるはずだと言ってる人に聞いて、自分のプログラムにて証明する
3.とっととあきらめて照合制を導入する
なぜそのどれもやろうとせずに文句ばかりつけているのかね?
1〜3のどれかを実行すれば君の目的は達成されるだろうに
0254デフォルトの名無しさん
2008/12/13(土) 19:10:23厨房お得意のだもんな
俺は別にお前を論破したいんじゃなくて「不可能だとわかっているというソースがあるなら、見せてほしい」だけ
ソースがないなら「不可能」と言い切るな。可能かどうか検討している人間たちの横で「不可能」と騒ぐなというだけ
0255デフォルトの名無しさん
2008/12/13(土) 19:16:01可能か不可能か分からんというだけだ
不可能であることを示したければ自分の力で不可能であることを証明してみろよ
0256デフォルトの名無しさん
2008/12/13(土) 19:37:13とりあえずCPUに対する考察より演算ユニットを固定させる方法ってみつかったの?
これがなきゃどうせ駄目なわけでしょ?
0257デフォルトの名無しさん
2008/12/13(土) 19:39:00そういう言葉は君が1、2のいずれかを行って証明してから言う事だよ
可能という事実が証明されない限りは、悪魔の証明である事は揺るがない
自分もできないという事実があるのに、できないならそれを証明しろ、と駄々をこねる事こそ
厨房お得意の屁理屈そのものだよ
じゃあ言い方を変えようか。
実質不可能だけど、まあ無駄な議論をする頭の悪い人のために撤回してあげよう。
「俺も、当然君も、このスレの全ての人間が、可能である事を証明できない、できていない」
で、なんで君は1、2のそのどちらもやろうともしていないんだい?
さっきも質問したけどなぜか君は答えてくれないね
文句つけてる暇があるなら早くやりなよ能無し君
0258デフォルトの名無しさん
2008/12/13(土) 19:42:06あと知識が多い人間が初心者質問スレにくるかよw
0259デフォルトの名無しさん
2008/12/13(土) 19:43:22このスレでこのような質問をする事自体が無駄だという事ですよ
0260デフォルトの名無しさん
2008/12/13(土) 19:45:58横で不可能不可能とかわめきたてて何したいの?馬鹿なの?
0261デフォルトの名無しさん
2008/12/13(土) 19:46:33今ならどれも液晶で何故か60Hz固定で綺麗だぞw
0262デフォルトの名無しさん
2008/12/13(土) 19:47:590263デフォルトの名無しさん
2008/12/13(土) 19:48:35ていうか演算ユニットを固定する方法はあったの?なかったの?
0264デフォルトの名無しさん
2008/12/13(土) 19:49:32アイデアというけれど、どこにまともなアイデアがあるのだろうか
0265デフォルトの名無しさん
2008/12/13(土) 19:53:28固定小数点を使え
不可能だ!可能だというなら方法教えろ!
D3DXなんて使うな
整合性検証用データを入れろ
有用回答
x87は環境に左右されず再現性はとれるはず
D3DXを使った場合、とある計算でx87が使われるか拡張命令が使われるかはわからない
APIHijackによって、D3DXに拡張命令を使わせないことはできる
/fp:strictオプションを試してみるべき
端数を切り捨てる方式でも、やはりズレは出る
0266デフォルトの名無しさん
2008/12/13(土) 19:53:39結局の所、「合わせるより誤魔化す」だと思うよー
0267デフォルトの名無しさん
2008/12/13(土) 19:57:23有用回答を照らし合わせると、結局無理だよね?
0268デフォルトの名無しさん
2008/12/13(土) 19:58:14その誤魔化し方でまともなのが全然出てこないのが問題だが
0269デフォルトの名無しさん
2008/12/13(土) 19:58:47頭沸いてるとしか
0270デフォルトの名無しさん
2008/12/13(土) 20:00:32この有用回答からでは無理でしょ
何か間違った事言ってますか?
0271デフォルトの名無しさん
2008/12/13(土) 20:02:52こんなロクに解決策が出てこない質問で何百レスも費やしてたら他の初心者質問の邪魔になるよ。
むしろ本スレでやれば?
0272デフォルトの名無しさん
2008/12/13(土) 20:03:17判定イベントだけとっておくとかよかったじゃんっていうか
俺もリプレイやるときはその方法でやってるし
0273デフォルトの名無しさん
2008/12/13(土) 20:04:02なんで固定小数使わないの?
0274デフォルトの名無しさん
2008/12/13(土) 20:04:53そういうのはお気に召さないらしいから仕方ない
もう好きにすれば?って感じ
0275デフォルトの名無しさん
2008/12/13(土) 20:05:13うん
0276デフォルトの名無しさん
2008/12/13(土) 20:05:52もうちょっとうまく自演しろよ・・・
本当に好きにすれば?って思ってる奴がレスするわけねーだろ・・・
0277デフォルトの名無しさん
2008/12/13(土) 20:05:57何が間違っているのか教えてください
0278デフォルトの名無しさん
2008/12/13(土) 20:07:10D3DX使えないじゃんっていうのと
できるだけ下地のライブラリが変わっても動くゲームのほうがいいかなってとこ
0279デフォルトの名無しさん
2008/12/13(土) 20:07:580280デフォルトの名無しさん
2008/12/13(土) 20:09:39えーっと・・・普段は固定小数で計算して、描画だけD3DX使えば解決するよね?
0281デフォルトの名無しさん
2008/12/13(土) 20:09:530282デフォルトの名無しさん
2008/12/13(土) 20:10:43だから普段の計算にD3DX使えないじゃん
0283デフォルトの名無しさん
2008/12/13(土) 20:11:03そういう視野のせまいレスをつけてくるから、
もう好きにすれば?って言ってるんだよ
ま、無駄な議論をひたすら続けて下さい
このスレが終わるまでに場当たり的じゃない解決とやらが出てきたとしたら
いい子いい子してあげるよ。ありえないけどね
0284デフォルトの名無しさん
2008/12/13(土) 20:12:27それもアリ
政治力もPGの実力のうち
無い奴は僻むな
正直、割りに合わないほど金と時間を使うようになってる
やらない決定をすることが会社の利益になるときもある
0285デフォルトの名無しさん
2008/12/13(土) 20:13:13ボーン位置計算は固定少数で自前計算して描画はD3DXで行うってことじゃね
0286デフォルトの名無しさん
2008/12/13(土) 20:13:36行列演算系なんてあっという間に作れると思うが・・・
0287デフォルトの名無しさん
2008/12/13(土) 20:14:37CPUの演算ユニット固定しようとしてる馬鹿にいってやれw
0288デフォルトの名無しさん
2008/12/13(土) 20:15:10282はそもそもボーンなどについてまったくふれてないぞ
アニメーション合成にD3DXを使わざるをえなかったので。とかそういう前置きがあればわかるけど、何もないなら固定小数でいいだろ
0289デフォルトの名無しさん
2008/12/13(土) 20:15:31またfloatのお話ですか
0290デフォルトの名無しさん
2008/12/13(土) 20:15:53初心者質問スレで、初心者のアイデアや質問を馬鹿とか言うのやめてくれない?
0291デフォルトの名無しさん
2008/12/13(土) 20:16:160292デフォルトの名無しさん
2008/12/13(土) 20:18:280293デフォルトの名無しさん
2008/12/13(土) 20:19:01あなたのためだから
0294デフォルトの名無しさん
2008/12/13(土) 20:19:46そんなん2ちゃんならどこでも飛び交ってる言葉なんだから、「愛してる」ぐらいにとっておけ
0295デフォルトの名無しさん
2008/12/13(土) 20:20:06俺がガンダムだ
0296デフォルトの名無しさん
2008/12/13(土) 20:20:46俺に言われても困る
0297デフォルトの名無しさん
2008/12/13(土) 20:21:310298デフォルトの名無しさん
2008/12/13(土) 20:23:24夕方くらいから荒らしが一匹住み着いて「無駄だ!不可能だグギャギャギャギャ」とか騒ぎ始めてからは無駄なレスばっかりだな
0299デフォルトの名無しさん
2008/12/13(土) 20:24:28全然有意義じゃないじゃん
解決したのかよw
0300デフォルトの名無しさん
2008/12/13(土) 20:25:440301デフォルトの名無しさん
2008/12/13(土) 20:26:160302デフォルトの名無しさん
2008/12/13(土) 20:28:22それ以外=無駄なレス
ですね。わかります。
0303デフォルトの名無しさん
2008/12/13(土) 20:30:120304デフォルトの名無しさん
2008/12/13(土) 20:30:42チェックデータ入れるとかはネット対戦じゃ有効じゃないんだろ?
ならネット対戦にも対応できるいい方法書いてやればいいじゃないか
0305デフォルトの名無しさん
2008/12/13(土) 20:30:55自分で書いたソース以外信用しなかったり
車輪の再発明をして俺SUGEEしたがるような人種ばっかだから
0306デフォルトの名無しさん
2008/12/13(土) 20:33:200307デフォルトの名無しさん
2008/12/13(土) 20:33:50ネット対戦ならなおさら判定保存法だろ(もちろん改良して)
0308デフォルトの名無しさん
2008/12/13(土) 20:34:48質問が難しすぎて有意義な回答は出来ませんて
0309デフォルトの名無しさん
2008/12/13(土) 20:36:50ネット対戦でも有効というかよく使われるけどチートを根拠に拒否してるだけ
そういやパンヤやっててもたまにプレイヤーによって落下位置がずれたりしてたなw
結果はサーバーで照合してるから問題はないけどね
0310デフォルトの名無しさん
2008/12/13(土) 20:37:11質問内容は簡単だろ
誰でも参加できるから盛り上がったわけだし
0311デフォルトの名無しさん
2008/12/13(土) 20:37:16なんで、具体的なことを言わないの?
どう改良するの?
0312デフォルトの名無しさん
2008/12/13(土) 20:38:16ありゃサーバー処理型じゃねーか
そりゃ肝心のデータはすべてサーバーが管理してるんだから、ずれようがないだろ
0313デフォルトの名無しさん
2008/12/13(土) 20:38:30判定結果をサーバーで照合・・・が一番かな?w
0314デフォルトの名無しさん
2008/12/13(土) 20:39:16「ソースは示せないけど不可能!不可能!無駄!無駄!」
誰でも…参加…?
0315デフォルトの名無しさん
2008/12/13(土) 20:39:55ところが今度ネイティブ120Hzのモニタが出る。
0316デフォルトの名無しさん
2008/12/13(土) 20:41:47そんなの2倍速で動かして特殊なモニタ買ったことを後悔させてやればいいw
0317デフォルトの名無しさん
2008/12/13(土) 20:42:07少し頭冷やせよ
0318デフォルトの名無しさん
2008/12/13(土) 20:42:130319デフォルトの名無しさん
2008/12/13(土) 20:43:46解決策とは程遠いけど「できる!できる!気持ちの問題だ!」
修造といっしょだな
0320デフォルトの名無しさん
2008/12/13(土) 20:45:12ごまかしの解決策を用いるしかないでしょ
ごまかすのなんてヤダヤダというなら仕方ないけど
0321デフォルトの名無しさん
2008/12/13(土) 20:46:14実験結果はどうだったの?不可能断定君
0322デフォルトの名無しさん
2008/12/13(土) 20:46:19それをいうならはじめの選択肢の間違いを認めずに
CPUの演算ユニットの固定とか馬鹿なことに挑戦しだした人間にいってやれw
0323デフォルトの名無しさん
2008/12/13(土) 20:47:180324デフォルトの名無しさん
2008/12/13(土) 20:48:11ミッキー自重
0325デフォルトの名無しさん
2008/12/13(土) 20:48:56_|::::|__
/::|::::| \
/ |:::| :\
/ || :ヽ
┌|(⌒ヽ :|| ..:⌒: |┐ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
|::|::ヽ.__:):||(___ノ ::|::| │ いつもDirectX初心者質問スレを応援してくれてありがとう。
|:|: .. :|| .. |:| │ このスレは急に終了することになった。
:|: .. || ..|| < いつまたみんなの前に姿を見せる事ができるようになるのか、
:\ [_ ̄] /::| │ 私にもわからない……
:: |\|_|_|_|_/:::| \____________
__| | / / :|___
\ _| \ /........ノ~ -r \
\....|:::\:\丿 /, /,/.../._ \
/....\.レ... /\..| / / / ̄ `\
レ.........|/..../ �R‐\
0326デフォルトの名無しさん
2008/12/13(土) 20:49:52DirectXって仕様変更が激しいようだし、Macでも動くからOpenGL
がいいかなとか思ったりするんですが...
0327デフォルトの名無しさん
2008/12/13(土) 20:54:38初心者がどっちとかいってんじゃねぇよ
両方やれ
0328デフォルトの名無しさん
2008/12/13(土) 20:55:32P2PゲームだってチートやBOTは余裕っしょ
技コマンドがきたら自動回避とかできるし
お互いのマシンでの照合のさせ方次第じゃね
誤差の粋を大幅に超えた結果が返ってくれば自動で切断とかすりゃいいわけだし
0329デフォルトの名無しさん
2008/12/13(土) 20:56:28不可能って騒いでる奴は、x87の計算に再現性がないって断じてるってことでいいの?
0330デフォルトの名無しさん
2008/12/13(土) 20:56:30>技コマンドがきたら自動回避とかできるし
俺の波動拳が当たらないのはそういうことだったのか
0331デフォルトの名無しさん
2008/12/13(土) 20:57:35>P2PゲームだってチートやBOTは余裕っしょ
むしろP2Pだからチートが余裕なんだろ。あほか
それにBOT余裕とか、誰がBOTの話なんてしてんだ?
馬鹿?
0332デフォルトの名無しさん
2008/12/13(土) 20:59:19いまはそうかもしんないけど
次(の世代のCPU)は違うかもしれないし
とにかく微妙なもんに仕様の保障を求めたくない
0333デフォルトの名無しさん
2008/12/13(土) 21:00:38あれ?不可能なんじゃなかったの?
なんで急に「将来不可能になるかもしれない」とか言い出してるの?
0334デフォルトの名無しさん
2008/12/13(土) 21:05:42だって俺不可能って言った奴と違うもん
あくまで方法がまずい派
0335デフォルトの名無しさん
2008/12/13(土) 21:06:17キー入力だからチート不可って言ってた人がいたからそう書いただけね
チートの危険性があるとわかってる人はそれでいいんだよ
BOTもチートの内の一つだからね
0336デフォルトの名無しさん
2008/12/13(土) 21:06:490337デフォルトの名無しさん
2008/12/13(土) 21:09:48なんだか知りませんが、x87を使ってAPIHijackによって、D3DXに拡張命令を使わせないことで
問題解決ってことで合っていますか?
0338デフォルトの名無しさん
2008/12/13(土) 21:10:41その文章から、お前がx87もAPIHijackも理解してないってことはよくわかったw
0339デフォルトの名無しさん
2008/12/13(土) 21:11:14「敵は一人の自作自演」
0340デフォルトの名無しさん
2008/12/13(土) 21:11:59そうですよ。理解してないから教えて欲しいんです。
私も興味がありますので。
0341デフォルトの名無しさん
2008/12/13(土) 21:15:42解決したっぽいよw
http://d.hatena.ne.jp/NyaRuRu/20040819
0342デフォルトの名無しさん
2008/12/13(土) 21:15:43マジめんどくせえやつだな
0343デフォルトの名無しさん
2008/12/13(土) 21:17:210344デフォルトの名無しさん
2008/12/13(土) 21:19:31だから解決したってさ
0345デフォルトの名無しさん
2008/12/13(土) 21:21:590346デフォルトの名無しさん
2008/12/13(土) 21:22:560347デフォルトの名無しさん
2008/12/13(土) 21:23:100348デフォルトの名無しさん
2008/12/13(土) 21:24:230349デフォルトの名無しさん
2008/12/13(土) 21:25:590350デフォルトの名無しさん
2008/12/13(土) 21:31:50マ板はともかくム板は必要だよな>ID
0351デフォルトの名無しさん
2008/12/13(土) 21:32:33外野がいくら騒いでも仕方ない
0352デフォルトの名無しさん
2008/12/13(土) 21:35:330353デフォルトの名無しさん
2008/12/13(土) 21:37:18【おっぱい】エログラミング Ver.0【まん○】
http://pc11.2ch.net/test/read.cgi/gamedev/1159714969/
こっちが詳しいよタイトルがストレートだけど、話し合ってること自体は真面目w
0354デフォルトの名無しさん
2008/12/13(土) 21:41:01質問者がNyaRuRuの名前あげてるのだから、荒らさなくても自分でぐぐればすぐ出ただろうに
0355デフォルトの名無しさん
2008/12/13(土) 21:44:090356デフォルトの名無しさん
2008/12/13(土) 21:46:490357デフォルトの名無しさん
2008/12/13(土) 21:47:500358デフォルトの名無しさん
2008/12/13(土) 21:48:47>>95>>97お願いしますねw
あとリプレーとか言ってる方キー入力結果保存
なんだからゲーム中も違うってことになるでしょ
たまたまリプレーで違いが認識できただけ
0359デフォルトの名無しさん
2008/12/13(土) 21:50:260360デフォルトの名無しさん
2008/12/13(土) 21:51:30>>95,97はuv情報があるのでできないでござるの巻
0361デフォルトの名無しさん
2008/12/13(土) 21:52:070362デフォルトの名無しさん
2008/12/13(土) 21:53:32別にテクスチャ貼るなんて書いてないからuvは関係ないだろ
0363デフォルトの名無しさん
2008/12/13(土) 21:54:18それじゃオッパイが表現できないじゃないか
却下
0364デフォルトの名無しさん
2008/12/13(土) 21:54:49あそこに載ってるサンプルはD3DXがまだ静的リンクだった時代のものだから
もし質問者がサンプルを丸々コピペしたとしてるとフックに失敗してかもね。
今だとD3DX9のモジュールハンドルを使ってフックを仕込む必要があるはず。
0365デフォルトの名無しさん
2008/12/13(土) 21:59:02テクスチャが違うのもできるんだろうか
0366デフォルトの名無しさん
2008/12/13(土) 22:00:32それで解決するならフックを頑張ればいいし、
解決しないならD3DX以外にも問題は残ってるんだろう。
0367デフォルトの名無しさん
2008/12/13(土) 22:25:51なんだか話題をだいぶ長引かせてしまったようで申し訳ありません
結論から申し上げますと、APIフックしx87を強制使用させることで、完全な一致を確認しました。
SSEなどの存在意義などから考えますとちょっと邪道な方式ですが、ひと先ずは解決かと思います。
将来的にはD3DXは描画専用として切り離し、固定小数などで作りかえるのが良いかと思います。
今回教えていただいた中で「D3DXは、SSE2を使うと表示されたとしても、すべての計算でSSE2を使うわけではなくx87との混在を行う」
というアドバイスが一番助かりました。
余談ですが、x87のみ使うようにした上での
パターン0 _controlfp( PC_64, MCW_PC )
パターン1 _controlfp( PC_53, MCW_PC )
パターン2 _controlfp( PC_24, MCW_PC )
ですが、どの精度であっても、相手方と精度の一致さえさせておけば結果は一致しました。
ここからは推測ですが、
x87のメモリーへの書き込みタイミングによる誤差について。
どうもこれはコンパイル段階で決まっており、実行時に決定するわけではないようです。
考えてみれば、レジストリからメモリへの退避などは機械語命令なわけですから当たり前のことでした。(たぶん)
CPUに関する知識が足りなかったため
「レジストリから退避するかの判断は、CPU側がCPUの混雑具合を動的に判断し、勝手に行ったり行わなかったりするかも。そうしたら再現性無くなって嫌だなぁ…」
と怖がっていましたが、大丈夫なようです。
以上です。
間違いや勘違いなどがありましたらツッコミよろしくお願いします。
0368デフォルトの名無しさん
2008/12/13(土) 22:34:280369デフォルトの名無しさん
2008/12/13(土) 22:37:120370デフォルトの名無しさん
2008/12/13(土) 22:54:56不可能くんの悔し紛れ乙
0371デフォルトの名無しさん
2008/12/13(土) 22:56:410372デフォルトの名無しさん
2008/12/13(土) 22:58:000373デフォルトの名無しさん
2008/12/13(土) 23:03:11オンラインゲームにddsファイルが使われてますが
これを3Dで見たいんですが、どんなソフトを使えば良いんでしょうか?
0374デフォルトの名無しさん
2008/12/13(土) 23:08:25みなさんスルーしましょう
0375デフォルトの名無しさん
2008/12/13(土) 23:08:383Dでみたいとか意味わかんない
0376デフォルトの名無しさん
2008/12/13(土) 23:09:290377デフォルトの名無しさん
2008/12/13(土) 23:11:330378デフォルトの名無しさん
2008/12/13(土) 23:12:580379デフォルトの名無しさん
2008/12/13(土) 23:14:560380デフォルトの名無しさん
2008/12/13(土) 23:15:220381デフォルトの名無しさん
2008/12/13(土) 23:15:490382デフォルトの名無しさん
2008/12/14(日) 00:53:140383デフォルトの名無しさん
2008/12/14(日) 01:06:350384デフォルトの名無しさん
2008/12/14(日) 02:27:13セル単位にわけてその中だけで検索するようにすれば高速化できる。
0385デフォルトの名無しさん
2008/12/14(日) 02:59:57例示がないからよくわからんが
例えば横奥50*50の頂点がある実際には同一頂点があるから
もっとあるとしてこれを任意の頂点数に減らすって問題だろ
0386デフォルトの名無しさん
2008/12/14(日) 08:59:530387デフォルトの名無しさん
2008/12/14(日) 10:23:25テキストボックスに文字列を入力して検索ボタンを押すだけで情報が出るのに、
それをやろうとしないのは、どれだけママンにおんぶだっこされて生きてきたの?
0388デフォルトの名無しさん
2008/12/14(日) 10:32:140389デフォルトの名無しさん
2008/12/14(日) 11:00:050390デフォルトの名無しさん
2008/12/14(日) 11:55:24とりあえずX-Y平面に射影して、凸包体作るじゃ駄目なん?
0391デフォルトの名無しさん
2008/12/14(日) 12:13:35また、DirectXSDKにStream Dataサンプルがついているらしいのですが、それのついているバージョンを教えてください。
いくつかダウンロードしてみましたが、ついてなかったので。
宜しくお願いします。
0392デフォルトの名無しさん
2008/12/14(日) 12:29:340393デフォルトの名無しさん
2008/12/14(日) 12:51:24最初の頂点が
0 1 2 3
4 5 6 7
8 9 10 11
だとポリゴンが6枚になります
これを視点から遠い場合、6枚ではなく
少ない数で表現したいのです
この場合0と3と8と11はXZで大きさそのものを変えない
ようにするため残すとして、残りの12910はYの値により
残す残さないを決めます。
決めて最終的に残ったのが頂点配列となります。
この頂点配列はY以外にも判断基準があるので
順番がばらばら(何番が残ったかわからない)なのです。
0394デフォルトの名無しさん
2008/12/14(日) 13:00:1312枚ですね
例えば残ったのが0356811だとすると
035をとると08を使う三角形は5を使わないと
ポリゴンが重なります。したがって08には5を使う
別の58を使うのは6でも11でもいい(実際には最小にしたいので6)
この様な判断をどのようにすれば効率的かが知りたいのです。
0395デフォルトの名無しさん
2008/12/14(日) 13:01:22LoDで我慢しろLoDで
0396デフォルトの名無しさん
2008/12/14(日) 13:07:47Progressive mesheを作りたいのか?
Hoppeの昔の論文でも読めばいいんじゃない?
0397デフォルトの名無しさん
2008/12/14(日) 13:20:02LoDのためにこれをしてるのですが
自前でプログレッシブメッシュみたいなのを
作りたいって事です
標準だとmeshからは作れますが
meshとして始めの頂点配列を持っていないのです
正確にはmeshを頂点配列にしてその一部分を
可視範囲により切り出しそれを、さらに分割して
分割したものの内、遠いのに対してこの処理がしたいのです。
Hoppeをググってみます、ありがとうございます。
0398デフォルトの名無しさん
2008/12/14(日) 13:20:16さっぱりわからないので、
1-2-3, 4-5-6の2面の三角形を
1面に縮退する場合の例を挙げてよ。
まあ、>>395-396のいうとおり、
LODを知ることから
始めた方がよさそうだな。
0399398
2008/12/14(日) 13:26:24惑わされたらすいません。
0400デフォルトの名無しさん
2008/12/14(日) 13:37:13違うポリゴンモデル(ポリゴン数減)に切り替えるって認識なんだけど
自動で削減するのか?
なんか余計時間かかんね?
マリオ100体とかインスタンス全部別に削減するんでしょ?
0401デフォルトの名無しさん
2008/12/14(日) 13:40:112面の三角形を1個にはできないと思うのですが
LODの前段階がこれだと思うのですが、違うのですか?
見方としてはY軸からみてる頂点の位置だと思っていただければ
8番がX0Z0 5番がX1Z1
残す頂点が0 3 8 11は確定して他の頂点が5としたら
035は絶対必要になると思います、そうでないと5を残す意味がない
他の言い方で言えばポリの頂点として08を選ぶと5しか選んではいけない
他を選ぶと5を隠してしまうのでこの判断をしたいのです。
論文見てきます。
0402デフォルトの名無しさん
2008/12/14(日) 14:08:07ttp://research.microsoft.com/en-us/um/people/hoppe/pm.pdf
やりたいのはちょうどこれの地形のです
12,169 facesを9,462 facesにしてるやつです。
>>400
meshの場合はあらかじめ違うポリゴンモデルを作るものだと思います。
上記の見ると視野を矢印であらわしてるので視野範囲内が12169→9462
にしてるのだと思うのでリアルタイムも可能って事だと思います。
みなさんありがとうございました。
0403デフォルトの名無しさん
2008/12/14(日) 14:47:27いわゆるランドスケープのLODのことを言ってるのね。
ランドスケープ用なら、それ専用でググれば結構出てくると思うよ。
>>400
プログレメッシュが同じかどうかは知らないが、
ゲームプログラ〜3D数学に載ってる方法は、
動的に、隣り合う三角形の辺を削除するって奴。
1つの辺を削除するということは、2三角形・1辺・1頂点を削減出来ることになる。
これは、頂点配列は触らずに、面配列のみ操作するだけで実現出来るから
あんまり重くない。リアルタイムに十分適用可能。
0404デフォルトの名無しさん
2008/12/14(日) 16:04:010405デフォルトの名無しさん
2008/12/14(日) 16:41:460406デフォルトの名無しさん
2008/12/14(日) 18:10:2016*16とか32*32とか
0407デフォルトの名無しさん
2008/12/14(日) 18:19:58ハードと作るものによる
っていうか見栄えや勉強を優先したいならマップチップにしないほうがいいかも
0408デフォルトの名無しさん
2008/12/14(日) 19:26:260409デフォルトの名無しさん
2008/12/14(日) 20:17:37http://gimpo.2ch.net/test/read.cgi/news7/1227830640/
0410デフォルトの名無しさん
2008/12/14(日) 20:28:31釣りでよかったとマジで思った
0411デフォルトの名無しさん
2008/12/14(日) 21:01:41見た目優先なら小さいほうがいいんじゃね。
突き詰めると1ピクセルだし。
0412デフォルトの名無しさん
2008/12/14(日) 21:03:34描いたほうが速いよマジで(デザイナ談)
0413デフォルトの名無しさん
2008/12/14(日) 21:26:02つーかDirectX関係ねーからとっとと消えろ
0414デフォルトの名無しさん
2008/12/14(日) 21:28:03区画分けの為だよ
見た目とダメージゾーンとか
一致させやすいから使うだけ
0415デフォルトの名無しさん
2008/12/14(日) 21:28:16高低差情報とチップ情報が一致するわけない
橋の下通れないだろそれ
0416デフォルトの名無しさん
2008/12/14(日) 21:29:090417デフォルトの名無しさん
2008/12/14(日) 21:37:59チップに段階毎の情報をもたせりゃいいだけの話だが?
0418デフォルトの名無しさん
2008/12/14(日) 21:42:17そしたら高低差情報だけでチップ情報いらないじゃない
0419デフォルトの名無しさん
2008/12/14(日) 21:47:18前のレスをちゃんと読めよ
DirectX関係ないと言ってるんだが、お前はまだこのスレ違いのレスをし続けんの?
0420デフォルトの名無しさん
2008/12/14(日) 21:50:37地形情報が煩雑になるとチップ管理を行わなきゃ対応しきれなくなるよ
まあただ歩くだけでトラップやらなんやらのない簡素なゲームならどうでもいいけど
0421デフォルトの名無しさん
2008/12/14(日) 21:51:27>>413で
>どの道高低差や属性指定が必要になるからチップ分けは必須
(内容的には高低差情報のためのチップ情報?)
っていうから別に一緒じゃなくてもいいじゃん的なレスつけたんじゃん
そしたら
>>415(内容的にはチップに高低差情報を付ける?)
が返って来たから
アレアレ高低差情報のために必要なチップだったんじゃないの?
的な話になっちゃったんじゃん
っていうかそもそもチップと当たり、属性は別でいいじゃん
0422デフォルトの名無しさん
2008/12/14(日) 21:51:59X>>415
○>>417
0423デフォルトの名無しさん
2008/12/14(日) 21:52:530424デフォルトの名無しさん
2008/12/14(日) 21:57:41えー
チップと当たりなんていっしょにすると面倒なだけだぞホイ
っていいたいだけなのにー
っていうかチップなんて辞めろよw
0425デフォルトの名無しさん
2008/12/14(日) 22:03:25チップに高低差ごとの処理を埋め込む事で、細かい高さの切り替えが可能になる
高低差情報というのは、地面か屋根、0か1かのような情報だけじゃないんだよ
まあ確かに、橋か地面かという単純な構造であれば好きにしろという所だが
チップを使わずにジャンプ移動なんかが絡んでくると死にたくなると思うよ
で、さっきから言ってるんだが、お前はこの話がDirectXと無関係だと思わないのか?
0426デフォルトの名無しさん
2008/12/14(日) 22:09:04だからチップと関係ねーじゃん
0427デフォルトの名無しさん
2008/12/14(日) 22:12:230428デフォルトの名無しさん
2008/12/14(日) 22:12:39あたりはあたりで作れよ
階層は階層で作れ
これらは別でいいだろ
たまたまいっしょだったらそれはそれでかまわん
ただ、別は別だろ
なんの関係もない
チップは正方形or長方形かもしれないけど
当たりは斜め25度かもしんねーぞw
0429デフォルトの名無しさん
2008/12/14(日) 22:13:23いいんだよ
おめーみたいにスレタイにこだわって自分でなんの話題も提供できない
つまらない君は黙ってろよ
0430デフォルトの名無しさん
2008/12/14(日) 22:18:170431デフォルトの名無しさん
2008/12/14(日) 22:19:18と、つまらない君が涙目で必死に反撃w
0432デフォルトの名無しさん
2008/12/14(日) 22:20:46一般的にマップチップというのはグラフィックと属性込みの区分けされた地形情報の事かと
絵を描くだけのグラフィッカー視点だと、チップに当てはめるグラフィックそのものをそう呼ぶこともあるけれど
0433デフォルトの名無しさん
2008/12/14(日) 22:22:10チップは使うなというほどのつまらない君っていないよね
0434デフォルトの名無しさん
2008/12/14(日) 22:23:030435デフォルトの名無しさん
2008/12/14(日) 22:29:41息するように嘘つくな
SFCだってチップと当たりと階層は乖離してんのにそんなわけねぇだろ
FCか?FCの話したいのか?
0436デフォルトの名無しさん
2008/12/14(日) 22:30:410437デフォルトの名無しさん
2008/12/14(日) 22:36:030438デフォルトの名無しさん
2008/12/14(日) 22:36:530439デフォルトの名無しさん
2008/12/14(日) 22:38:190440デフォルトの名無しさん
2008/12/14(日) 22:38:59かわいそうな子
0441デフォルトの名無しさん
2008/12/14(日) 22:39:550442デフォルトの名無しさん
2008/12/14(日) 22:43:410443デフォルトの名無しさん
2008/12/14(日) 22:45:17好きなオッパイでいいぞ
0444デフォルトの名無しさん
2008/12/14(日) 22:45:350445デフォルトの名無しさん
2008/12/14(日) 22:47:010446デフォルトの名無しさん
2008/12/14(日) 22:47:21よく読め馬鹿
はっきりしたいのはオッパイだろ
0447デフォルトの名無しさん
2008/12/14(日) 22:47:420448デフォルトの名無しさん
2008/12/14(日) 22:49:43正直どっちもつまらない君にしか見えないなぁ
本人は面白いと思ってるんだろうけど
0449デフォルトの名無しさん
2008/12/14(日) 22:50:550450デフォルトの名無しさん
2008/12/14(日) 23:24:050451デフォルトの名無しさん
2008/12/14(日) 23:42:14そこにこだわって反撃したいみたいだけど
そんなの言葉尻とって遊んでるだけじゃん
FC時代のチップとの一致を考えると乖離って表現も間違いじゃないだろ
どっちにしても上げ足取りの範囲をでないのにその方向でレスを付け続けるところは頭悪そう
0452デフォルトの名無しさん
2008/12/15(月) 00:00:230453デフォルトの名無しさん
2008/12/15(月) 00:06:26つーかそもそもDirectXのスレだし
虹信者と惨事信者の宗教戦争がしたいならゲ作板いけよ
0454デフォルトの名無しさん
2008/12/15(月) 00:07:540455デフォルトの名無しさん
2008/12/15(月) 00:13:35SFC用のソフトでも立体交差がないゲームはあるし、ソースを確認出来るわけでもない。
にも関わらず「してんのに」という断定が、知ったかぶり以外の何ものでもないんだが、
どれだけ恥ずかしい人生を歩んでいるんだ?
0456デフォルトの名無しさん
2008/12/15(月) 00:23:16言葉の意味は通じてるのにあえて違いを主張して
自分の正当性を主張しようなんて無駄なことは止めたほうがいいぜw
> 一般的にマップチップというのはグラフィックと属性込みの区分けされた地形情報の事かと
だいたいこれなんて厳密に言わなくても嘘ばっかじゃん
マップチップはマップチップだろ
0457デフォルトの名無しさん
2008/12/15(月) 00:32:33意味は通じてるなどと思い込む。
いい加減、誰にも理解されてないという事実を認めたら?
0458デフォルトの名無しさん
2008/12/15(月) 00:33:46int odd(int n)
これの意味と
使用方法がわかりません
0459デフォルトの名無しさん
2008/12/15(月) 00:34:33自分の嘘棚にあげてよくいうよね
0460デフォルトの名無しさん
2008/12/15(月) 00:35:17辞書を引けば?
0461デフォルトの名無しさん
2008/12/15(月) 00:35:53だいたいこれなんて厳密に言わなくても嘘ばっかじゃん
マップチップはマップチップだろ
0462デフォルトの名無しさん
2008/12/15(月) 00:39:310463デフォルトの名無しさん
2008/12/15(月) 00:43:10c言語ってそんなもんなの?
ようわからんけど
用法とかはC言語初心者のサイトにあるやつの通りでいいの?
0464デフォルトの名無しさん
2008/12/15(月) 00:46:00言い訳してないでそろそろ巣に帰ってくれない?
ひょっとしてスレタイも読めないほど日本語に不自由してるのか?
0465デフォルトの名無しさん
2008/12/15(月) 00:48:18また、つまらない君か
お前がみんなの興味をひく話題をもってくればいいんだよ
相変わらず他力本願丸出しだなゆとってんじゃねーぞ糞餓鬼
0466デフォルトの名無しさん
2008/12/15(月) 00:49:130467デフォルトの名無しさん
2008/12/15(月) 00:51:110468デフォルトの名無しさん
2008/12/15(月) 00:52:35はぁ?なにいってるの?
わけわかんない
俺別にこの話題からかえなくていいし
自分がしたい話題あったら自分で提供できるし
話題変えたいのお前なんだろ?
何もねぇくせに文句だけは一丁前だな
0469デフォルトの名無しさん
2008/12/15(月) 00:53:11お前、クズだなぁ?違うか?
0470デフォルトの名無しさん
2008/12/15(月) 00:54:200471デフォルトの名無しさん
2008/12/15(月) 00:56:530472デフォルトの名無しさん
2008/12/15(月) 00:59:26これってどういうことですか?
0473デフォルトの名無しさん
2008/12/15(月) 01:02:260474デフォルトの名無しさん
2008/12/15(月) 01:03:550475デフォルトの名無しさん
2008/12/15(月) 01:04:41いったい みんなどこで学んだのよ?
0476月曜怖い
2008/12/15(月) 01:05:480477デフォルトの名無しさん
2008/12/15(月) 01:06:13おわらせんとあかんの
0478デフォルトの名無しさん
2008/12/15(月) 01:20:46スレ違いでのくだらない応戦W
自分の知ってる単語KITa-
ってなるオタク君の合コンでの振る舞いっぽい
スレ違いは放置ですよ
0479デフォルトの名無しさん
2008/12/15(月) 01:22:280480デフォルトの名無しさん
2008/12/15(月) 02:45:500481デフォルトの名無しさん
2008/12/15(月) 06:54:26英語わからないので困ってます
0482デフォルトの名無しさん
2008/12/15(月) 08:48:510483デフォルトの名無しさん
2008/12/15(月) 09:28:15ですか、だろうが
大体質問者の質問文中の単語について質問するな
わからないなら黙って見とけ
0484デフォルトの名無しさん
2008/12/15(月) 09:32:52一応貼っといてやる
0485デフォルトの名無しさん
2008/12/15(月) 10:26:22タイプミスを指摘してるんじゃないの?
君の方がわかってないように見える。
0486デフォルトの名無しさん
2008/12/15(月) 11:42:14タイプミスぐらいわかってるよ
じゃなきゃページ出さないよ
知ったか君をつる為なんだよ
あ〜あまったく台無しだぜw
0487デフォルトの名無しさん
2008/12/15(月) 12:17:510488デフォルトの名無しさん
2008/12/15(月) 12:34:14>わからないなら黙って見とけ
>わからないなら黙って見とけ
>わからないなら黙って見とけ
0489デフォルトの名無しさん
2008/12/15(月) 13:19:560490デフォルトの名無しさん
2008/12/15(月) 13:52:050491デフォルトの名無しさん
2008/12/15(月) 13:56:340492デフォルトの名無しさん
2008/12/15(月) 13:58:290493デフォルトの名無しさん
2008/12/15(月) 13:59:09本人より目立ってどうすんのwwww
0494デフォルトの名無しさん
2008/12/15(月) 14:01:52図星だったのかww
0495デフォルトの名無しさん
2008/12/15(月) 14:22:07すげー気分悪い。
謝るか黙るかしてくれ。
0496デフォルトの名無しさん
2008/12/15(月) 14:31:180497デフォルトの名無しさん
2008/12/15(月) 15:05:32一切触れない、昼間のカキコ人達でした。
22時以降がこのスレの存在意義です。
平日昼間は絶対にまともな回答はありません、
またこの事に突っ込みありますよW
ないはずがありません
だって凄いパターンな暮らししてるから
0498デフォルトの名無しさん
2008/12/15(月) 15:10:540499デフォルトの名無しさん
2008/12/15(月) 15:30:50OAじゃなくてAOでした
あとありがとうございます
0500デフォルトの名無しさん
2008/12/15(月) 15:31:110501デフォルトの名無しさん
2008/12/15(月) 15:55:43終わらせようとするなよ
0502デフォルトの名無しさん
2008/12/15(月) 16:05:150503デフォルトの名無しさん
2008/12/15(月) 17:55:56D3DXを使えば一発ですが、原理的なものを知りたいのです
0504デフォルトの名無しさん
2008/12/15(月) 18:23:440505デフォルトの名無しさん
2008/12/15(月) 18:26:263枚からなるドット絵のアニメーションを表現する時に
1枚ずつテクスチャとして読み込み→描画時にテクスチャ番号を指定して描画。
3枚を1つのファイルにまとめて読み込み→描画時にテクスチャUV座標を指定して描画。
速度としては前者の方が速いと思うんですがどうでしょうか?
0506デフォルトの名無しさん
2008/12/15(月) 18:35:49それなら前者のが速いけど、それだけでやりたいことすべてが完結するわけじゃないんでしょ?
0507デフォルトの名無しさん
2008/12/15(月) 19:31:360508デフォルトの名無しさん
2008/12/15(月) 19:53:45ネットは浅いとか言うくせに、そういう子に限って
あなたのお勧め本は?って聞くと逆ギレするだけで答えず逃げるから
0509デフォルトの名無しさん
2008/12/15(月) 20:16:35それによりDirectInput をバージョンアップさせなくならないといけなくったんで
古いソースとDirectX 2008 を混合させたら winh.h 内でコンパイルエラーがでたんですけど
どう対処すればいいでしょうか?
0510デフォルトの名無しさん
2008/12/15(月) 20:21:090511デフォルトの名無しさん
2008/12/15(月) 21:07:340512デフォルトの名無しさん
2008/12/15(月) 21:14:290513デフォルトの名無しさん
2008/12/15(月) 21:28:340514デフォルトの名無しさん
2008/12/15(月) 21:28:36地雷。おすすめできない
インストールのしかたがのってるのに
ライブラリのリンクのしかたが載ってなかったり
不親切なところがおおいわりには中身がない
まずDirectX逆引き500を買って
理解できないところをネットやほかの書籍で補うのをお勧めする
ただしCとC++理解してるの前提
0515デフォルトの名無しさん
2008/12/15(月) 21:45:25unko
0516デフォルトの名無しさん
2008/12/15(月) 22:03:09スプライトの表示をしようとしていますが、上手く行きません。
-----------------------------------
■ヘッダー
ID3DXSprite* g_pSp;
■ソース
// テスクチャ読み込み
if ( FAILED( D3DXCreateTextureFromFile( pD3DDevice, "..\\splite.bmp", &g_pTex)))
{
return(false);
}
// 座標設定
D3DXVECTOR3 pos;
pos.x = 320;
pos.y = 240;
pos.z = 0;
■描画開始宣言した中で
// 描画
g_pSp->Draw( g_pTex, NULL, NULL, &pos, 0xffffffff);
----------------------------------
「error C2065: 'pos' : 定義されていない識別子です。」と出ます。
エラー情報では変数の型の宣言がおかしいらしいのですが・・
この場合どうすれば良いのでしょうか。C++の学習がまだ足りないのかわからず・・
どなたかよろしくお願いいたします orz
0517デフォルトの名無しさん
2008/12/15(月) 22:10:400518デフォルトの名無しさん
2008/12/15(月) 22:19:08515
0519デフォルトの名無しさん
2008/12/15(月) 23:25:13タクの所に来た七海はタクの妄想で本物の七海は誘拐されて本当に右手切断されてたのか
右手が小包で携帯ごとベースに送られてくるシーンはyoutubeで見たけど妄想の右手と思ったらあれ本物か・・・・エグイな
あの後冷凍庫の右手がなくなるっていうのも妄想がタクの力で消滅したんじゃなくて希が回収していったのかw
タクが妄想すると将軍の寿命が減っていくってのには笑ったなwセイラたん妄想するたびに本物タクミが老いていく絵を想像したらシュールww
優愛のくだりは必要なかった
あとは本物のタクミが妄想タクを生み出した理由とニュージェネ事件の解説がほしいな(磔事件は妄想シンクロで実行犯がビシィさんに見えていただけかわからんし)
0520516
2008/12/15(月) 23:40:330521デフォルトの名無しさん
2008/12/15(月) 23:45:420522デフォルトの名無しさん
2008/12/16(火) 08:20:120523デフォルトの名無しさん
2008/12/16(火) 08:27:37起動時にウイルスバスターが反応して
oooo.exe(ooooはファイル名)
が自動的にdllをダウンロードしようとしている(dllインジェクション)ので
変更を遮断しましたと出ます。
一晩ググったらDirectInputが原因なのではという結論に達し、
dinput.hをインクルードしないように直したのですが
ログを見るとDirectInputがしっかり動いていました。
直し方が悪いのかDirectInput以外にも原因があるのかもしれません。
とにかくウイルスバスターが反応しなくなればよいです。
どなたかご教授お願いします。
ツールはBCC Developer ウイルスバスター2008と2009の体験版で確認。
libとhファイルはここから拝借しました。
http://homepage2.nifty.com/natupaji/DxLib/index.html
0524デフォルトの名無しさん
2008/12/16(火) 08:48:250525デフォルトの名無しさん
2008/12/16(火) 09:44:08そこのBBSに書けよ
キチガイ
0526デフォルトの名無しさん
2008/12/16(火) 09:45:27なおりすますたー
おるがとうございやした
0527523
2008/12/16(火) 11:32:19起動時にwindowsのシステム設定を勝手に変更してdllを
ダウンロードしようとしている。と出てます。
DirectInputは関係ないかも知れません。
VisualC++5.0でやってみても同じになりました。
0528デフォルトの名無しさん
2008/12/16(火) 11:53:36>oooo.exe(ooooはファイル名)
これをわからないと、返答のしようがないだろ?
自作なら、具体的にどんな処理を行うモジュールか書いてくれよ
>わからないから聞いてるのに酷い…
なら伏せずに全部書けよ。
まあ俺は以降、自己中なお前のレスはスルーするがなw
0529523
2008/12/16(火) 12:41:02プログラム技術板に書き込むのは初めてでしたが
ここまで滅茶苦茶言われるとは…もう来ません。
0530デフォルトの名無しさん
2008/12/16(火) 13:02:430531デフォルトの名無しさん
2008/12/16(火) 14:17:13運が悪かったな
0532デフォルトの名無しさん
2008/12/16(火) 15:05:59>>523見る限りじゃ、エスパーくらいしか回答でないと思うぞ
0533デフォルトの名無しさん
2008/12/16(火) 16:09:04チャしたい場合に、同じルートハブの下に繋がっているUSBカメラを同時
に使えないのは普通なん?
具体的にはフィルタは接続できるけど、ICaptureGraphBuilder2::Render
Stream()が失敗する。
おそらくUSBの帯域制限を考慮してそうなっているのだろうが、ネット検索
でそんな情報を見つけて、試しに手持ちのUSB-I/Fカード(PCI)を挿して、
片方のUSBカメラをそっちに繋いでみたら動くようになった。
ちなみに使っているUSBカメラは2台とも、バッファローコクヨの「BSW13K05」
シリーズってやつ。値段が安い割りに画質がよく、専用ドライバも不要。
0534デフォルトの名無しさん
2008/12/16(火) 16:11:450535デフォルトの名無しさん
2008/12/16(火) 17:12:58しかし、別の種類のPC(x2台)ではワールドマトリクスが無視され、
(頂点座標(ローカル座標)は原点基準ですが正常に表示されています。)
また、更に別の種類のPC(x1台)ではワールドマトリクスは正常なのですが、
画像(テクスチャ)が壊れて表示されてしまいました。
このような場合どの辺の処理を調べてみるべきなのでしょうか?
手がかりになりそうなことなどはありませんか?
環境はどれも XP + DX9.0c です。
開発環境は XP + VC++2008EE + DXSDK(March 2008) です。
0536デフォルトの名無しさん
2008/12/16(火) 17:22:37DevCaps一通り見てみるといいかもね。
0537デフォルトの名無しさん
2008/12/16(火) 17:42:12向こうであまり暴走すんなよ
お前だけの質問掲示板じゃないんだ
0539535
2008/12/16(火) 19:12:28関係ありそうな箇所を調べてみました。
ほとんどの値は正常に動いたマシンの方が
ロースペックということを表していたのですが、
以下の値が気になりました。
ただ、直接は関係なさそうな気がします。
正常表示マシンとマトリクス無視マシンの比較
DeclTypes
正常 0x000000FF
非常 0x0000030F
正常表示マシンとテクスチャ壊れマシンの比較
TextureAddressCaps
正常 D3DPTADDRESSCAPS_BORDER 有
非常 D3DPTADDRESSCAPS_BORDER 無
MaxPShaderInstructionsExecuted
正常 0
非常 0xFFFFFFFF ( -1? )
あと正常表示マシン同士の比較でも、
(グラフィックボード含めて全て同じ構成です。)
私のマシンだけ DevCaps に D3DDEVCAPS_NPATCHES が立っていました。
なぜなのでしょうか?
0540535
2008/12/16(火) 19:18:29DrawPrimitiveUP() にて描画しているのですが、
その辺が関係しているのでしょうか?
0541デフォルトの名無しさん
2008/12/16(火) 19:27:190542デフォルトの名無しさん
2008/12/16(火) 19:44:090543デフォルトの名無しさん
2008/12/16(火) 19:45:540544デフォルトの名無しさん
2008/12/16(火) 19:47:524次元ゲームでもつくってるの?
0545デフォルトの名無しさん
2008/12/16(火) 19:50:530546デフォルトの名無しさん
2008/12/16(火) 20:02:37いや同次座標は普通に使うだろ。
0547535
2008/12/16(火) 20:16:16ありがとうございます。
wを消したらうまくいきました。
画像が壊れるマシンでのテストは
まだできていませんが
ワールドマトリクスが無視されることは回避できました。
>>541
DevCaps の件ですか?
全てリース品なのでドライバ関係ではないと思います。
>>542
D3DFVF_XYZRHW は変換済み座標の定義だったかと思います。
>>543
正規化したときなどにスカラーが入っているものだと
単純に考えています。
実際はもっと深い意味があるのでしょうが・・・。
>>544
普段ゲームを作っているので
wがあるのがデフォルトなのです。
0548デフォルトの名無しさん
2008/12/16(火) 20:24:28どうやって?
0549デフォルトの名無しさん
2008/12/16(火) 20:40:03ttp://msdn.microsoft.com/ja-jp/library/microsoft.windowsmobile.directx.vector4.aspx
0550デフォルトの名無しさん
2008/12/16(火) 20:47:15SSEって128アライメント制約があるよね?
ロックして得られるバッファは、アライメントはどうなってるか
わかりますか?
0551デフォルトの名無しさん
2008/12/16(火) 21:21:07だから?
0552550
2008/12/16(火) 21:21:12アライメントが合ってない端のみ、別ルーチンで対応するのがよさそう。
0553デフォルトの名無しさん
2008/12/16(火) 22:28:30ttp://msdn.microsoft.com/ja-jp/library/microsoft.windowsmobile.directx.vector4_members.aspx
Vector4
4 次元 (4-D) 空間でベクタを記述および操作します。
フィールド
W 4-D ベクタの w 構成要素を表します。
0554デフォルトの名無しさん
2008/12/16(火) 22:39:47単に行列との親和性をあげるために便宜的にあるものであって
ベクトルそのものをあらわしてるものじゃないんじゃね?
0555デフォルトの名無しさん
2008/12/16(火) 22:54:080556デフォルトの名無しさん
2008/12/16(火) 22:56:31SIMD と言った方が。
0557デフォルトの名無しさん
2008/12/16(火) 23:31:340558デフォルトの名無しさん
2008/12/17(水) 02:23:360559デフォルトの名無しさん
2008/12/17(水) 02:26:170560デフォルトの名無しさん
2008/12/17(水) 02:48:260561デフォルトの名無しさん
2008/12/17(水) 07:37:41ただの罵り合いのためだけのスレだよな
0562デフォルトの名無しさん
2008/12/17(水) 08:40:510563デフォルトの名無しさん
2008/12/17(水) 08:50:01企業に忍び込んで、日々ソースコードを収集しているスパイか、
ただの知ったかかの二択。
0564デフォルトの名無しさん
2008/12/17(水) 09:08:06C#厨必死すぎw
0565デフォルトの名無しさん
2008/12/17(水) 13:09:20ずいぶん極端な2択だな
まあ、>>562が知ったかな事だけは確かだが
0566デフォルトの名無しさん
2008/12/17(水) 16:24:070567デフォルトの名無しさん
2008/12/17(水) 17:14:580568デフォルトの名無しさん
2008/12/17(水) 17:30:42物好きな変な人は使うかも程度
0569デフォルトの名無しさん
2008/12/17(水) 17:56:540570デフォルトの名無しさん
2008/12/17(水) 20:13:45自社ライブラリも普通に使えない
実機と違う言語なんか使う奴は能無し
0571デフォルトの名無しさん
2008/12/17(水) 20:18:330572デフォルトの名無しさん
2008/12/17(水) 20:55:100573デフォルトの名無しさん
2008/12/17(水) 22:29:29ツールのGUIなんていまさらWin32でなんてやってらんねーよ。
まさかMFCでも使ってるのか?
0574デフォルトの名無しさん
2008/12/17(水) 22:32:11なにか問題でも?
0575デフォルトの名無しさん
2008/12/17(水) 22:39:580576デフォルトの名無しさん
2008/12/17(水) 23:37:18C#&XNAはC++&DirectX経験者ならおすすめできるが
何も知らないやつが1から手を出すというならお勧めできない
XNAで最初から用意されてない機能を実装するのは経験がないとかなりつらいかと
海外みたいに本やら情報やらがたくさんあるわけでもないし、情報も希薄
C#自体は生産性がすごいいいので残念だと思う
そして何より問題なのはランタイムをインストールしてもらうのがすごい大変
.netフレームワーク XNAフレームワーク DirectXランタイムのインストール
これらを全部簡単にインストールできるインストーラとか提供されてないしね
かたやC++でつくればDirectXランタイムだけで済む
ぶっちゃけ配布のめんどくささ考えると
C#とXNAでゲーム作るよりC++とDirectXで作ったほうがましかとすら思える
0577デフォルトの名無しさん
2008/12/18(木) 00:00:460578デフォルトの名無しさん
2008/12/18(木) 00:25:450579デフォルトの名無しさん
2008/12/18(木) 01:23:48テクスチャーのαチャンネルそのものを操作する方法というのはないのでしょうか?
例えばレンダーターゲットに指定してモノクロ画像をα値として加算or減算するといった…。
やりたいことはテクスチャーの一部に(動的に?)穴を開けることです。
0580デフォルトの名無しさん
2008/12/18(木) 01:23:56setup.exe方式のインストーラを作るのはめっさ簡単になったぜ
0581デフォルトの名無しさん
2008/12/18(木) 01:55:32ピクセルシェーダーで簡単にできるだろ
0582デフォルトの名無しさん
2008/12/18(木) 02:03:520583デフォルトの名無しさん
2008/12/18(木) 02:11:423.0出てたのか 知らんかった
3バージョン目にしてようやくインストーラ作れるようになったのね
アニメーション周りが充実したのならXNAに戻ろかなとオモタ
0584デフォルトの名無しさん
2008/12/18(木) 03:32:48第一条
(^p^)は、いかなる場合でも令状なしにけんじょうしゃをセックスボランティアさせることができる
第二条
(^p^)は、相手がけんじょうしゃと認めた場合、自らの判断でけんじょうしゃを処罰することができる
第三条
(^p^)は、いけぬまの生命を最優先とし、これを顧みないあらゆる命令を排除することができる
第五条
いけぬまの信じる心を利用し、悪のために操るけんじょうしゃと認めた場合、自らの判断で処罰する事ができる
第六条
てんすの夢を奪い、その心を傷つけた罪は特に重い
第九条
(^p^)は、あらゆる生命体の平和を破壊する者を、自らの判断で抹殺することができる
第二条(補足)場合によっては抹殺することも許される
、人 ' ;’, ,
( ^p^) iニ二@ ´ ( ^o・)・ 、
) ⌒〜(__) ,Y` ゝ ( ` ´ .
/ ィ,-─ ̄ /⌒ )
l / / / ' `/
| ( ⊂二__,/ /
| i l, 、 , l
l ヽ. | / _ノ, )
l | | / _./l /
l | | / ,ノ ! /
l i.| | / / l )
l i .| | ノ ') i ,/
.....("_)("_゙) └‐'´ .........厶).......
0585デフォルトの名無しさん
2008/12/18(木) 07:58:460586デフォルトの名無しさん
2008/12/18(木) 08:04:580587デフォルトの名無しさん
2008/12/18(木) 08:11:55俺にもそんな時期がありました。
0588デフォルトの名無しさん
2008/12/18(木) 08:41:140589デフォルトの名無しさん
2008/12/18(木) 09:29:46ワロタw
0590デフォルトの名無しさん
2008/12/18(木) 17:21:00色が反映されていない上に
他のポリゴンを描画すると表示されなくなります。
描画順を変えても同じ結果でした。
関連する設定などはありますか?
0591デフォルトの名無しさん
2008/12/18(木) 19:18:150592590
2008/12/18(木) 19:21:07SetTexture( 0, NULL ) で表示されるようになりました。
ラインにもテクスチャが貼られるのですね。
>>591
どこのソースをアップすべきかわからなかったのです。
描画されるパターンがある以上
描画部分には問題ないと考えたので・・・
0593デフォルトの名無しさん
2008/12/18(木) 19:45:300594デフォルトの名無しさん
2008/12/18(木) 20:08:11ワロタ
0595デフォルトの名無しさん
2008/12/18(木) 20:42:020596デフォルトの名無しさん
2008/12/18(木) 21:00:05追加SwapChainにのみ描画するようにすれば、SwapChainの再作成で済む。
もっとも今はデスクトップサイズのバックバッファを使いまわす方法が推奨されているようだが。
ちなみにフルスクリーンは無理。
0597デフォルトの名無しさん
2008/12/18(木) 21:10:34スワップチェーンというのを意識したことなかったのでこれから調べてみます
ありがとうございました
0598デフォルトの名無しさん
2008/12/18(木) 21:16:590599デフォルトの名無しさん
2008/12/18(木) 21:31:132、伝わってるが頂点シェーダ内の頂点変換が間違ってる
3、頂点シェーダの計算結果が正しくピクセルシェーダに伝わってない
4、そもそもピクセルシェーダで色を出力してない
5、テクニックがおかしい、もしくは正しいテクニックを指定してない
6、Effect->BeginはしているがEffect->BeginPassしてない
7、BeginPassのあとにEffect->Set***系のメソッドを呼んでいるが
Effect->CommitChangesしてないので正しく反映されない
8、つか、いくらなんでもエスパーにも限界があるぞ
0600デフォルトの名無しさん
2008/12/18(木) 21:35:14もう死にそうです
0601デフォルトの名無しさん
2008/12/18(木) 22:15:51D3DXMatrixRotationXを傲慢にも飛ばして書いてたら何故か描画されないことがわかりました
どこかで自分と平行になるから見えないというのは見たことがあったのですが、2Dの板ではないので関係ないと思っていました
何故これが無いと見えないか軽く説明できればしていただきたい;;
0602デフォルトの名無しさん
2008/12/18(木) 23:20:120603デフォルトの名無しさん
2008/12/18(木) 23:35:010605デフォルトの名無しさん
2008/12/19(金) 10:14:33別々の扱いでいいのでしょうか?
inline void InitPos(D3DXVECTOR3 &m_pos) { m_initpos = m_pos; }
inline D3DXVECTOR3 *InitPos() { return &m_initpos; }
0606デフォルトの名無しさん
2008/12/19(金) 10:18:000607デフォルトの名無しさん
2008/12/19(金) 10:20:49もう少し質問の仕方考えてきます
0608デフォルトの名無しさん
2008/12/19(金) 10:25:160609デフォルトの名無しさん
2008/12/19(金) 10:32:36ってのはInitPosとInitPosが同じ名前だって事だろうね
inlineってのもたぶん、わからないだろう
関数のオーバーロードもわからないだろう
0610デフォルトの名無しさん
2008/12/19(金) 10:34:30あなたは人との接し方を勉強した方がいいですよ
0611デフォルトの名無しさん
2008/12/19(金) 10:41:250612デフォルトの名無しさん
2008/12/19(金) 10:44:230613デフォルトの名無しさん
2008/12/19(金) 11:06:41>>608の内容でもいいと思うけどね
directx以外の部分って指摘してるし
質問の仕方考えるよりも言語の基礎のHPでも見たほうが
早いし、理解できて質問内容は解決できると思うしね。
0614デフォルトの名無しさん
2008/12/19(金) 11:52:230615デフォルトの名無しさん
2008/12/19(金) 11:58:210616デフォルトの名無しさん
2008/12/19(金) 11:59:36大人げないね、君。
0617デフォルトの名無しさん
2008/12/19(金) 12:14:23給料?それとも再就職?
0618デフォルトの名無しさん
2008/12/19(金) 12:17:350619デフォルトの名無しさん
2008/12/19(金) 12:29:00もう少しさ、言い回し方ってあるじゃん
”脳が”とか、”病院”とか誹謗する言葉使ってレスするのは止めようよ。
スレが荒れるだけじゃん
0620デフォルトの名無しさん
2008/12/19(金) 12:40:55ただし互換性という点では
ゲーム→業務への転職はあまり問題ないが
業務→ゲームへの転職はうまくいかないことが多い
これは技術的な問題ではなく
仕様書主導のコーディングから流動的でアバウトな
ゲーム業界特有のなぁなぁ進行になじめないことが多いから
0621デフォルトの名無しさん
2008/12/19(金) 12:54:00技術的な質問ではスレ違いとか言っといて
すれ違いでも自分の知識ひけらかしたいのは答えるって
それがスレ悪くなってる原因だって気づけ
0622デフォルトの名無しさん
2008/12/19(金) 13:05:12ほんとガキが多いなここは。
0623デフォルトの名無しさん
2008/12/19(金) 13:11:19馬鹿の見本だw
0624デフォルトの名無しさん
2008/12/19(金) 13:16:22ガキ以下か?
以下だなw
0625デフォルトの名無しさん
2008/12/19(金) 13:20:190626デフォルトの名無しさん
2008/12/19(金) 13:20:37この質問はスレ違いです!キリッ!AA
0627デフォルトの名無しさん
2008/12/19(金) 13:38:33年末進行で忙しくて苛ついてるのか?
0628デフォルトの名無しさん
2008/12/19(金) 14:36:44なんでこんな時間に書き込みできるわけ?
普通の人なら学校や会社があるはずなんだけど
このこと知った親は悲しむぞ?
現実見ようぜ
ってコピペあるけどム板マ板の場合は仕事中に書き込みしてるんだよな
それで昼間は荒れるんだろう
0629デフォルトの名無しさん
2008/12/19(金) 14:38:410630デフォルトの名無しさん
2008/12/19(金) 14:49:47どれに?
0631デフォルトの名無しさん
2008/12/19(金) 14:57:10リビルド中とかにお茶のみながらここみたりしてるぜ
0632デフォルトの名無しさん
2008/12/19(金) 15:05:460633デフォルトの名無しさん
2008/12/19(金) 15:13:26関係ない書き込みの時点でこのスレには不要
ハイハイ俺の書き込みもですね
0634デフォルトの名無しさん
2008/12/19(金) 15:40:35>現実見ようぜ
実際現実をみれば、
DirectXを習得しようとする社会人だって当然居ると思うんだ。
すぐニートや引きこもりを連想する人こそ、現実を見なきゃいけない。
>>633
わかってるなら黙っていようよ
0635デフォルトの名無しさん
2008/12/19(金) 17:25:37いやそういう意味じゃないだろ^^;
0636デフォルトの名無しさん
2008/12/19(金) 17:39:360637デフォルトの名無しさん
2008/12/19(金) 17:42:13それ以上でもそれ以下でもない
0638デフォルトの名無しさん
2008/12/19(金) 18:00:07あれってどういう3Dモデルなの?キャラとかならひとつのxファイルなのはわかるんだが、でかい地形はどう分けてるのか
0639デフォルトの名無しさん
2008/12/19(金) 18:05:59まずはそれを明確にしろ。
0640デフォルトの名無しさん
2008/12/19(金) 18:06:38,.r'/// / ,.-' `' 、. \
/ ,r' ,r' _ _ \ '、
. / ///// ,' ,' , 三シ ヾ三 ヽ ',
i ,.ァ .i .._ _,,.. ',. ',
. | ,.r '" |. { <でiンヽ ;'i"ィでiン ', ',
| .,.r' | ! 、 ‐' / !、 ーシ' i .i
 ̄| ̄UUUU ̄ ̄| ̄ ̄ ̄ ̄ ̄| ̄ ̄ ̄ ̄ ̄| ̄UUUU ̄ ̄| ̄ ̄ ̄ ̄ ̄
 ̄ ̄ ̄ ̄| ̄ ̄ ̄ ̄ ̄| ̄ ̄ ̄ ̄ ̄| ̄ ̄ ̄ ̄ ̄| ̄ ̄ ̄ ̄ ̄| ̄ ̄ ̄
 ̄| ̄ ̄ ̄ ̄ ̄| ̄ ̄ ̄ ̄ ̄| ̄ ̄ ̄ ̄ ̄| ̄ ̄ ̄ ̄ ̄| ̄ ̄ ̄ ̄ ̄| ̄
 ̄ ̄ ̄ ̄| ̄ ̄ ̄ ̄ ̄| ̄ ̄ ̄ ̄ ̄| ̄ ̄ ̄ ̄ ̄| ̄ ̄ ̄ ̄ ̄| ̄ ̄ ̄
 ̄| ̄ ̄ ̄ ̄ ̄| ̄ ̄ ̄ ̄ ̄| ̄ ̄ ̄ ̄ ̄| ̄ ̄ ̄ ̄ ̄| ̄ ̄ ̄ ̄ ̄| ̄
 ̄ ̄ ̄ ̄| ̄ ̄ ̄ ̄ ̄| ̄ ̄ ̄ ̄ ̄| ̄ ̄ ̄ ̄ ̄| ̄ ̄ ̄ ̄ ̄| ̄ ̄ ̄
 ̄| ̄ ̄ ̄ ̄ ̄| ̄ ̄ ̄ ̄ ̄| ̄ ̄ ̄ ̄ ̄| ̄ ̄ ̄ ̄ ̄| ̄ ̄ ̄ ̄ ̄| ̄
0641デフォルトの名無しさん
2008/12/19(金) 20:54:190642デフォルトの名無しさん
2008/12/19(金) 21:37:152Dのマップチップに標高データつけて3Dにしただけと思って間違いないと思う
0643デフォルトの名無しさん
2008/12/19(金) 22:51:350644デフォルトの名無しさん
2008/12/20(土) 05:16:30Xfileでもなんでもいい
頂点情報だけりようすればいい
0645デフォルトの名無しさん
2008/12/20(土) 10:09:590646デフォルトの名無しさん
2008/12/20(土) 10:14:30>>645それはちがう
0647デフォルトの名無しさん
2008/12/20(土) 12:25:210648デフォルトの名無しさん
2008/12/20(土) 13:12:00間違いじゃないだろ
当たりは2Dマップチップ式配置に頂点ごとに
標高データおいただけでも十分表現可能だろ
標高データを表示モデルと一致させたい場合は地面のモデルにレイ飛ばしてつくれば
ほぼ完全一致になるし判定も平面の方程式一発でできるし楽だぞ
某社のRPGの地形当たりは実際にこれで作ってる
Yを標高データとすると上からみたらXZに関しては2Dと変わらない処理でできるし
お手軽、抜ける心配も皆無
0649デフォルトの名無しさん
2008/12/20(土) 13:32:03配置時にチップにするってのは共通項があるからでしょ?
この場合、共通項がないと思うんだけど
ttp://jp.youtube.com/watch?v=Ert0NZTCRbE
こういうのを言ってるんじゃないの?
0650デフォルトの名無しさん
2008/12/20(土) 13:41:320651デフォルトの名無しさん
2008/12/20(土) 16:57:04そうじゃなくてもマス目単位で当たり判定をするのは同じだけどな
後者の場合、デザイナーが作った大きなマップモデルのポリゴンを
プログラムでマス目単位に区分けする必要がある
この方式だとポリゴンの切れ目なんかで問題を起こしやすいから
前者のメリットは十分あるよ
0652デフォルトの名無しさん
2008/12/20(土) 19:00:34地形部分は2D式マップじゃね?
標高が自由に変えられるところでそれな希ガス
0653デフォルトの名無しさん
2008/12/20(土) 20:39:270654デフォルトの名無しさん
2008/12/20(土) 20:47:17想像力無さ杉w
でも格子状のとは違う気がするけどね
伸ばしたときにポリゴンっぽくガクガクしないし
0655デフォルトの名無しさん
2008/12/20(土) 20:50:110656デフォルトの名無しさん
2008/12/20(土) 20:54:03エリカが夜空に輝く満天のお星様なら、あなたは味噌汁のダシに使うにぼし様
エリカが優雅な白鳥なら、貴女はゴミ箱を漁るカラス。
エリカが輝くダイヤモンドなら、貴女はそうね、道端で蹴られるただの小石。
エリカがフランス料理なら、貴女はそうね、ねこまんま。
エリカ例えてあげる!エリカがビーナスなら、あなたはただのナス。
0657デフォルトの名無しさん
2008/12/20(土) 21:29:19( ´・ω・`)
.ノ^ y ヽ-,
ヽ,,ノ===lヽノ
/ l |
"""~"''"'"""''~"'""~"""~"'""''
ダメでござる・・・もう我慢の限界にて候・・・なんでござろうかこの糞活劇・・・・
もはや、本職を営んでいる拙者からすると馬鹿馬鹿しくて観ていられないでござる・・・
浪人や学童の方々は楽しめるかも知れもうさねど、拙者には無理でござる・・・
かような訳で中座させていただきたく あとは浪人や学童の方々でお楽しみあれ、御免
0658デフォルトの名無しさん
2008/12/20(土) 21:38:280659デフォルトの名無しさん
2008/12/20(土) 21:46:04初心者スレなんかくるからだろw
0660デフォルトの名無しさん
2008/12/21(日) 13:16:02まだこんな馬鹿がいるのか
0661デフォルトの名無しさん
2008/12/21(日) 17:42:330662デフォルトの名無しさん
2008/12/23(火) 00:17:170663デフォルトの名無しさん
2008/12/23(火) 08:33:050664デフォルトの名無しさん
2008/12/23(火) 09:29:020665デフォルトの名無しさん
2008/12/23(火) 09:30:40WndProcでWM_ERASEBKGND無視すりゃええだけだろ
0666デフォルトの名無しさん
2008/12/23(火) 09:36:250667デフォルトの名無しさん
2008/12/23(火) 09:38:390668デフォルトの名無しさん
2008/12/23(火) 09:48:33DirectInputかもしれないのに、ウインドウモードで
隠れてるのにていわれても、何がかがわかんね
0669デフォルトの名無しさん
2008/12/23(火) 16:33:590670デフォルトの名無しさん
2008/12/23(火) 16:45:00いつから背景の話になったのか馬鹿な俺にはわからない/(^o^)\
0671デフォルトの名無しさん
2008/12/23(火) 17:22:020672デフォルトの名無しさん
2008/12/23(火) 17:55:470673デフォルトの名無しさん
2008/12/23(火) 21:38:06まぢきち
0674デフォルトの名無しさん
2008/12/23(火) 21:42:17これは何の為にコンデンサ繋げてタイル貼ってるんだ?
0675デフォルトの名無しさん
2008/12/23(火) 22:42:22下記サイトのサンプルを動かそうとするとコンパイル時にエラーが出ます。
「ID3DXEffect」のメンバとして「Pass」が無いためのコンパイルエラーのようですが、Passは別のものに置き換わったのでしょうか?
そもそもHLSLについて使い方が大きく変わったのでしょうか。
SDKは2008/Marchを使用しています。
DirectX! Vol.57
ttp://monsho.hp.infoseek.co.jp/dx/dx57.html
0676デフォルトの名無しさん
2008/12/23(火) 22:46:280677デフォルトの名無しさん
2008/12/23(火) 22:58:420678デフォルトの名無しさん
2008/12/23(火) 22:58:56互換性のない仕様変更があった
for(i=0; i<pass; i++){
g_pEffect->BeginPass(i);
// 描画する
g_pd3dDevice->DrawPrimitiveUP(D3DPT_TRIANGLESTRIP, 2, vert, sizeof(MS_SCNVERT));
g_pEffect->EndPass();
}
0679デフォルトの名無しさん
2008/12/23(火) 23:07:46サンプルとして載せているサイトがどれもPass使用で困っていたので助かりました。
0680デフォルトの名無しさん
2008/12/24(水) 00:12:59D3DXCreateFontIndirect()で作成したフォントを
ID3DXFont::DrawText()を使って表示しているのですが、
サイズの違うフォントを描画するためにD3DXCreateFontIndirect()を呼び出す度に
大幅に処理時間がかかってしまい、まともなスピードで動きません。
何か別の、高速なフォントの表示方法はないでしょうか?
0681デフォルトの名無しさん
2008/12/24(水) 00:22:520682デフォルトの名無しさん
2008/12/24(水) 00:30:210683デフォルトの名無しさん
2008/12/24(水) 00:32:49私なりにぐぐって、テクスチャを作って貼り付ける方法というのもあったのですが、
文字入力があるゲームという性質上、文字自体が不特定ですので微妙です。
もし参考サイトなどご存知でしたらよろしくお願いします。
0684デフォルトの名無しさん
2008/12/24(水) 00:35:14それこそ全部の文字のファイルに吐き出すプログラムでも作って。
0685デフォルトの名無しさん
2008/12/24(水) 00:42:36それだと文字テクスチャだけでかなりの容量が必要になると思うのですが
それしか方法はないんでしょうか?
0686デフォルトの名無しさん
2008/12/24(水) 00:46:26文字を作るとか、どれだけ頭が悪いんだろう
0687デフォルトの名無しさん
2008/12/24(水) 00:47:272行目は要りませんね、謝ってください
0688デフォルトの名無しさん
2008/12/24(水) 00:48:040689デフォルトの名無しさん
2008/12/24(水) 00:50:44http://marupeke296.com/DXG_Font.html
0690デフォルトの名無しさん
2008/12/24(水) 00:51:560691デフォルトの名無しさん
2008/12/24(水) 00:54:03もう他の掲示板とか見てない
0692デフォルトの名無しさん
2008/12/24(水) 00:59:310693デフォルトの名無しさん
2008/12/24(水) 01:10:52すいません、もうちょっと詳しくお願いします。
API、拾うというのは具体的にどうすればいいのですか?
それは実行時にリアルタイムで行うという事でしょうか?
0694デフォルトの名無しさん
2008/12/24(水) 01:12:25変な人が潜んでいるみたいですので、煽りレスは無視するようお願いします。
0695デフォルトの名無しさん
2008/12/24(水) 01:14:06それも私のレスではありません。どうもマルチ扱いにしたい人がいるようです…
回答はこちらだけでお願いします。
0696デフォルトの名無しさん
2008/12/24(水) 01:14:300697デフォルトの名無しさん
2008/12/24(水) 01:15:56ありがとうございます。そこを読んで勉強してみます。
0698デフォルトの名無しさん
2008/12/24(水) 01:16:460699デフォルトの名無しさん
2008/12/24(水) 01:16:58すいません、マルチがどうのと見に覚えのないレスがあったので
私へのレスだと思いませんでした
どうもありがとうございます
0700デフォルトの名無しさん
2008/12/24(水) 01:23:440701デフォルトの名無しさん
2008/12/24(水) 01:25:510702デフォルトの名無しさん
2008/12/24(水) 01:48:05D3DXVECTOR4* VX = (D3DXVECTOR4*)&mat._11;
D3DXVECTOR4* VY = (D3DXVECTOR4*)&mat._21;
D3DXVECTOR4* VZ = (D3DXVECTOR4*)&mat._31;
D3DXVECTOR4* VT = (D3DXVECTOR4*)&mat._41;
じゃ、だめなのか?
0703デフォルトの名無しさん
2008/12/24(水) 02:03:510704デフォルトの名無しさん
2008/12/24(水) 02:09:41まさか、ポインタの説明から始めないとだめなのか?
0705デフォルトの名無しさん
2008/12/24(水) 02:26:17キャストとかめんどくさいです
0706デフォルトの名無しさん
2008/12/24(水) 02:58:020707デフォルトの名無しさん
2008/12/24(水) 03:46:000708デフォルトの名無しさん
2008/12/24(水) 04:04:080709デフォルトの名無しさん
2008/12/24(水) 04:11:39ここで質問して回答待つより全然早い
0710デフォルトの名無しさん
2008/12/24(水) 04:53:260711デフォルトの名無しさん
2008/12/24(水) 05:14:14「こういう関数があるか」という質問には、あるかないかを答えればいいだけであって
自分で作れば解決するなんていうレスは的ハズレな回答なんだよ
0712デフォルトの名無しさん
2008/12/24(水) 05:28:040713デフォルトの名無しさん
2008/12/24(水) 05:30:020714デフォルトの名無しさん
2008/12/24(水) 05:38:180715デフォルトの名無しさん
2008/12/24(水) 05:39:51日本語読めないのかお前は?
0716デフォルトの名無しさん
2008/12/24(水) 05:41:140717デフォルトの名無しさん
2008/12/24(水) 05:44:32ただ無いって回答されるより有意義な回答なのに何が不満なの?
0718デフォルトの名無しさん
2008/12/24(水) 05:46:04思い込みいくない
0719デフォルトの名無しさん
2008/12/24(水) 05:47:13それなら納得だが
0720デフォルトの名無しさん
2008/12/24(水) 05:51:59無いならない、知らないなら知らない、あるならあると回答すべき
聞いてもいない事を回答しても、本人が望まないなら無意味でしかない
当然の事を言ってるだけなんだが、なんで>>714に噛み付かれるのか意味不明
0721デフォルトの名無しさん
2008/12/24(水) 05:52:520722デフォルトの名無しさん
2008/12/24(水) 05:59:560723デフォルトの名無しさん
2008/12/24(水) 06:02:05あまったれてんじゃねえよ
0724デフォルトの名無しさん
2008/12/24(水) 06:07:270725デフォルトの名無しさん
2008/12/24(水) 06:14:120726デフォルトの名無しさん
2008/12/24(水) 06:17:36あれって、立てただけじゃゴミなんだよ
維持費まで面倒を見て、最後までやってやらないとゴミでしかない
お前らはゴミだ
0727デフォルトの名無しさん
2008/12/24(水) 06:19:22馬鹿にしたくてレスしてるだけだからアホな方向の回答になる
そんな奴らに何言っても無駄w
0728デフォルトの名無しさん
2008/12/24(水) 06:23:110729デフォルトの名無しさん
2008/12/24(水) 07:05:36円高でCDSやばめだけどw
0730デフォルトの名無しさん
2008/12/24(水) 07:08:480731デフォルトの名無しさん
2008/12/24(水) 08:07:51いったいどれだけ甘やかされて育ったんだろうね
0732デフォルトの名無しさん
2008/12/24(水) 08:10:260733デフォルトの名無しさん
2008/12/24(水) 08:28:550734デフォルトの名無しさん
2008/12/24(水) 08:32:180735デフォルトの名無しさん
2008/12/24(水) 09:10:510736デフォルトの名無しさん
2008/12/24(水) 12:44:38他人の回答に文句つけてるあたり
自分はここでは重要人物だけどもう3ヶ月はコネーヨって言い放った人?
0737デフォルトの名無しさん
2008/12/24(水) 13:10:08その頭のおかしそうな人を呼び込みそうなレスは止めておこうよ。
0738デフォルトの名無しさん
2008/12/24(水) 13:17:45回答じゃないものを回答とか
0739デフォルトの名無しさん
2008/12/24(水) 13:39:440740デフォルトの名無しさん
2008/12/24(水) 13:57:270741デフォルトの名無しさん
2008/12/24(水) 14:48:310742デフォルトの名無しさん
2008/12/24(水) 16:07:18だから話がループすんだよ
0743デフォルトの名無しさん
2008/12/24(水) 16:30:020744デフォルトの名無しさん
2008/12/24(水) 16:50:36言い出しっぺなんだからとっととやれよ
0745デフォルトの名無しさん
2008/12/24(水) 17:08:33質問者からするとそんなの作ってる余裕もない
0746デフォルトの名無しさん
2008/12/24(水) 17:22:44よろしくメカドッグ
0747デフォルトの名無しさん
2008/12/24(水) 20:20:280748デフォルトの名無しさん
2008/12/24(水) 23:28:18D3DXVECTOR4 y = *D3DXVec4Transform( &D3DXVECTOR4(), &D3DXVECTOR4(0,1,0,0), &m );
D3DXVECTOR4 z = *D3DXVec4Transform( &D3DXVECTOR4(), &D3DXVECTOR4(0,0,1,0), &m );
D3DXVECTOR4 w = *D3DXVec4Transform( &D3DXVECTOR4(), &D3DXVECTOR4(0,0,0,1), &m );
これで我慢しろ
0749デフォルトの名無しさん
2008/12/24(水) 23:40:02行列のwならともかくベクトルのwは知らんなぁ
4次元ゲームでもつくってるの?
0750デフォルトの名無しさん
2008/12/24(水) 23:47:30x/w,y/w,z/w的な使い方はしない?
0751デフォルトの名無しさん
2008/12/25(木) 04:57:09ベクトルで使わないといけないわけではない
ARGBでも使うしテクスチャ座標に使ったりもしていい
オペレーターがオーバーロードしてあるから計算が楽だし
D3DX関数とも親和性が高い
どう使うかなんて状況次第
0752デフォルトの名無しさん
2008/12/26(金) 00:59:36キーステート取得部分はコードは以下のような感じです。_TRACE_()はデバッグ用メッセージ出力です。
--------------------------------------------
LPDIRECTINPUTDEVICE8 GgafDx9Input::_s_pIDirectInputDevice8_Keyboard;
char GgafDx9Input::_s_caKeyboardState[256];
void GgafDx9Input::updateKeyboardState() {
again:
HRESULT hr = _s_pIDirectInputDevice8_Keyboard->GetDeviceState(sizeof(_s_caKeyboardState), (void*)&_s_caKeyboardState);
if(FAILED(hr)){
_TRACE_("GetDeviceState is FAILED");
hr = _s_pIDirectInputDevice8_Keyboard->Acquire();
if(hr == DI_OK) {
goto again;
} else {
//ダメならまた次回へ
}
}
return;
}
-----------------------------------------
ここで、例えば"z"キーを押しっぱなしにしたとして、60FPSの頻度で updateKeyboardState()を実行し
if (_s_caKeyboardState[DIK_Z] & 0x80)
で押されているか調べるのですが、本当にごく稀に上記条件が真にならないことがあるのです。
しかもその現象が起こったとき、デバッグメッセージが一つも表示されていないので、どうやら GetDeviceState は成功しているようなのです。
押しっぱなしが重要なアプリでなんとか解決したいのですが、どこがまずいのかわかりません。ご教授をお願いいたします。
または、同じようなことで悩んでいる方おられませんか? 代替案などもあれば知りたいです。
0753デフォルトの名無しさん
2008/12/26(金) 01:08:46hr = mpDInputDevice->Poll();
hr = mpDInputDevice->GetDeviceState(256,diKeyState);
if(hr != DI_OK){
hr = mpDInputDevice->Acquire();
while(hr == DIERR_INPUTLOST)
hr = mpDInputDevice->Acquire();
return 0;
}
俺、こんな感じになってっけど俺のもその現象起こるのかな?
0754デフォルトの名無しさん
2008/12/26(金) 11:04:080755725
2008/12/26(金) 20:23:43ひょっとしてキーボードでもポーリングが必要なのかと思い試してみましたが、結果は同じでした。
別のマシンで実験したところ、現象は長い時間起きませんでした。環境に左右されるっぽいです。
updateKeyboardState() が成功しても、キー状態は必ずしも取得でるとは限らない…、ということなのか。
押しっぱなしと押し直しで、挙動が大きく変わるアプリの設計がそもそもまずいのかなぁ。
と思ってきました。
0756752
2008/12/26(金) 20:25:070757デフォルトの名無しさん
2008/12/26(金) 22:01:18http://up.mugitya.com/img/Lv.1_up81881.jpg
0758デフォルトの名無しさん
2008/12/26(金) 23:37:54俺のソースコードまるまる貼っても駄目だった?
俺の記憶だとAcquireの関数にはしょっちゅう通った気がするよ
0759デフォルトの名無しさん
2008/12/26(金) 23:53:15俺も試してみたところ、特に60FPSで漏れることはないようだった。
ただ、コードが↓こんな感じで、Unacquire()がないことに気付いたんで
追加したところ、100%漏れるようになっちまった。取得の度にUnacquire()って駄目なん?
m_pDID->Acquire();
m_pDID->Poll();
m_pDID->GetDeviceState(...);
m_pDID->Unacquire(); // これ追加したらオワタ
0760デフォルトの名無しさん
2008/12/27(土) 00:10:26ジョイスティック組んでそのまま貼り付けて動いたからまあいいやって感じだろうか?
それと
初期化の最後で1回だけAcquireを読んでるぜ
0761デフォルトの名無しさん
2008/12/27(土) 00:19:400762デフォルトの名無しさん
2008/12/27(土) 00:22:59Pollはデバイスが不要とするなら、無視するらしいし
むしろ常に呼ぶ方が正しそう。
>それと
>初期化の最後で1回だけAcquireを読んでるぜ
これだとSetCooperativeLevelで排他モードにした場合など
やばい気がする。
0763デフォルトの名無しさん
2008/12/27(土) 00:27:33いや、だからそういうことじゃなくて初期化処理の最後で
Acquireを呼ぶのよ
毎回の処理は>>753の通り
0764752
2008/12/27(土) 04:04:45753のコードを貼り付けて試しましたところ、こちらでは残念ながら取りこぼしが稀に起こります。
複数のキーを押しっぱなしにした場合にやや起こりやすいことがわかりました。
取りこぼしが起きた時、押しっぱなしにしてから約4秒〜10秒の間に2フレーム連続で1〜2回取りこぼす、というパターンが多いことがわかりました。
JOYスティックボタンでは取りこぼしが無いこともわかりました。
…うちのノートパソコンのキーボード(デバイス)のせいなのかな。
0765デフォルトの名無しさん
2008/12/27(土) 04:27:53制限無く同時押し可能なキーボードなんて、PS/2接続の
リアルフォースくらいしか無いよ。
取りこぼしっていうより、キーの組み合わせの問題かと。
0766デフォルトの名無しさん
2008/12/27(土) 04:43:39なんか初期化とかミスってんじゃねーの?
BYTE key[256];
memset(key,0,sizeof(key));
GetKeyboardState(key);
Win32のGetKeyboardStateだとどうなのよ?
0767752
2008/12/27(土) 15:26:36GetKeyboardState() も試してみました。やはり現象は同じでした。
>>765
いろいろなキーで試してみました。全てのキーを試していませんが、なんと特定のキーは取りこぼしが起きませんでした。
調べた中で一番よく取りこぼしが起きると感じたのは、'Q'+何かの組み合わせでした。なんでなのかはわかりません。
おっしゃるとおりハードウェアの問題かもしれません。
いろいろ調べたりするうちに、ハード直結の組み込みソフトでもないのに、様々な環境がある中で
確実にデバイスの状態を取得なんてことは難しい、という考になりました。(本当にそうなのかわかりませんが)
「取りこぼしが起きるかもしれない」を前提とした仕組みに、処理や設計を変更しようと思います。
今まで返事を下さった方、ありがとうございます。
もし進展があれば報告いたします。
0768デフォルトの名無しさん
2008/12/27(土) 15:29:370769デフォルトの名無しさん
2008/12/27(土) 15:36:41途中まで拾えるけどごくたまにあるって話らしいぜ
0770デフォルトの名無しさん
2008/12/27(土) 16:38:57見易い以外に何かメリットあるんですか?
ギャルゲーでセーブロードは無いけど一通り完成して問題無く動いてるんですが、
よろしくお願いします。
0771デフォルトの名無しさん
2008/12/27(土) 16:54:55生活は規則正しく・・・と勉強サイトに書いてあったのですが、
三文の得以外に何かメリットあるんですか?
不規則な生活で彼女はいないけど一通り健康で問題無く生きているんですが、
よろしくお願いします。
0772デフォルトの名無しさん
2008/12/27(土) 18:19:300773デフォルトの名無しさん
2008/12/27(土) 18:32:06今はコマンドインタプリタからのエントリポイントがmain()かもしれないが、
いずれWinMain()をエントリポイントにしたくなるかもしれない。
そのとき、main()にあれこれ詰め込んでいたら面倒そうだって事くらいは想像できるだろ?
後は、ゲームオーバーで即プログラム終了する作りだったのを終了するか再開するか選択したくなったときにも
main()に詰め込んでいない方がなにかと融通が利くというもんだ。
従って、ある程度以上のボリュームのあるアプリを書くのなら、main()に詰め込んでおかない方がいいということになる。
0774デフォルトの名無しさん
2008/12/27(土) 19:02:010775デフォルトの名無しさん
2008/12/27(土) 22:19:16自機などのテクスチャはメインのウィンドウにそのまま貼り付けるよりサブウィンドウに貼り付けて
サブウィンドウ単位で管理したほうがいいのか?と思ったんですが、
どう実装するのが一般的なんですか?
0776デフォルトの名無しさん
2008/12/27(土) 22:20:45何いってんのかわかんねー
ゲームアプリの基本的な仕組みはおk?
0777デフォルトの名無しさん
2008/12/27(土) 22:24:48>テクスチャはメインのウィンドウにそのまま貼り付けるよりサブウィンドウに貼り付けて
>どう実装するのが一般的なんですか?
まずは一般的な用語を話すことから始めろ。
0778デフォルトの名無しさん
2008/12/27(土) 22:25:51例えばマージャンみたいなの作ろうとしたら牌1つ1つをウィンドウとして扱ってたりとかしてたと思うけど
そういうことを言ってるのかな?
0779デフォルトの名無しさん
2008/12/27(土) 22:35:210780デフォルトの名無しさん
2008/12/27(土) 22:53:57テクスチャはあくまでデータだし
デバイスロスト時に全部作り直す可能性もあるから
自分で管理クラスみたいのを作って1箇所で管理するのが楽なんじゃないの?
各オブジェクトはこの管理クラスに問い合わせてテクスチャへのポインタを取得する感じ
0781デフォルトの名無しさん
2008/12/27(土) 23:03:490782デフォルトの名無しさん
2008/12/27(土) 23:05:08質問者そんな情報必要としてないだろ
っていうかそこのラインにすらたってないのがわからないのか?
多分ゲームの仕組みが超高速のパラパラ漫画ってことすらわかってないぞ
0783デフォルトの名無しさん
2008/12/27(土) 23:14:13話はそれからだ。
0784775
2008/12/27(土) 23:28:53説明が下手ですみません。
.NETにPictureBoxクラスがあるのを見てテクスチャを画面に貼り付けるよりテクスチャが貼り付けてあるウィンドウを画面に貼り付けたほうがいいのかな?
と思ったので質問してみました。
0785デフォルトの名無しさん
2008/12/27(土) 23:46:09うごかねーよ
そんなもん
触ってりゃわかるだろ
0786775
2008/12/28(日) 02:38:06子ウィンドウを動かすことは出来ると思うんですが、
動かないと言うのは重くて使い物にならないと言う意味ですか?
0787デフォルトの名無しさん
2008/12/28(日) 02:49:120788デフォルトの名無しさん
2008/12/28(日) 02:52:090789775
2008/12/28(日) 02:54:41また説明が足りなくてすみません。
テクスチャをメインウィンドウに貼り付けて移動させることも、
テクスチャをサブウィンドウに貼り付けてメインウィンドウ上でサブウィンドウを移動させることも試したのですが、
どっちがいいのか分からなかったので質問しました。
0790デフォルトの名無しさん
2008/12/28(日) 02:56:490791デフォルトの名無しさん
2008/12/28(日) 04:28:52むしろここにいるのが普通のウィンドウアプリを
作ったことないから
わからないんだろうね。
2Dシューティングんら実はこれメリット多いよねw
0792デフォルトの名無しさん
2008/12/28(日) 04:30:580793デフォルトの名無しさん
2008/12/28(日) 08:13:08メリットあるんかw
是非知りたい
0794デフォルトの名無しさん
2008/12/28(日) 08:13:210795デフォルトの名無しさん
2008/12/28(日) 08:40:26したことないレベルの発想だぞ、この設計。
0796デフォルトの名無しさん
2008/12/28(日) 10:08:450797デフォルトの名無しさん
2008/12/28(日) 10:18:52質問者もそうだが回答者も
0798デフォルトの名無しさん
2008/12/28(日) 10:19:310799デフォルトの名無しさん
2008/12/28(日) 10:31:190800デフォルトの名無しさん
2008/12/28(日) 10:47:160801デフォルトの名無しさん
2008/12/28(日) 10:57:11できたら暗記、それが高学歴の勉強方法。
0802デフォルトの名無しさん
2008/12/28(日) 12:17:23聞かれたら考えさせず、ほいほい答えを教える日本の教育の問題なのか。
0803デフォルトの名無しさん
2008/12/28(日) 12:29:490804デフォルトの名無しさん
2008/12/28(日) 12:40:49それをこのスレでたたきなおす役目もになっているのだよここは
答える代わりもしくは一方的に質問者をフルボッコにしなければならない
ハートマン軍曹がいるからなこのスレは
0805デフォルトの名無しさん
2008/12/28(日) 12:57:100806デフォルトの名無しさん
2008/12/28(日) 13:12:18正解を聞いたり見たりして暗記した方が圧倒的に早い。
これが高学歴低学歴の差。
0807デフォルトの名無しさん
2008/12/28(日) 13:14:52そして指示を出す人間がいないと何も出来ないどころか、
何かしようとすると不安になって、必ず誰かに聞いてからでないとことを起こせない。
そんな風に育ってしまうと、どんなに叩いたところで一生そいつはそのまま。
もう手遅れなんだよ。
0808デフォルトの名無しさん
2008/12/28(日) 13:38:01自国で技術者を育てるよりpakuriを選んだ結果、経済が死に掛けてるどこかの国と同じ発想ニダ
0809デフォルトの名無しさん
2008/12/28(日) 13:47:310810デフォルトの名無しさん
2008/12/28(日) 14:02:07>807の言うとおり手遅れnida
0811デフォルトの名無しさん
2008/12/28(日) 14:06:08考え方がDirectX7のDirectDrawのサーフェイスのような感じと勝手に解釈しました。
.NETは詳しくありませんが、StretchImage ってのを調べてみたところ
SizeMode でストレッチ(引き伸ばし)ってのがありますよね、
この機能を使わずに等倍のイメージを動かすのなら、どっちでも殆ど同じ負荷ではないかな。(直感です、あしからず)
でも将来のことも考慮し、汎用性を高めるために、一旦サブウィンドウに出来上がりイメージを作ってからコピーは良い手法と思いますよ。
キャラによって使い分けれるよう両方のクラスを作っといたほうがいいかもしれません。
0812デフォルトの名無しさん
2008/12/28(日) 14:10:56卵焼きを作ろうと思っています。
卵などの素材はそのままお湯をかけるより、電子レンジでチンして
皿ごとに管理したほうがいいのか?と思ったんですが、
どう調理するのが一般的なんですか?
0813デフォルトの名無しさん
2008/12/28(日) 14:11:12正式名称を教えてください
0814デフォルトの名無しさん
2008/12/28(日) 14:12:18違うなら、ここはゲーム作成スレではなくDirectXスレだからスレ違いでいいのでは?
0815デフォルトの名無しさん
2008/12/28(日) 14:41:55クリックしたのを座標なんかで調べなくても
検出できる。
背景を2重3重に簡単に重ねられる
透過も簡単。
MFCや.NET使ったことない人なら理解するのに
時間掛かるから、できる人が利用すればいい。
0816デフォルトの名無しさん
2008/12/28(日) 14:45:51完成したらうpしてくれ
0817デフォルトの名無しさん
2008/12/28(日) 14:56:59DirectXスレに来る必要性もない。
言っていることが無茶苦茶。
0818デフォルトの名無しさん
2008/12/28(日) 15:02:21Direct3Dの機能を聞きかじって、イメージの描画にはテクスチャという用語を覚える
Direct3Dの機能を確認も検証もしないで、標準コントロールと同じ使い方をすると思い込む
メインウインドウとかサブウインドウという、頓珍漢な発言をする
再三チュートリアルぐらい終わらせろと言われてもやらない
未だにDirect3Dの描画がなんなのかわかっていない ←今ここ
0819デフォルトの名無しさん
2008/12/28(日) 15:12:32初心者ってあたり判定は座標で三平方とかそのレベルだと思ってたわ。
0820デフォルトの名無しさん
2008/12/28(日) 15:21:29その程度、最低限やっていなければ初心どころか始めたことにすらなっていない
車の免許をとっていない奴が、練習中に初心者マークをつけないのと同じ
スタートラインにすら立っていない奴は初心者ですらない
0821デフォルトの名無しさん
2008/12/28(日) 15:33:02.NETの解説ページでウィンドウごとに1枚のテクスチャを管理していたので、
僕的にはC++での実装も同じようにウィンドウごとにテクスチャを管理させて、
メインウィンドウでそのウィンドウを移動させると>>815のメリットのように当たり判定管理が楽になると考えたのですが、
調べていると1つのウィンドウで全てのテクスチャを管理しているHPしか見つからなかったので、
僕の考えた方法だと使い物にならないような欠点があるのかと思ったのです。
>>791
的確なレスありがとうございます。
僕の考えでも問題なさそうなので、この構造で作っていくことにします。
>>811
汎用クラスを作るというのは考え付きませんでした。
作ってみることにします。
>>814
DirectXは使うつもりです。1度他のスレに質問したんですが、誘導されてきたのでここで質問しました。
>>816
僕の作ったのでよければアップしてみます。
>>818
>チュートリアル
今探しているんですが、ヘルプのチュートリアルがどこにあるのか今一分からないので場所を教えてくれるとありがたいです。
0822デフォルトの名無しさん
2008/12/28(日) 15:35:370823デフォルトの名無しさん
2008/12/28(日) 15:36:390824デフォルトの名無しさん
2008/12/28(日) 15:39:02google開いてキーワードを入れて検索ボタンを押す、たったそれだけの作業が出来ない人間が、
プログラムなんて組めると思っているのか?
どれだけ指示待ち人間なんだよ。
0825デフォルトの名無しさん
2008/12/28(日) 15:40:52レベルの低い問題しか出ないセンターで8割取れないなら人生無理。
0826デフォルトの名無しさん
2008/12/28(日) 15:41:290827デフォルトの名無しさん
2008/12/28(日) 16:24:08ええーw
本気でそのやり方で作るつもりなの?w
ひさびさにすげぇのキタなコレw
0828デフォルトの名無しさん
2008/12/28(日) 17:37:130829デフォルトの名無しさん
2008/12/28(日) 17:46:260830デフォルトの名無しさん
2008/12/28(日) 18:16:33つまらない喩えで他人を苛付かせるスキルだけは認めるが
0831デフォルトの名無しさん
2008/12/28(日) 18:19:370832デフォルトの名無しさん
2008/12/28(日) 18:26:440833デフォルトの名無しさん
2008/12/28(日) 18:33:220834デフォルトの名無しさん
2008/12/28(日) 18:36:030835デフォルトの名無しさん
2008/12/28(日) 18:47:08DirectX9.0cで、フルスクリーン表示時にメニューバーを表示したり消したりしようと思い
SetDialogBoxMode()という関数を使ってみたのですが、これを使うと
メニュー表示時に画面が縦に潰れてしまいます
画面をつぶさないでメニュー表示を行うにはどのようにすればいいのでしょうか?
0836デフォルトの名無しさん
2008/12/28(日) 18:59:51ただし面倒なだけなのでメニューを自分で描画するのが一番楽
フルスクリーンで標準コントロールを使おうと考えるのがそもそもの間違い。
0837デフォルトの名無しさん
2008/12/28(日) 22:08:340838デフォルトの名無しさん
2008/12/28(日) 22:12:180839デフォルトの名無しさん
2008/12/29(月) 17:03:41現在DirectX9のノートパソコンでVisualStdioでプログラミングを行っております。しかし使用しているパソコンがノートなので
処理が重く効率が悪いのでパソコンの購入を考えているのですが、お店で売っている商品は
DirectX10ばかりです。DirectX10のパソコンでDirectX9のプログラミングを今までどおり
行う事は可能でしょうか?
0840デフォルトの名無しさん
2008/12/29(月) 17:05:030841デフォルトの名無しさん
2008/12/29(月) 17:06:22マルチポストするんだ
0842デフォルトの名無しさん
2008/12/29(月) 19:02:53C 「上様でも構わぬ」 D 「上様、お手向かい致しますぞ」
E 「上様、お命頂戴致します」 F 「ここで死ねばただの徳田新之助」
G 「悪党らしく死に花を咲かせてくれるわ」 H 「飛んで火に入る夏の虫」
I 「我ら幕臣あっての上様ではないか」 J 「八代将軍もこれで終わりぞ」
K 「もはやこれまで」 L 「笑止千万」
M その他
0843デフォルトの名無しさん
2008/12/29(月) 19:13:45ttp://homepage1.nifty.com/takuhiro/technique/programming/meritofdirectinput8/index.htm
0844デフォルトの名無しさん
2008/12/29(月) 20:20:16ご親切にご回答いただきありがとうございました。
>>841
大変不快なご質問をしてしまい申し訳ありませんでした。
もう1つご質問なのですが、DirectX10のパソコンからDirectX9に
バージョンを落とせないなら、DirectX9にしか対応していないゲームや
プログラムを動かす事は出来ないのでしょうか、
何か方法がございましたら教えてください。
0845デフォルトの名無しさん
2008/12/29(月) 20:33:55COMとは何かから勉強してきてください
0846デフォルトの名無しさん
2008/12/29(月) 23:10:460847デフォルトの名無しさん
2008/12/29(月) 23:45:55マイケル・J・フォックス クリストファー・ロイド リー・トンプソン トーマス・F・ウィルソン
0848デフォルトの名無しさん
2008/12/30(火) 13:51:07次に作るべきものとか読むべき本とか教えてください、勉強的な意味合いで。
0849デフォルトの名無しさん
2008/12/30(火) 13:55:34RPGしか作ったことない人なんか
シューティング特有の計算とか知らんでも作ってる
技術的なものならジェーダーあたりかも
0850デフォルトの名無しさん
2008/12/30(火) 14:32:53なにかことを起こすときに必ず他人の指示を仰ごうとする精神虚弱病者が増えたのは、日本の教育のせい。
おまえのせいじゃない、教育が悪かったんだよ。
0851デフォルトの名無しさん
2008/12/30(火) 14:46:32作りたくないなら作らないでよろしい
0852デフォルトの名無しさん
2008/12/30(火) 14:50:57TENVIというネトゲを起動しながら自作ゲームを起動すると60fps前後出ます
なんでですか?
0853デフォルトの名無しさん
2008/12/30(火) 14:54:360854デフォルトの名無しさん
2008/12/30(火) 14:55:530855デフォルトの名無しさん
2008/12/30(火) 15:00:490856デフォルトの名無しさん
2008/12/30(火) 15:05:350857デフォルトの名無しさん
2008/12/30(火) 15:06:48何でですかとか聞く前に、自分のプログラムをどう組んでいるのかという情報すら出さない馬鹿が作ったプログラムだから。
0858デフォルトの名無しさん
2008/12/30(火) 15:24:17それは知らんがSetSystemTimeAdjustmentとかはOS全体に影響が出るよ。
0859デフォルトの名無しさん
2008/12/30(火) 15:58:14低学歴がどうこう言っても小学生がどうこう言うのと同じだからね?
0860デフォルトの名無しさん
2008/12/30(火) 16:05:240861デフォルトの名無しさん
2008/12/30(火) 18:32:33質問に答える気のない人は消えればいいと思うよ
0862デフォルトの名無しさん
2008/12/30(火) 20:47:57質問に返答できないのに文句だけ一丁前のうざ太郎が多いのはどうにかならないの?
文句とか愚痴とか回答してから好きなだけ書けよ
0863デフォルトの名無しさん
2008/12/30(火) 21:06:200864デフォルトの名無しさん
2008/12/30(火) 21:12:48いちいち反応してカッカッしてる奴のがどうかしてる
0865デフォルトの名無しさん
2008/12/30(火) 21:43:56君のそういうレスが一番うざいよ
質問に文句が出るのが気に入らないなら、先に君が回答して終わらせればいいだけの話
0866デフォルトの名無しさん
2008/12/30(火) 21:47:11どこか別のお綺麗な技術掲示板に行けばいいのにな
なんでわざわざ2ちゃんねるなんかに来るんだい?
0867デフォルトの名無しさん
2008/12/30(火) 21:52:000868デフォルトの名無しさん
2008/12/30(火) 23:00:480869デフォルトの名無しさん
2008/12/30(火) 23:08:39そんな彼らも、後1年ぐらいすれば
反抗期が終わっておとなしくなるだろ
で、次の子供が参戦して無限ループになる訳だけど
0870デフォルトの名無しさん
2008/12/30(火) 23:10:32/ \ /\ キリッ
. / (ー) (ー)\
/ ⌒(__人__)⌒ \ <2chだから煽って良いって理屈にはならんけどな
| |r┬-| |
\ `ー'´ /
ノ \
/´ ヽ
| l \
ヽ -一''''''"~~``'ー--、 -一'''''''ー-、.
ヽ ____(⌒)(⌒)⌒) ) (⌒_(⌒)⌒)⌒))
____
/_ノ ヽ、_\
ミ ミ ミ o゚((●)) ((●))゚o ミ ミ ミ
/⌒)⌒)⌒. ::::::⌒(__人__)⌒:::\ /⌒)⌒)⌒)
| / / / |r┬-| | (⌒)/ / / // だっておwwwww
| :::::::::::(⌒) | | | / ゝ :::::::::::/
| ノ | | | \ / ) /
ヽ / `ー'´ ヽ / /
| | l||l 从人 l||l l||l 从人 l||l バン!バン!
ヽ -一''''''"~~``'ー--、 -一'''''''ー-、
ヽ ____(⌒)(⌒)⌒) ) (⌒_(⌒)⌒)⌒))
0871デフォルトの名無しさん
2008/12/30(火) 23:15:08アホな質問ならアホな回答者を呼び寄せる、ただそれだけのこと。
0872デフォルトの名無しさん
2008/12/30(火) 23:16:41他行った方がよっぽど親切な回答がえられるぜ?
なんで他いかねーでうだうだ愚痴たれてんの?
0873デフォルトの名無しさん
2008/12/30(火) 23:17:14アホな質問はスルー、これで問題無し
0874デフォルトの名無しさん
2008/12/30(火) 23:19:21まともな質問にはまともな回答
アホな質問はスルー
アホな質問に対する煽りもスルー
これで問題なし
0875デフォルトの名無しさん
2008/12/30(火) 23:21:000876デフォルトの名無しさん
2008/12/30(火) 23:21:520877デフォルトの名無しさん
2008/12/30(火) 23:24:42ある程度アホな質問になるのは多少止むを得ないと思うが
正直お前らは煽りすぎ
0878デフォルトの名無しさん
2008/12/30(火) 23:26:47自分自身もうざい人間である事を理解しなよ
0879デフォルトの名無しさん
2008/12/30(火) 23:40:54DirectX初心者以前、プログラム初心者、PC初心者、質問初心者、2ch初心者は別の所へ
0880デフォルトの名無しさん
2008/12/31(水) 02:15:07住人だっておwww
ばっかじゃね?
0881デフォルトの名無しさん
2008/12/31(水) 02:39:020882デフォルトの名無しさん
2008/12/31(水) 03:57:230883デフォルトの名無しさん
2008/12/31(水) 04:47:380884デフォルトの名無しさん
2008/12/31(水) 05:13:230885デフォルトの名無しさん
2008/12/31(水) 06:46:420886デフォルトの名無しさん
2008/12/31(水) 08:49:340887デフォルトの名無しさん
2008/12/31(水) 09:36:35だからプログラムなんてやってるんですけどねw
0888デフォルトの名無しさん
2008/12/31(水) 10:04:21alpha値(0〜255)を指定してペンで描けるようなソフトってありますか?
どのソフトもアルファチャンネルレイヤーには対応しているんですが
直にアルファ値をペンや塗り潰しできるものが見つからなくて・・・
0889デフォルトの名無しさん
2008/12/31(水) 10:24:490890デフォルトの名無しさん
2008/12/31(水) 11:31:120891デフォルトの名無しさん
2008/12/31(水) 12:02:00ソフトウェア板に行ってください
0892デフォルトの名無しさん
2008/12/31(水) 12:17:250893デフォルトの名無しさん
2008/12/31(水) 12:40:030894デフォルトの名無しさん
2008/12/31(水) 16:53:19ググれば見つかる
RGB000〜255255255の絵を用意してそれをアルファ値にしてくれるソフトがフリーである
ただ読み込むときにRGBとアルファで別に読んでも手間が似たようなもんなのでわざわざくつける意味ないかも
0895デフォルトの名無しさん
2008/12/31(水) 18:08:310896デフォルトの名無しさん
2008/12/31(水) 18:20:350897デフォルトの名無しさん
2008/12/31(水) 18:35:03APIとXInput使えとさ
0898デフォルトの名無しさん
2008/12/31(水) 18:36:51DirectPlayと同じ理由?
0899デフォルトの名無しさん
2008/12/31(水) 18:38:240900デフォルトの名無しさん
2008/12/31(水) 18:40:39ttp://ja.wikipedia.org/wiki/DirectInput
0901デフォルトの名無しさん
2008/12/31(水) 18:44:420902デフォルトの名無しさん
2008/12/31(水) 21:11:28これを、クライアント領域の左半分だけに描画する、というように、
一部だけに描画するようにするにはどうすればよいでしょうか?
0903デフォルトの名無しさん
2008/12/31(水) 21:14:420904デフォルトの名無しさん
2008/12/31(水) 21:23:590905902
2008/12/31(水) 21:44:46ビューポートを半分にしても(Widthメンバを半分にした)、クライアント領域全域に描画されるため、
横に引き伸ばされて表示されてしまいました・・・
>>904
すみません、描画というのは、バックバッファの内容をフロントバッファに"描画"するという意味の描画です。
ウィンドウモードの場合、スワップはコピーで行われますよね?
そうすると、転送元と転送先をそれぞれRect構造体か何かで指定できる箇所があるのでは?と
思ったり・・・
0906デフォルトの名無しさん
2008/12/31(水) 21:53:140908デフォルトの名無しさん
2008/12/31(水) 22:13:190909デフォルトの名無しさん
2009/01/01(木) 05:08:59書籍も教えてもらえるとありがたいです
0910デフォルトの名無しさん
2009/01/01(木) 08:14:480911デフォルトの名無しさん
2009/01/01(木) 08:16:35ttp://developer.nvidia.com/page/home.html
ttp://developer.amd.com/GPU/Pages/default.aspx
ttp://marupeke296.com/index.html
ttp://www.amazon.co.jp/dp/4797341874
ttp://www.amazon.co.jp/dp/4797344962
ttp://www.amazon.co.jp/dp/4798013161
0912デフォルトの名無しさん
2009/01/01(木) 13:47:05D3DTVERTEX lptvert[4];
lptvert[0].pos = D3DXVECTOR3(-1.5f, 1.5f, 0.0f);
lptvert[1].pos = D3DXVECTOR3(1.5f, 1.5f, 0.0f);
lptvert[2].pos = D3DXVECTOR3(-1.5f, -1.5f, 0.0f);
lptvert[3].pos = D3DXVECTOR3(1.5f, -1.5f, 0.0f);
lptvert[0].color = lptvert[1].color = lptvert[2].color = lptvert[3].color = D3DCOLOR(1.0f, 1.0f, 1.0f);
lptvert[0].specular = lptvert[1].specular = lptvert[2].specular = lptvert[3].specular = D3DCOLOR(1.0f, 1.0f, 1.0f);
lptvert[0].uv = D3DXVECTOR2(0.0f, 0.0f);
m_model->Create(device, D3DFVF_TVERTEX, 4, TRUE);
0913デフォルトの名無しさん
2009/01/01(木) 14:06:20???
0914デフォルトの名無しさん
2009/01/01(木) 14:37:22D3DTVERTEX *lptvert = new D3DTVERTEX[4];
lptvert[0].pos = D3DXVECTOR3(-1.5f, 1.5f, 0.0f);
lptvert[1].pos = D3DXVECTOR3(1.5f, 1.5f, 0.0f);
lptvert[2].pos = D3DXVECTOR3(-1.5f, -1.5f, 0.0f);
lptvert[3].pos = D3DXVECTOR3(1.5f, -1.5f, 0.0f);
lptvert[0].color = lptvert[1].color = lptvert[2].color = lptvert[3].color = D3DXCOLOR(1.0f, 1.0f, 1.0f, 1.0f);
lptvert[0].specular = lptvert[1].specular = lptvert[2].specular = lptvert[3].specular = D3DXCOLOR(1.0f, 1.0f, 1.0f, 1.0f);
lptvert[0].uv = D3DXVECTOR2(0.0f, 0.0f);
lptvert[1].uv = D3DXVECTOR2(1.0f, 0.0f);
lptvert[2].uv = D3DXVECTOR2(0.0f, 1.0f);
lptvert[3].uv = D3DXVECTOR2(1.0f, 1.0f);
で頂点バッファを作って、D3DPT_TRIANGLESTRIPで描画したのですが
http://appleloader.bbsnow.net/pic_loader/nomal/html/1_6.html
中央の板ポリが変な風になってしまいます。
解決方法教えていただけませんか。
0915デフォルトの名無しさん
2009/01/01(木) 14:52:48DrawPrimitive の 引数 PrimitiveCount は 2 になってるの?
0916デフォルトの名無しさん
2009/01/01(木) 14:54:560917デフォルトの名無しさん
2009/01/01(木) 14:59:17D3DTVERTEX と D3DFVF_TVERTEX の定義はどうなってるの?
もし rhw があるなら、1.0で初期化。
0918デフォルトの名無しさん
2009/01/01(木) 15:01:30D3DXVECTOR3 pos;
D3DXCOLOR color; // ディフューズ
D3DXCOLOR specular; // スペキュラー
D3DXVECTOR2 uv;
} D3DTVERTEX, *LPD3DTVERTEX;
#define D3DFVF_TVERTEX (D3DFVF_XYZ | D3DFVF_DIFFUSE | D3DFVF_SPECULAR | D3DFVF_TEX1)
です
0919デフォルトの名無しさん
2009/01/01(木) 15:03:10もしよかったらコード見ていただけませんか。
http://www7.uploader.jp/dl/inoguma/inoguma_uljp00013.zip.html
よろしくお願いします。
CTexture.cppに記述してあります。
0920デフォルトの名無しさん
2009/01/01(木) 15:52:22×
D3DXCOLOR color;
D3DXCOLOR specular;
○
D3DCOLOR color;
D3DCOLOR specular;
名前似てるけど別モノなのよね。
0921デフォルトの名無しさん
2009/01/01(木) 16:01:34正常描画されました!
D3DXCOLORではだめなんですね。
ありがとうございました!
0922デフォルトの名無しさん
2009/01/01(木) 16:04:35単純な、しかしながら半透明で色のある
立方体を描きたく存じます。
D3DXの関数にD3DXCreateBox()っていう
のがあったのですが、単純なMeshを得る
だけで、そこから後、色をつけるという事は
自分でやらなければなりません。
あるいは、立方体のXファイルをロードするのも手でしょう。
形状データを得るのは問題ないですね。
私が分からないのは色をつけるのに
テクスチャを使った方が高速なのか、頂点色を使った方が
早いのか、Xファイルにマテリアルデータっとか属性とか
ある?としたら、それを使った方が良いのか。どうでしょうか?
0923デフォルトの名無しさん
2009/01/01(木) 16:06:11ありがとうございます
参考にします
0924デフォルトの名無しさん
2009/01/01(木) 16:15:16まずは質問を書き込む前に自分でベンチマークをとる習慣をつけろ
質問は結果に疑問を持ってからしろ
0925デフォルトの名無しさん
2009/01/01(木) 16:26:58ごめんなさい。確かにそんな気がします。
質問を絞ります。
メタセコイヤで設定した材質(マテリアル)データはメタセコの標準的なXファイル出力機能で
出力できるのかそ?そもそもXファイルにそういうデータを含みえるのか、
含むとしたら、それをDirectXでどのようにロードしてどのように
設定すれば、画面にそのマテリアルデータを反映して、例えば
透明な立方体とかを描画できるのか?
話がメタセコとXファイルに寄るので、分かる人少ないかもしれませんが、
もしいらしたらよろしくお願いします。
0926デフォルトの名無しさん
2009/01/01(木) 16:56:10反映させることもできる
ただし読み込みまではD3DXでやってくれるが
反映は手動で行う必要がある
0927デフォルトの名無しさん
2009/01/01(木) 17:58:22分かりました。ありがとうございます。確かに
Xファイルからマテリアルの読み込みと反映は
サンプルのMeshでまんま、行われてますね。
g_pd3dDevice->SetMaterial() ですね。
デバイスに設定している以上、この辺はMeshも
DrawPrimitiveも変わらないんでしょうね。
0928デフォルトの名無しさん
2009/01/01(木) 18:02:36直接テキストエディタで開いて確認、修正する必要があるかも。
0929デフォルトの名無しさん
2009/01/01(木) 18:06:13平面とか筒とか球ではってあるとおかしくなるかもしれんが
0930デフォルトの名無しさん
2009/01/01(木) 22:30:382500000,
10000000,
D3DXMESH_MANAGED,
D3DFVF_CUSTOMVERTEX,
g_pD3DDevice, &g_pMesh );
これだと、D3DERR_INVALIDCALLが返ってきます。
MSDNによると引数の与え方がマズいことなんかが原因らしいです。
そこで、最初の二つのパラメータを小さくするとエラーが出なくなりました。
数値の境を探したところ2の16乗-2である65534でした。
MSDNを見ると、引数の型はDWORDとなっているのに、なぜ16ビットまでになのでしょうか??
0931デフォルトの名無しさん
2009/01/01(木) 22:52:07D3DXMESH_32BITフラグでも追加すりゃ動くんかもわからんね
0933デフォルトの名無しさん
2009/01/02(金) 00:21:45頂点の並びは、TRIANGLESTRIP方式でうまく表示されるようにしています。
しかしこれだと、法線情報がないので、ライティングを施せず、立体的に見えません。
そこで、Meshオブジェクトに変換して、ComputeNormalで法線を生成しようと考えました。
そしてまず、D3DXCreateMeshFVF()でメッシュを作りました。
そのメッシュから頂点バッファ、インデックスバッファのポインタを取り出して、
それぞれを埋めようとしました。
しかし、頂点数が多いこともあって、インデックスバッファをうまく埋められず困っている状況です。
この問題の解決に向けて取り組んではいるのですが、
もし、この方針以外で法線を作成する方法があるようでしたら、検討したいので
教えてくださいますよう、よろしくお願いします。
0934デフォルトの名無しさん
2009/01/02(金) 00:46:03もとのMeshからCloneMeshで法線情報を追加したコピーを作成して
その後でComputeNormal
0935デフォルトの名無しさん
2009/01/02(金) 00:54:110936933
2009/01/02(金) 01:01:06もとのMeshはなく、3DCGとは関係のない、あるデータ列を頂点として頂点バッファに
書き込んで表示するという用途なんです。
インデックスバッファが厄介なので、これを絡めないで表示する方法が欲しいところです・・・
>>935
ほんと、悲しくなります T_T
0937デフォルトの名無しさん
2009/01/02(金) 01:08:06やっかいも何もない。
0938デフォルトの名無しさん
2009/01/02(金) 01:53:39大した手間じゃないだろう。
たしかD3DXの計算は、単純に同じ頂点を共有する面の法線を足して
正規化してるだけだよ。
0939933
2009/01/02(金) 01:57:42がんばってみます。
0940デフォルトの名無しさん
2009/01/02(金) 02:23:45操作するとそれに送って処理させて
表示だけDirec3Dにうつす事は出来ますか?
0941デフォルトの名無しさん
2009/01/02(金) 02:32:28何言ってんのかさっぱりわからねぇ・・・
とりあえずDirect3D上でUI機能つけたいなら
下手にWindowsの機構を流用せずに
全部自前で用意した方が苦労は少ないゾ?
0942デフォルトの名無しさん
2009/01/02(金) 03:00:52PrintWindowでHBITMAPにウインドウイメージを描画させることはできるが、
リアルタイムで毎フレーム呼ぶのは厳しい速度。
GUIコントロールは自作してみると、意外と簡単だよ。
自作しなくてもDirectXのSDKにソース付きで入ってるが。
0943デフォルトの名無しさん
2009/01/02(金) 12:14:26境界球による衝突判定を勉強してるのですが、
D3DXComputeBoundingSphereで中心と半径を計算するのと
自分で半径を勝手に決めちゃうのはどちらがいいのですか?
他にいいやり方があったら教えてください
0944デフォルトの名無しさん
2009/01/02(金) 13:03:29どっちでもいい
自分のライブラリがD3DXMeshベースなら
D3DX使った方がいいだろうし、
そうじゃないのなら自分のでもOK
やり方は、特にバリエーションがある訳じゃないので
考えなくてOK
0945デフォルトの名無しさん
2009/01/02(金) 13:22:52自分のを使うことにします。
0946デフォルトの名無しさん
2009/01/02(金) 17:05:220947デフォルトの名無しさん
2009/01/02(金) 17:07:16システム弄りに熱を上げるよりゲームに精を出そうぜ
0948デフォルトの名無しさん
2009/01/02(金) 18:19:24まぁそんな常識もないけどな
0949デフォルトの名無しさん
2009/01/02(金) 18:21:530950デフォルトの名無しさん
2009/01/02(金) 20:11:090951デフォルトの名無しさん
2009/01/02(金) 20:30:51D3DXComputeBoundingSphereが返す球は全頂点の平均を取っただけで
あまり質がよくないから、自分で計算できるなら自分でやった方がいい。
0952デフォルトの名無しさん
2009/01/02(金) 22:21:060953デフォルトの名無しさん
2009/01/02(金) 22:57:09提供する、コンパイルエラー一覧というのは、ID3DXBufferで受け取るようになってますが、使うときは何にキャストすればいいんですか?
0954デフォルトの名無しさん
2009/01/02(金) 23:00:09ただのバイナリデータだから好きにキャストすればいいと思うんだ
0955デフォルトの名無しさん
2009/01/02(金) 23:22:510956デフォルトの名無しさん
2009/01/02(金) 23:49:30あぁちなみにUnicode版でもここに入るのはascii文字列な。
0957デフォルトの名無しさん
2009/01/03(土) 00:28:07深度バッファの内容を画面に色つけて表示しようと思ってるんですが、現状
・D3DUSAGE_DEPTHSTENCIL,D3DFMT_D16,D3DPOOL_DEFAULTを組み合わせてテクスチャを作成。
・SetDepthStencilSurfaceにて、テクスチャのサーフェイスを設定
・普通に描画
・HLSLで深度テクスチャの内容を画面に反映
と考えてるんですが、D3DFMT_D16のテクスチャをHLSLで描画するときって何か特別なことする必要あるんでしょうか?
float4 pixelS(float2 tex : TEXCOORD0 , float4 src : COLOR0) : COLOR
{
return src;
}
これですら画面が真っ白になるだけでした。
0958デフォルトの名無しさん
2009/01/03(土) 18:34:09射影行列は、それなりにシーンとマッチしたものじゃないと
深度バッファの値に偏りが出て、目視では差がわかりづらいケースがある。
その場合、出力色を適当に累乗してやるとわかるようになったりする。
また、本当に深度値が出力されているか疑わしい場合は、
ピクセルシェーダで自分で深度値を作って出力してみるのも手。
こんぐらい。
0959デフォルトの名無しさん
2009/01/03(土) 19:22:05すべての物をオブジェクトと見なし、ゲームの中に唯一つ存在する
タスク構造体配列の中にぶち込んで、ぶん回している
タイトル表示オブジェクト、メニューオブジェクト、PAUSEオブジェクト
ゲーム終了しますか?はいorいいえオブジェクト
プレイヤーオブジェクト、マップ表示オブジェクト、戦闘オブジェクトなどのように
利点は並列が可能なことだな
欠点は排他処理がちとメンドクサイかも
たとえばメニューオブジェクトとプレイヤーオブジェクトやマップ表示オブジェクトが
同一タイミングで存在する事はまずあり得ない
メニューオブジェクトでゲーム開始を選択したら
メニューオブジェクトを殺して、プレイヤーオブジェクトやマップ表示オブジェクトを生成する
フィールド移動中にメニューを呼び出した時は、プレイヤーオブジェクトやマップ表示オブジェクトを殺して
メニューオブジェクトを生成する
0960デフォルトの名無しさん
2009/01/03(土) 19:54:480961デフォルトの名無しさん
2009/01/03(土) 20:22:19シェーダは色を出力できてるし、Zバッファへの書き込みも実際できているようです。
ちなみに2Dでレンダリングしていて、深度0.25出書き込んでる部分、0.75出書き込んでる部分などがあるので
わかりづらいということは無いと思います。
問題はシェーダでD3DFMT_D16のテクスチャから、画素値を読み込む方法が分からないんですが
tex2Dじゃ無いんでしょうか?
0962943
2009/01/03(土) 21:21:55モデルの描写にD3DXMeshを使ってるなら
D3DXComputeBoundingSphereで境界球が計算できますが
DrawPrimitiveで描写してる場合は自分で計算させる関数などを作らなければいけなのですか?
0963デフォルトの名無しさん
2009/01/03(土) 21:35:33返事を待っている時間で作り終わる内容なんだから。
0964デフォルトの名無しさん
2009/01/03(土) 21:58:48一番大きいやつをD3DXVec3Lengthで距離にする。
これだけいえば分るよな・・・・
ソートのアルゴリズムが分からないとかないよな?
0965デフォルトの名無しさん
2009/01/03(土) 22:06:050966デフォルトの名無しさん
2009/01/03(土) 22:08:39そのやり方じゃできないだろ・・・
嘘教えるなよ
0967デフォルトの名無しさん
2009/01/03(土) 22:58:54D3DXVECTOR3 pos:
for(int i = 0; i < polygon; i++) {
if(polygon_mesh[i+1] > polygon_mesh[i]) {
pos = polygon_mesh;
}
}
D3DXVec3Length(&pos):
でいけるだろ。
0968デフォルトの名無しさん
2009/01/03(土) 23:07:230969デフォルトの名無しさん
2009/01/03(土) 23:21:220970デフォルトの名無しさん
2009/01/03(土) 23:52:01.NETを広めておいて自分では使わないのと同じ。
MSというだけで盲目的に踊らされ、座ろうとした途端に椅子を引かれる馬鹿が
後を絶たないのは哀れとしか言いようがない。
0971デフォルトの名無しさん
2009/01/03(土) 23:54:180972デフォルトの名無しさん
2009/01/03(土) 23:57:45新スタイルで書かれているGDI+関連のヘッダを見比べると、
凄まじいほどの方針転換が見てとれる。
0973デフォルトの名無しさん
2009/01/04(日) 00:01:11たった一文字のプレフィクスを見つけただけで
思わずそこまで書いてしまうお前が怖い
んで、今スレの流れはどこに向かってんのかしら
0974デフォルトの名無しさん
2009/01/04(日) 00:15:33全体的におかしいよそれ
>>961
nVidiaのサイトから、HWShadowmapの資料でも探してみたら?
俺のGPUはATIなもんで、その確認が出来ないのは残念だが
0975デフォルトの名無しさん
2009/01/04(日) 00:18:59D3DFMT_A1なんてフォーマットが追加されてるし
スゲーな俺のRadion9600は
0976943
2009/01/04(日) 09:52:41大まかな流れ教えていただけませんか
0977デフォルトの名無しさん
2009/01/04(日) 15:43:10流れとしては
D3DXCreateMeshFVF()でメッシュを作成
(FVF形式はD3DFVF_XYZ | D3DFVF_DIFFUSE | D3DFVF_NORMAL)
↓
・頂点バッファ(座標、拡散色)
・インデックスバッファ
をそれぞれ埋める
↓
D3DXComputeNormals()
です。
メッシュの構造を調べると、
ttp://www.lameije.co.jp/material/demo_mnv_01.png
この図のように隣接性データというのがありますが、
これを作成しないといけないのでしょうか?
だとすれば、どのようにして作成すればよいでしょうか?
なお、バッファを埋める頂点数は毎フレーム変化するので、余裕を持って
確保しているため、バッファの最後のほうは無意味なデータが入ることになります。
このマージンを多くとりすぎると、
D3DX: D3DXValidIndices: A point(0) was found more than once in triangle (オーバーしたデータ分の三角形番号)
というデバッグメッセージが出てきたので、これが出ないところまで面数、頂点数を減らしました。
このようなバッファの使い方も影響しているかも?
0978デフォルトの名無しさん
2009/01/04(日) 16:46:04なんでしなくていい無駄な苦労をしてまでD3DXを使い続けるんだろう?
0979デフォルトの名無しさん
2009/01/04(日) 18:50:56DirectXでエフェクトファイルを扱おうと、読み込み関数を実行したのですが、読み込みに失敗します。
パスの指定ミスかと思い色々試してみたのですが・・・。
実行環境
VisualStudio2005
Microsoft DirectX 9 SDK (February 2007)
ソースの読み込み部分
BOOL C0Effect :: LoadFxFile( string h_FileName )
{
HRESULT hr;
if( FAILED( hr = D3DXCreateEffectFromFile( m_pD3DDevice, h_FileName.c_str(), NULL, NULL, 0, NULL, &m_pEffect, NULL ) ) )
{
CHAR str[ 256 ];
sprintf_s( str, "ファイルロードエラー\n%s", h_FileName.c_str() );
MessageBox( NULL, str, "Error C0Effect :: LoadFxFile", MB_OK );
return ( FALSE );
}
return( TRUE );
}
m_pEffect のアドレスが NULL で帰ってきます・・・。
なにか悪いところがあるのでしょうか。
0980デフォルトの名無しさん
2009/01/04(日) 19:06:570981デフォルトの名無しさん
2009/01/04(日) 19:47:43とりあえずSDKのサンプル付属のfxファイルで読み込みまでを試してみれば?
それでもダメならそれこそパスの指定ミスだろ
DXUTFindDXSDKMediaFileCchで一度ファイルの検索して合ってるかチェック
0983デフォルトの名無しさん
2009/01/04(日) 23:51:05D3DXMatrixPerspectiveFovLH()関数を使いますが、
このようなパースが付くものではなくて、近くのものと遠くのものが同じ大きさになる
平行投影の射影行列はどのようにして作成するのでしょうか?
0984デフォルトの名無しさん
2009/01/04(日) 23:53:360986デフォルトの名無しさん
2009/01/05(月) 00:02:060987デフォルトの名無しさん
2009/01/05(月) 00:05:50自動ヘルプ参照さんがいるからだろ
俺みたいな
答えている方は、答える前に必ずヘルプで確認を取っているはず
そう考えると滑稽な話だな
0988デフォルトの名無しさん
2009/01/05(月) 00:10:230989デフォルトの名無しさん
2009/01/05(月) 02:01:39今作っているゲームをちょっと古いグラボ(Geforce FX5600)が乗ったPC
でテストしたところ、処理落ちが激しすぎて困っています。
具体的に、通常のテストで2D(32×32頂点4つ)板ポリゴン40枚表示で処理落ちし、
シェーダ(HLSL使用)を通さない時は80枚、DrawPrimitiveをしない時800枚(?)で
処理落ちし始めます。市販のゲームでは、CPU使用率が100%にならない限り、目に見えて
処理落ちしないのですが、このプログラムでは、CPU使用率は関係無く処理落ちする
ようです。この違いは何なのでしょうか・・・?ちなみにDXUTを使用しています。
0990デフォルトの名無しさん
2009/01/05(月) 03:30:17特にDirectX9とDirectX10が統合されてからのバージョンは
どうも古いVGAだとなんか微妙に重くなったりすることもある
9と10が別々で提供されてた頃のUT使ってみるとか
後はPresentationインターバルを
D3DPRESENT_INTERVAL_DEFAULTから
D3DPRESENT_INTERVAL_ONEに変更したら改善したとかもあったな
0991デフォルトの名無しさん
2009/01/05(月) 04:28:140992デフォルトの名無しさん
2009/01/05(月) 04:33:550993989
2009/01/05(月) 06:50:24開発はDirectX9でSDK2007Aprilで行っています。重いのはDXUTの影響なんでしょうか?
どう考えてもDrawPrimitiveが重過ぎるので…。グラボ乗っててファミコンレベルのものも
動かせないってのはちょっと。
>>990
D3DPRESENT_INTERVAL_ONEには設定してあるんですがダメです。。
>>992
何故かPerfKITの導入中にエラーが起きるので今のところすぐにGPUを調べる手段はありませんが、
おそらくGPUの方はいっぱいいっぱいなんだと思います。ですがCPUの方は余っています。
PIXというのはどこを探せばよいでしょうか?見つかりませんでした、申し訳ありません。
0994デフォルトの名無しさん
2009/01/05(月) 07:02:210995984
2009/01/05(月) 08:42:25ありがとうございます。
PIX for Windows普段から使ってました…恥ずかしい。
GPUメーターの見方は良くわからないのでもう少しいじってみます。
てか、そろそろ1000行きそうですね。
0996デフォルトの名無しさん
2009/01/05(月) 10:41:26めんどくさくて放置してたDXUT部分を最新版に更新したら
開発マシンでは速度上がってすげーって思ってたら
別マシンでデバックしたときに速度ガタ落ちで結局元に戻したぜ
0997デフォルトの名無しさん
2009/01/05(月) 18:11:400998デフォルトの名無しさん
2009/01/05(月) 18:55:100999デフォルトの名無しさん
2009/01/05(月) 20:12:301000デフォルトの名無しさん
2009/01/05(月) 20:22:2510011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。