5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

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

【C++】 DirectX初心者質問スレ Part20 【C】

1 :デフォルトの名無しさん: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/


2 :デフォルトの名無しさん:2008/12/10(水) 18:41:49
DirectX API以外の話題厳禁

3 :デフォルトの名無しさん:2008/12/10(水) 18:43:33
シェーダや数学の話題も板違いなので厳禁(前スレで荒れたので)

4 :デフォルトの名無しさん:2008/12/10(水) 18:52:21
>>1-3
以降のスレ違い質問者は放置すること。

5 :デフォルトの名無しさん:2008/12/10(水) 18:55:53
自治厨も放置でよろ

6 :デフォルトの名無しさん:2008/12/10(水) 18:59:15
いちいち神経を逆撫でして癪に障る高慢な回答者もスルーでお願いします。

7 :デフォルトの名無しさん:2008/12/10(水) 18:59:51
そんな涙目にならんでも

8 :デフォルトの名無しさん:2008/12/10(水) 19:00:20
回答者も質問者も同じぐらいの知識量だからな。実際。
無能な回答者から情報を利用してやりましょう。

9 :デフォルトの名無しさん:2008/12/10(水) 19:02:13
新スレたててもらったら>>1乙って学校で習わなかったか?
>>1

10 :デフォルトの名無しさん:2008/12/10(水) 19:08:00
DirectX 10,11の話題も厳禁(回答者が自分の知らない技術に対して疎外感を覚え不快感を顕にし出しスレが荒れるので)

11 :デフォルトの名無しさん:2008/12/10(水) 19:08:32
>>9
自演乙(プ

12 :デフォルトの名無しさん:2008/12/10(水) 19:10:13
>>9
マナーも知らん奴しかいないからしょうがない

13 :デフォルトの名無しさん:2008/12/10(水) 19:12:48
>>12
おまえは言ったのか?
>>9==>>12かw

14 :デフォルトの名無しさん:2008/12/10(水) 19:15:39
1乙がどうのとかで盛り上がれる素敵なスレ、DirectX初心者質問スレ Part20!!
乞うご期待!!

15 :デフォルトの名無しさん:2008/12/10(水) 19:20:29
先が思いやられるな
ストレスで早死にしないように気を付けるか

16 :デフォルトの名無しさん:2008/12/10(水) 19:21:34
チャンネルとは何ですか?

17 :デフォルトの名無しさん:2008/12/10(水) 19:22:54
テレビのつまみのことだよ

18 :デフォルトの名無しさん:2008/12/10(水) 19:24:35
自分で作ると言っておきながらしつこいなこの人w

19 :デフォルトの名無しさん:2008/12/10(水) 19:35:53
つか、数学はともかく
シェーダを語らずしてDirectXの何を語るんだ?
どう考えてもメインだと思うんだが

20 :デフォルトの名無しさん:2008/12/10(水) 19:41:23
別に語っていいよ
>>3が勝手に書いてるだけだし

21 :デフォルトの名無しさん:2008/12/10(水) 19:41:29
DirectX API以外の話題厳禁

22 :デフォルトの名無しさん:2008/12/10(水) 19:43:50
シェーダスレと数学板があるだろ。
自分の都合のいいようにルールを解釈するな。

23 :デフォルトの名無しさん:2008/12/10(水) 19:45:27
だったら誘導も貼っとけよ

24 :デフォルトの名無しさん:2008/12/10(水) 19:45:33
まあ確かにシェーダ自体の話はそっちで問題ないな
DirectXのコードを絡めての話なら別にいいが

25 :デフォルトの名無しさん:2008/12/10(水) 19:46:29
なんでもかんでも人がやってくれると思ってる
そんな人はプログラマやらんでよろしい

26 :デフォルトの名無しさん:2008/12/10(水) 19:46:34
いつまでも固定機能なんて
過去の遺物にしがみついてる奴の言うことなんか気にするな

27 :デフォルトの名無しさん:2008/12/10(水) 19:50:09
シェーダなんて使えて当たり前
誰が固定機能の話なんてしたんだ?

28 :デフォルトの名無しさん:2008/12/10(水) 20:24:41
Paint.NETの透明度だけ弄るペンのプラグインでも作れば。
C#で数行でしょ。

29 :デフォルトの名無しさん:2008/12/10(水) 20:31:47
質問です。メッシュに接ベクトルのデータを追加しようとしてD3DXComputeTangent関数を呼んだのですが、関数の戻り値を調べたら失敗してました
MSDNで調べたらメッシュ頂点宣言に従法線フィールド、接線フィールドが含まれていない場合に失敗するって書いてあったんですが
どうやってメッシュ頂点宣言に従法線フィールド、接線フィールドを追加するんでしょうか?

30 :デフォルトの名無しさん:2008/12/10(水) 21:04:54
モデルに接線、従法線が含まれていないなら
これらを追加した頂点要素を宣言して
普通に読み込んだメッシュ->CloneMeshでこの頂点要素を指定する

31 :デフォルトの名無しさん:2008/12/10(水) 21:13:58
>>30
できたー!!
ありがとうございます!!

32 :デフォルトの名無しさん:2008/12/10(水) 22:15:26
>>28
http://paintdotnet.forumer.com/viewtopic.php?f=27&t=1595
作れるものなら作ってくれ

33 :デフォルトの名無しさん:2008/12/10(水) 22:25:25
> Supporting plugins for Tools is not a very good idea.

>>28
プ
C#で数行でしょ。だってよw

34 :デフォルトの名無しさん:2008/12/10(水) 22:26:42
その前に28は英語が読めない

35 :デフォルトの名無しさん:2008/12/10(水) 22:39:37
このPaint.NETのLeaderってすげー嫌な奴だな
フォーラムのほぼ全てのスレッドで、このスレのヒス回答者同様の回答しかしてない
可哀想に

36 :デフォルトの名無しさん:2008/12/10(水) 23:41:07
世間なんてそんなもんっていうことがわかっていないみたいね(笑)

37 :デフォルトの名無しさん:2008/12/10(水) 23:49:21
叩きレスだけならまだしも、一応回答してくれたヤツまでいちいちけなすなら
自分が回答してあげればいいのにな。
なんでしないの?できないの?


38 :デフォルトの名無しさん:2008/12/10(水) 23:52:33
と、低脳なスレ違い質問者が必死になって煽っています
スレ違い質問は回答などせずに放置でよろしく

39 :デフォルトの名無しさん:2008/12/11(木) 00:01:57
>>29みたいにまともな質問でかつ自分なりの努力が見られれば
まともな答えが帰ってくるもんだよ。

回答者がヒスだのなんだのととち狂った事を言ってるお馬鹿さんは、
まずは自分の質問のレスをいろんな意味で見直した方がいいんでないの。

40 :デフォルトの名無しさん:2008/12/11(木) 00:44:10
自分で答えたわけでもないのになんでそんなにえらそうなの?

41 :デフォルトの名無しさん:2008/12/11(木) 00:48:46
質問者がえらそうだからじゃねw

42 :デフォルトの名無しさん:2008/12/11(木) 00:50:16
きちがいのすくつ(苦笑)

43 :デフォルトの名無しさん:2008/12/11(木) 01:00:04
丸ごとソース公開されてるのにブラシのプラグインひとつ組めないとか阿保の極みだろ。

44 :デフォルトの名無しさん:2008/12/11(木) 01:04:35
質問者は自分で作るって言って解決したんだからほっとけよ
相手にするだけ無駄


45 :デフォルトの名無しさん:2008/12/11(木) 01:04:57
うっせーはげ

ttp://paintdotnet.forumer.com/viewtopic.php?f=16&t=24191

46 :デフォルトの名無しさん:2008/12/11(木) 01:11:18
質問です。
DrawIndexedPrimitiveにD3DPT_LINESTRIPを与えて直線を複数並べて描画したいのですがどのようにすればいいのでしょうか。
最終的にはオセロとか将棋盤みたいな升目を描画したいと思っています。

47 :デフォルトの名無しさん:2008/12/11(木) 01:12:42
なんでもかんでも人がやってくれると思ってる
そんな人はプログラマやらんでよろしい

48 :デフォルトの名無しさん:2008/12/11(木) 01:13:59
細長い矩形を線とすればいい

49 :デフォルトの名無しさん:2008/12/11(木) 01:19:53
(0, {0-8}, 0), (8, {0-8}, 0)
({0-8}, 0, 0), ({0-8}, 8, 0)

50 :デフォルトの名無しさん:2008/12/11(木) 07:57:52
緑なんでプログラムなんかしてんだ?
CGしようぜ

51 :デフォルトの名無しさん:2008/12/11(木) 08:27:32
ソフトウェア レンダリングもサポートしろよ
起動できねえんだよ

52 :デフォルトの名無しさん:2008/12/11(木) 09:21:28
ちょっと質問です
現在 DirectX を使ったゲームを作ったのですが
そのアプリガどのdllを使っているのか
どうやって調べればいいでしょうか?

53 :デフォルトの名無しさん:2008/12/11(木) 10:20:22
>>51
D3DDEVTYPE_REF(笑)

>>52
Depencancy Walker

54 :デフォルトの名無しさん:2008/12/11(木) 12:21:35
>>53
あるがとう

55 :デフォルトの名無しさん:2008/12/11(木) 16:26:43
なんで「質問」って単語がスレタイにつくと、ム板とは思えないほど低レベルなスレになるんだろう

56 :デフォルトの名無しさん:2008/12/11(木) 16:32:08
なんで初心者スレなのに高圧的なやつが多いんだろう

57 :デフォルトの名無しさん:2008/12/11(木) 16:41:46
甘やかすとつけあがるからな。本人の為にもならん。
APIスレなどに湧いているアフォは総スルーで。

58 :デフォルトの名無しさん:2008/12/11(木) 20:01:59
うっせー
何様だよお前は

59 :デフォルトの名無しさん:2008/12/11(木) 20:03:59
お前こそ何様だよ

60 :デフォルトの名無しさん:2008/12/11(木) 20:10:36
「本人の為にならん」とか、
相手のことなんかこれっぽっちも考えてないのに
よくもまぁそんな心にもないこと書けるな…とは思う

「何様だよ」とまでは思わないが
ろくない回答できないのに傲慢さだけは一丁前の奴が多く
「死ねばいいのに」とは思う




61 :デフォルトの名無しさん:2008/12/11(木) 20:22:46
質問者のレスポンスも含めて回答者の実力
実際、まともな回答をもらっている人間もいる

62 :デフォルトの名無しさん:2008/12/11(木) 20:23:37
違うw逆w

63 :デフォルトの名無しさん:2008/12/11(木) 21:07:48
DXUTのリストボックスの縦スクロールバーは消せないの?

64 :デフォルトの名無しさん:2008/12/11(木) 21:11:13
まともな質問ができない人にはまともな回答は返ってこない
そんなのネットでもリアルでも常識です

回答者が悪い=質問者が悪い、と考える事のできない
思考停止の>>60みたいな人は、何度でも同じことを繰り返します
本人の為にならないと言うよりむしろ、そういう>>60のような人は
存在自体が社会の為になりませんよ

65 :デフォルトの名無しさん:2008/12/11(木) 21:13:10
精神異常者のすくつwww

66 :デフォルトの名無しさん:2008/12/11(木) 21:30:49
今度は
社会の為にならない
ですか

なにさまのつもりだろうね

67 :デフォルトの名無しさん:2008/12/11(木) 21:47:45
という具合に、2ちゃんでモラルを説いても不毛なだけ。
馬鹿はスルー。今も昔もそれ一択。

68 :デフォルトの名無しさん:2008/12/11(木) 22:01:13
俺様。2ちゃんでは大威張りw

69 :デフォルトの名無しさん:2008/12/11(木) 22:19:04
>>66
やらなければならないのはどんな手を使ってでも
ただ回答者に回答を答えさせるということ
無駄に気分を害したり嫌味を言ったりするのは意味がない

70 :デフォルトの名無しさん:2008/12/11(木) 22:54:27
しかし、スレ違い質問を回答してもらえずにはねられたからって
いつまで粘着してんのこの人は
早く自分で作る(笑)作業に戻りなさいな

71 :デフォルトの名無しさん:2008/12/11(木) 23:13:24
もうシェーダ1.1も使えないPC使ってる人って切り捨ててもいいよね、てかほとんどいないよね?

72 :デフォルトの名無しさん:2008/12/11(木) 23:13:53
質問に返答できなかったからって
いつまで粘着してんのこの人は
おまえらはおとなしく回答してればいいんだよ
質問が理解できなかったり
回答できるほど知識なければ黙ってればいいんだよカス


73 :デフォルトの名無しさん:2008/12/11(木) 23:21:45
>>71
3.0となしで3種類作っとけ

74 :デフォルトの名無しさん:2008/12/11(木) 23:45:03
>>72
とこのスレ住民には誰一人、君の難解な質問には返答できないから
いつまでもここにいてもしょうがないんじゃね?
返答できない人に回答してればいいって矛盾だらけですな

75 :デフォルトの名無しさん:2008/12/11(木) 23:48:58
非常に遺憾です謝罪してください。

76 :デフォルトの名無しさん:2008/12/11(木) 23:50:54
ん?>>72って何質問したんだ?

77 :デフォルトの名無しさん:2008/12/11(木) 23:51:14
未だに自分の質問が理解できる人(笑)がいると思い込んでるんでしょ
そんな暇あるなら自分で作る方が早いのに、なんでしないのかしら?

自分で言った事すら実行できない。それが>>72クオリティ

78 :デフォルトの名無しさん:2008/12/11(木) 23:52:58
>>71
いるかいないかで言えばいる
その手のは未だにサポート宛に来るし
でもここ1年ぐらいでだいぶ減った感じだけど

79 :デフォルトの名無しさん:2008/12/11(木) 23:53:42
>>76
前スレから粘着してる荒らしさんだから気にすることはないよ

80 :デフォルトの名無しさん:2008/12/12(金) 00:07:56
こんな感じのゲームはどうやって作るの?
ttp://www.4gamer.net/games/025/G002552/20081211014/SS/018.jpg

81 :デフォルトの名無しさん:2008/12/12(金) 00:11:14
DirectXを使って作る

82 :デフォルトの名無しさん:2008/12/12(金) 00:11:21
プログラム作ってデータ作ればできるよ

83 :デフォルトの名無しさん:2008/12/12(金) 00:19:51
このように、質問者がまともじゃないとまともな回答は返ってきません。
理解できましたかね。

84 :デフォルトの名無しさん:2008/12/12(金) 00:23:18
というか、ここはROMが主役のスレよね。

85 :デフォルトの名無しさん:2008/12/12(金) 00:24:28
明らかに駄目な質問だとどうしようもなく駄目だが
やや駄目なぐらいなら最初に見かけた人が答えてくれるかどうかだな
一旦変な流れになればもうその答えが返ることはない
変な流れのときはややマシな質問しても駄目、書き込む前にスレが荒れてないかはチェックした方がいい

86 :デフォルトの名無しさん:2008/12/12(金) 00:34:55
>>80
キャラも立体なのかと思ったら違うのなw
見たこと無いネトゲだw

87 :デフォルトの名無しさん:2008/12/12(金) 00:54:13
>>85
そんなことねぇだろ
ただ、回答者のレベルは似たようなもんのような気がするな
レスがつかないのは

1.みんな知らない(やってることが特殊過ぎ)、
2.何を聞いてるのか意味不明、
3.あまりにも簡単すぎて「てめー自分でミリ程度も考えないで丸投げしただろ?シカト決定」的なもん

とで大抵分かれる
なんで「知ってる人いませんか?」的なレスはつけなくても
レスがなかったら1〜3のどれかだから諦めて別のコミュニティに頼ったほうがよさげ
そういう意味で俺はマルチポストは最近許容範囲になった

88 :デフォルトの名無しさん:2008/12/12(金) 02:33:25
質問じゃないのですが、今ここに質問しようとして投稿文全部書いた所で、もう少しだけ見直してみようと
思い直して自力で洗い直ししてたらバグ発見できた・・・
「Detected memory leaks!」って出力されなくても、なんかADDRESS云々っていうダンプが出てきたら
やっぱりリークしてるんですね、勉強になた

89 :デフォルトの名無しさん:2008/12/12(金) 02:47:24
>>87
4.スレ違いな質問
が抜けてるよ

90 :デフォルトの名無しさん:2008/12/12(金) 08:02:51
質問する側は丁寧とかじゃなくて
内容を伝えきれていないと言うのを
自覚するべきですね。
意地悪とかじゃなくてほんとに意味がわからない

アルファの人は言語は違うがC#なら
0から作ってもコード300行も要らないですよ

91 :デフォルトの名無しさん:2008/12/12(金) 08:04:44
そんなの俺は初心者にわかると思ってないから俺の場合はある程度許容

92 :デフォルトの名無しさん:2008/12/12(金) 08:11:07
スポイド → アルファを弄る → ペン

93 :デフォルトの名無しさん:2008/12/12(金) 11:58:48
COMのリファレンスに
CoCreateInstance でオブジェクトを作成した場合は、IUnknown インターフェイス ポインタを要求した後、IUnknown::QueryInterface を呼び出すことによって、必要なすべてのインターフェイスを要求できる。
返すインターフェイス ポインタを指定できないオブジェクト作成メソッドを使う場合は、まったく役に立たない。
とあるんですが、これはつまり

DirectSoundCreate8(NULL, &pSound, NULL);
pSound->CreateSoundBuffer(&BufDesc, &pBuffer, NULL);
pBuffer->QueryInterface(...)
;

pBuffer->Release();
みたいな使い方は出来ないってことですか?
それとも
pSound->QueryInterface(...);
pBuffer->Release();
みたいな使い方が出来ないってことですか?

94 :デフォルトの名無しさん:2008/12/12(金) 12:41:20
どういったインタフェイスを要求しようとしているんだ?

95 :デフォルトの名無しさん:2008/12/12(金) 18:12:52
3Dである頂点配列が不規則であって
それをTriangleListで描く場合
どのように並べ替えるのがいいのでしょうか?

時計回りで頂点を指定する場合
X座標で小さい順に並べて
まず一番小さいの選んで
次の頂点は、Xは初めの頂点と同じか大きい、Zも同じか小さい
3番目の頂点はXは2番と同じか小さい、Zは2番と同じか小さい
など考えたのですが
これだと同一箇所に頂点があるとポリゴン同士が重なってしまいます。

面積が最小のポリゴンで重なりなく全ての頂点を使うには
どのような並べ替え方をすればいいのでしょうか?


96 :デフォルトの名無しさん:2008/12/12(金) 18:19:59
>>これだと同一箇所に頂点があるとポリゴン同士が重なってしまいます。

原因がわかってるんだったら
ソートの段階で同一箇所に頂点があったら省けばいいんじゃ

97 :デフォルトの名無しさん:2008/12/12(金) 18:33:43
同一箇所に頂点がないと全ての頂点を利用して
ポリゴンが描けない欠け、が発生するのです。
TriangleListにしてるのもその為です
stripにするとさらに複雑になってしまいます。

面積が最小というのも実際はyもそれぞれ違うからです。
他に考えられるのは今選んでいるのが、三角形のどこか
判定して他の全ての頂点との距離を測ってから
同一ではないならその順番で上記の判定するなんですが
物凄く判定に時間かかります。




98 :デフォルトの名無しさん:2008/12/12(金) 18:49:56
頂点だけの情報からポリゴンをっていうのがそもそもおかしいんですよ
面情報を記録してください

99 :デフォルトの名無しさん:2008/12/12(金) 19:01:02
OnD3D9FrameRender( IDirect3DDevice9* pd3dDevice, double fTime, float fElapsedTime, void* pUserContext )
{
 // このなかで0.5秒ごとに何かをするにはどうすればいい?
}


100 :デフォルトの名無しさん:2008/12/12(金) 19:03:54
察するに頂点情報から面情報を作る方法を聞いてるんだろ
ポリゴンの最適化の問題だね
しかしこれは難しいgemsに書いてあった気がする
答えられる奴はいないと思う

101 :デフォルトの名無しさん:2008/12/12(金) 19:07:41
いい?とか、ですかにしろ
またしてもdirectx関係ないしw
そこにきたときに秒数とればいいだろ
ごとは理論的に無理だがな

102 :デフォルトの名無しさん:2008/12/12(金) 19:33:07
fTimeを500で割った余りが0

103 :デフォルトの名無しさん:2008/12/12(金) 19:33:30
バカの相手をすんなよ

104 :デフォルトの名無しさん:2008/12/12(金) 19:34:30
D3D9と書いてあるのに

またしてもdirectx関係ないしwとな?

105 :デフォルトの名無しさん:2008/12/12(金) 19:38:53
0.5秒毎に何かをするのにDirectXは関係ありませんよ^^;

106 :デフォルトの名無しさん:2008/12/12(金) 19:44:08
>>99
while(TRUE)
{
Sleep(500);
0.5秒ごとの処理
}



107 :デフォルトの名無しさん:2008/12/12(金) 19:44:19
FPSを2にする

108 :デフォルトの名無しさん:2008/12/12(金) 19:45:31
【C++】 DirectX初心者質問スレ Part21 【C】
http://pc11.2ch.net/test/read.cgi/tech/1229078397/

109 :デフォルトの名無しさん:2008/12/12(金) 19:47:32
OnD3D9FrameRender( IDirect3DDevice9* pd3dDevice, double fTime, float fElapsedTime, void* pUserContext )

これを見てDirectXと関係ないとか脳沸き杉だろwww

110 :デフォルトの名無しさん:2008/12/12(金) 19:50:10
単純にDXUTのfTimeとfElapsedTime
の意味を教えてくださいってことだろ

fElapsedTimeが前フレームからの経過時間
fTimeがその累計
ちなみにミリセカンドじゃなくて
たとえば60FPSで回してればfTimeは0.01666....
あとはわかるよな?

111 :デフォルトの名無しさん:2008/12/12(金) 19:50:43
ごめん、うそ
0.01666....になるのはfElapsedTime

112 :101:2008/12/12(金) 19:54:20
俺が>>99見た時どうやってこういう書き込みに
いたったか書いておくよ
質問者は本当に回答者が苦労してるの知るといい

またしてもdirectxと関係ない書き込みだな〜
FrameRenderってことはアニメーションかな?
引数でfTimeがあるからほぼ確定だな
でも時間を引数にとってるのにわからない?
コピペはいいけど内容は理解するようにしないとこうなるな
で時間のとり方がわからないのかな?

FrameRenderはどういう構造になってるのか書いてないな
通常の処理のみなのかな?
このなかでってことは本当にこの中って意味なのかな?
次にこの関数が呼ばれた時も含むとかもありえるな
時間のとり方がわからないってことは
この関数の呼ばれ方も理解してないだろうし
とりあえず
秒数取るとかいとくか、こうすればググレばスレ違いの質問って
わかるでしょ。
>>106嘘を教えないように
>>109そんなこといってたたらC++で全て聞けばいいじゃん
C++使ってるんだから、おかしいよ君

それとここで普通に回答してるのほとんど俺だから
ためしに3ヶ月ほど書かなくするよ、がんばってね



113 :デフォルトの名無しさん:2008/12/12(金) 19:56:07
なんたる自意識過剰
はいはい、もうこなくて結構ですよ

114 :デフォルトの名無しさん:2008/12/12(金) 19:58:47
3ヶ月ほどは平和なスレになりますね

115 :101:2008/12/12(金) 20:03:08
>>110
そもそも、DXUT使ってるとは限らないし
関数は自作(改造できる)んですから
まあコピペですが
引数の命名にいみがあるんですから
それを調べるのが普通なんですけどね
それがわかれば>>111ですが
この関数内自体ループだと思うんで結局
自前で時間とるしかないんですよ

116 :デフォルトの名無しさん:2008/12/12(金) 20:07:43
だな引数は無意味だ
てことは有益なのは101だけじゃねえかw
オマイラ乙

117 :デフォルトの名無しさん:2008/12/12(金) 20:14:21
>>102はこの関数が呼ばれた時のみだから意味間違えてる
それだと関数はいる前でいいわけだしな
この関数内部がloopまたは再帰してるって事考慮してない。
>>106は論外止めてどうする
>>110も関数内部の予測ができてない
やっぱり>>111かよでも答え方がな

118 :デフォルトの名無しさん:2008/12/12(金) 20:15:21
すまん間違え>>101

119 :デフォルトの名無しさん:2008/12/12(金) 20:16:35
前スレのアルファ描くソフトがどうこう言ってたバカが必死になってるだけだろ。
だからバカを相手にするな、スレ違いは放置だと言っているのに。

120 :デフォルトの名無しさん:2008/12/12(金) 20:27:35
そこまで自演して自分の有用性を示したいのか

121 :デフォルトの名無しさん:2008/12/12(金) 20:37:38
自分以外は無能だと信じ込んでるんだろ
自分だって大したレスつけてないのに

122 :101:2008/12/12(金) 20:38:36
>>119放置しないですみません
アルファ描くソフトより前に「彼」だろう書き込み
見つけた時からdirectxを利用してるが
プログラム自体初心者と読み取れたので
質問の前に〜を書き込みましたが
煽りや意地悪と捉えてみたいですね

デバックの仕方を勉強すればいいとは
思うんですがしないようですね。
デバックをして中身みて解決できるのは
directx関連の質問ではないと理解できればいいんですが

>>99
今回のもその関数の引数をその関数前にどうしてるか
調べればわかります。
以上です。スレ汚して住みませんでした

123 :デフォルトの名無しさん:2008/12/12(金) 20:47:08
正しく答えれなかった奴の妬みですかwww
自演?そう自演ですよ
質問も回答もね










うそですちゃんとデスマスで聞くんでこれからも回答よろしくお願いします


124 :デフォルトの名無しさん:2008/12/12(金) 22:51:23
で結局質問者はどこいったんだ?
あまりの荒れっぷりに逃げちまったのか?

125 :デフォルトの名無しさん:2008/12/12(金) 22:53:56
なんでDXUT知らない人間がご高説垂れてんの?

126 :デフォルトの名無しさん:2008/12/12(金) 22:55:17
DXUTを日本語で解説してるサイトとかあればいいのに

127 :デフォルトの名無しさん:2008/12/12(金) 22:57:10
ソースあるだろ・・・

128 :デフォルトの名無しさん:2008/12/12(金) 23:15:32
>>125
DXUTは単なるサンプルコード集だから
個人が書いたコードと同じ
それを知ってる知らないとか意味がない
dll内のとは次元が違うんだよ
自分の無能を知られる書き込みするべきでない


129 :デフォルトの名無しさん:2008/12/12(金) 23:25:40
DXUTを99が使ってるなら止めたほうがいいだろうな
あれの複雑さは異常だまたエスパー必要な質問してくるだろ


130 :デフォルトの名無しさん:2008/12/12(金) 23:33:52
101って典型的なNIHシンドロームで
DXUTは邪道とか勝手に決め付けて一度も目を通したことにないタイプの人間だろ
使う使わないは別問題として概略くらいは知っておくべきだと思うぞ

131 :デフォルトの名無しさん:2008/12/12(金) 23:44:10
てか俺のエスパー能力では実際には99のしたいことは
DrawFrameで秒ごとにアニメーションさせたいんだろうけど
->BeginScene() と->EndScene();のあいだを止めても
->EndScene();の後がレンダリング結果なんだから
やりたいことはできないんだけどなw

>>130その前に質問者も101もDXUT使ってるとは
言ってないぞ?使わないのに関数名表記も覚えてるって
ありえんだろ

132 :デフォルトの名無しさん:2008/12/12(金) 23:55:43
学生レベルだと冗談抜きで
ゲームループの概念すら解かってないこともあるから
エスパーしだしたら切りがない
質問者が帰ってこないならこの話は終わりだろ

133 :デフォルトの名無しさん:2008/12/13(土) 00:08:22
【 質問する方 】
・ 回答して貰ったら、出来るだけお礼もしよう。
こいつはしとことないなww
・ どんな事で躓いているのか明確にしよう。
ゲームを作ろうと思ってから全てかけww
・ 長くならないなら躓いている部分のコードを晒してみれ。
おれのMPでは無理wお前は全部さらせwww
何をどうしたら解決したかを明確に書こう
ここに書いてあるのをコピペしましたww

134 :デフォルトの名無しさん:2008/12/13(土) 00:11:57
DXUTを使ってようと使ってまいと、0.5秒毎に「何か」をするのに
DirectXは全く関係ないわけで

それこそ>>106のレスで質問に対する回答としては十分ですが、何か?

135 :デフォルトの名無しさん:2008/12/13(土) 01:03:20
if ((int)(fTime / 0.5) != (int)((fTime - fElapsedTime) / 0.5)) {
::SetWindowTextA(::DXUTGetHWND(), "⊂二二二( ^ω^)二⊃");
} else {
::SetWindowTextA(::DXUTGetHWND(), "(´・ω・`)");
}
これだけのことよね。

136 :デフォルトの名無しさん:2008/12/13(土) 01:07:59
なんか知らんが、そのコードはおかしいと思う。

137 :デフォルトの名無しさん:2008/12/13(土) 01:20:42
fElapsedTimeは起動からの時間か?
変数の型的にちがくね
関数入ってからからカウントしなきゃいけないんだから
引数は片方(起動からの時間)しか使えないだろ
てか使わないな



138 :デフォルトの名無しさん:2008/12/13(土) 13:02:20
質問です。
前スレでも少し話題になっていたようですが、D3DXに浮動小数点を扱わせた場合、
D3DXの「最も高速な手法を選択して計算する」のせいで、環境によって結果が微妙にずれてしまいます

そこで、SSE2対応を必須条件とすることで対応しようと思ったのですが、
SSE2よりも新しいテクノロジーにPCが対応していた場合、そちらが選択されてしまうようです。

何かしらのほうほうで、選択するテクノロジーを制御することはできないでしょうか?

139 :デフォルトの名無しさん:2008/12/13(土) 13:19:15
>>138
CPUID命令

140 :デフォルトの名無しさん:2008/12/13(土) 13:20:35
で調べて自前でやる

141 :デフォルトの名無しさん:2008/12/13(土) 13:24:54
>>138
SSE2より上位の命令が使えたとしても計算結果は変わらない。
そういう問題が起きるならば原因は別のところにある。

142 :デフォルトの名無しさん:2008/12/13(土) 13:28:11
>>138
そこまで気にするなら、行列演算くらい自分で作るか適当な
ライブラリ拾ってきたら?

簡単な処理だし、一度も組んだことないなら一度くらい自分で
組んでみるのもいい。

143 :デフォルトの名無しさん:2008/12/13(土) 13:36:10
ライブラリ拾ってきても同じ事になるだろw
こんな事も解決できないスキルで自作できる訳がない。
floatのデフォルトの精度ならずれんし、doubleならDXと併用すると精度変更されておかしくなることがあるから、計算前に精度指定汁。って散々既出なのに・・・。

144 :デフォルトの名無しさん:2008/12/13(土) 13:43:36
こんなことって、お前らここ初心者質問スレだぞ

145 :デフォルトの名無しさん:2008/12/13(土) 13:47:26
>>95>>97
どなたかお願いします。

146 :デフォルトの名無しさん: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でお互いの精度を確認しましたが、同一でした。

147 :デフォルトの名無しさん:2008/12/13(土) 13:55:03
>>143
>floatのデフォルトの精度ならずれんし
嘘つくな

148 :デフォルトの名無しさん:2008/12/13(土) 13:55:24
>>145
俺には、何故そんな事をしようとしているかわからない。

149 :デフォルトの名無しさん:2008/12/13(土) 13:56:06
>>147
結果が異なる例を挙げてみてくれ

150 :デフォルトの名無しさん:2008/12/13(土) 13:56:53
>>146
とりあえず APIHijack を試すといいわよ。

151 :デフォルトの名無しさん:2008/12/13(土) 14:01:54
>>150
情報ありがとうございます。
NyaRuRuさんという方がこの問題にと組んでいたようで、そこを参考にAPIHijackを試し、

「DisablePSGP と DisableD3DXPSGP を1にし、拡張命令ではなくx87で計算させるようにする」
という手法は試しました。
確かにx87で動作するようになりました。

ですがx87自体がそもそも80bit計算ということで、SSEなどのようなFP-strict性を持たないようです。
(一部のサイトでは、x87FPUの動作は変態的と書かれていました)

DisablePSGPのような感じで、SSE2を利用することを促すレジストリ値などがあるのでしょうか?
もしありましたら教えていただきたいと思います。

何分DisablePSGPなどは、ぐぐってもほとんどひっかからないようなマイナー系?隠し?要素っぽいので・・・

152 :デフォルトの名無しさん:2008/12/13(土) 14:05:23
>>146
D3DX全ての機能を自分で実装しろと言ってるわけではなく、
リプレイ等に影響する部分だけを自作すりゃいいんだよ。
比較的面倒なView, Projection系の処理は関係ないし、
アニメーション関係もいらない。

153 :デフォルトの名無しさん:2008/12/13(土) 14:06:25
ホントにそんなに変わるものなのか?
OCしたりしてるんじゃないの
以前同一PCで結果おかしくなったことあるから

154 :デフォルトの名無しさん:2008/12/13(土) 14:09:03
そもそもどういうところから
違いがあるって認識したのですか?
View, Projection系も違いがあると言ってるんじゃない?

155 :デフォルトの名無しさん:2008/12/13(土) 14:15:24
>>152-154
お返事ありがとうございます。
情報が欠けていたことを反省します。

ゲームのシステム上、ポリゴン人形のボーン位置に依存して攻撃を発生させるのです。
例えば、ポリゴン人形の「手」の位置を示すボーン。それが差す位置に攻撃判定を発生させます。

そのため、そこが微妙にでもずれると、攻撃が当たったり、当たらなかったりします。
結果ズレが生じてしまうのです。

ボーンの位置の計算は、やろうと思えば自前でできます。行列のかけあわせだけですので。
ただ、アニメーション合成も行っているため、このあたりはかなりきついです。
私の実力不足と言えばそうなのですが…。

行列>クォータニオン>合成結果のクォータニオン>行列 とする必要がある(と思う)のですが、
行列クォータニオン間の変換もD3DXに依存しない方法でやったことはありません。これは勉強しだいで自分で実装できるとは思います。


違いがあると発覚したのは「初期状態とキー入力のみでリプレイファイルを構成し、再生する」という行為をやっていてです。
最初はもちろん自分を疑い「変数の初期化忘れなどで、初期状態が異なったのでは?」と思い、確かにその通りでした。
そういうものをつぶしていき、Intel系のCPU(友人のほとんどがこれ)で結果矛盾が起きなくなったことを確認しました。

最近になってAthlon系の友人がたまたま結果が若干異なることを発見し、今回の問題発覚となりました。

156 :デフォルトの名無しさん:2008/12/13(土) 14:24:06
同じリプレイ用ファイルと言うことは
ゲーム中でも違うって事か

157 :デフォルトの名無しさん:2008/12/13(土) 14:25:53
>>146
>Direct3Dの初期化時には、D3DCREATE_FPU_PRESERVEを指定し、floatの精度が落とされるのを防いでいます。
これが間違っている。ドキュメントなんて信じるな。

>念のため_controlfpでお互いの精度を確認しましたが、同一でした。
これも間違っている。これで得られる値はいい加減。

SSEっていうのは上位になればなるほど使える命令増えるだけで、演算結果には何も変化はないからね。
途中でfloatとdoubleを行ったり来たりしてないよね?
ちゃんと、変数の値をダンプ等を行って確認している?結果だけみて判断しているように思えるんだが。
チェックコードを沢山埋め込んで、どのタイミングで演算結果がおかしくなるか突き止めれば、本当の原因がわかるかもね。

158 :デフォルトの名無しさん:2008/12/13(土) 14:31:54
>>146
D3DCREATE_FPU_PRESERVE は float に最適化するオプションだと思うけど
プログラム側で double とかを使わないなら、
むしろ D3DCREATE_FPU_PRESERVE を指定しない
(floatに特化してもらった)方がいいんじゃないかしら。


159 :デフォルトの名無しさん:2008/12/13(土) 14:32:46
×D3DCREATE_FPU_PRESERVE は float に最適化するオプション
○D3DCREATE_FPU_PRESERVE は float に最適化しないオプション
ね。

160 :デフォルトの名無しさん:2008/12/13(土) 14:33:34
少なくともWindows環境でなら変な設定しなきゃおかしくならんよ。
Athlon64x2環境で作ったリプレイデータを某Windowsベースのアーケード基盤や
Pen4やC2DやCeleronでもずっと回してたけど一回も狂わなかったし。
ただし行列関連の処理は全部自前で用意してたけどな。

161 :デフォルトの名無しさん: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
}
}

162 :デフォルトの名無しさん:2008/12/13(土) 14:38:17
>>157
否定するだけで情報はださない

>>158
推測だけでものを言う

>>160
根拠のない俺経験を発表して偉ぶる

163 :デフォルトの名無しさん:2008/12/13(土) 14:41:26
>>151
言ってることとやってることが違う気がする。

今でもD3DX以外の部分ではx87使っているんだよね?
話のレベルから、実は64ビットOS用のバイナリってことは無いと思うけど。

で、D3DX以外の部分は、x87の設定を合わせることで計算結果が一致すると暗に仮定しているのに、
D3DXだけx87を使うと合わなくなるという。なんかおかしくね?

>前スレでも少し話題になっていたようですが、D3DXに浮動小数点を扱わせた場合、
>D3DXの「最も高速な手法を選択して計算する」のせいで、環境によって結果が微妙にずれてしまいます

これほんとに確かめた?
実際のところ、この入力値の組み合わせでずれるってのが確認できてなくて
単に推測でD3DXを疑ってるだけなんじゃない?

164 :デフォルトの名無しさん:2008/12/13(土) 14:41:32
プログラマーは駄目な奴の集まりだな

165 :デフォルトの名無しさん:2008/12/13(土) 14:42:43
だからそんな気軽にヒョイヒョイとfloatの精度が変わったら
同人ゲームとかの板でリプレイで祭りになってんだろ・・・。
CPUメーカーごとに実装が違いますつったらなんのための規格統一なんだよ。

166 :デフォルトの名無しさん:2008/12/13(土) 14:51:15
>>157
ドキュメント信じちゃいけないのはきついです。
どんな感じに間違っているのでしょうか?

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
などです

167 :デフォルトの名無しさん:2008/12/13(土) 15:04:25
>>166
01stepのはD3DXのSIMD命令のせい

168 :デフォルトの名無しさん:2008/12/13(土) 15:14:41
>>166
>何も考えずにfloat計算をすると、通常x87が使われるのでしょうか?
>例えば float a = 1.0f; a + 0.5f; というプログラムなどです。

はい、使われます。
足し算にもかけ算にも三角関数にも。

VC++で全ての浮動小数点数演算をSSE2に固定したかったら、
出力を64ビットWindows用にするぐらいしかないんじゃないかな、いまのとこ。

169 :デフォルトの名無しさん:2008/12/13(土) 15:17:26
正しい演算結果と照らし合わせてチェックするコードを埋め込めば原因は特定できるだろう。
その正しい演算結果自体が間違っていたら駄目だけど。

どうしても解決できなければ、小さい値で判断せずにある程度丸めちゃって手抜きするのも有り。
どうせ表示に関しては同じになるよね?
時には妥協も大切だw

170 :デフォルトの名無しさん:2008/12/13(土) 15:26:03
>>167
拡張命令(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 を指定することによって、環境に左右されず同一値を出すようになったりしますでしょうか?

171 :デフォルトの名無しさん:2008/12/13(土) 15:34:14
>>155
2PCのネットワーク対戦ってこと?
だったら二つのPCで当たり判定を行って、お互いの判定結果を照合して
両方当たりだったら当たりとすりゃいいんでない?

172 :デフォルトの名無しさん: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についても同様でした

173 :デフォルトの名無しさん:2008/12/13(土) 15:37:53
すいません、誤植でした
パターン0 _controlfp( PC_64, MCW_PC )
パターン1 _controlfp( PC_53, MCW_PC )
パターン2 _controlfp( PC_24, MCW_PC )
でした。

174 :デフォルトの名無しさん:2008/12/13(土) 15:45:39
足し算の誤差のようなものだったら、転がすぞゴルァ

175 :デフォルトの名無しさん:2008/12/13(土) 15:49:13
足し算の誤差であっても、環境によってその誤差具合が統一されてないと困る
ってのが趣旨じゃないか?

176 :デフォルトの名無しさん:2008/12/13(土) 15:53:15
>>172
>>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の影響は常に及ぶことになる。

177 :デフォルトの名無しさん:2008/12/13(土) 15:58:42
>>176
なるほど…。D3DXがSSE2で動作を始めたとしても、内部でx87をまったく使わないですべてSSE2でやっているとは仮定できないわけですか…。

D3DXはSSE2(ないしはそれ以降の、FP-strictな拡張実装)で動かし、
通常のfloat計算などはSSE2のみを使ったFP-strictな自作構造体に置きかえる

というのを検討していましたが、それもダメそうですね…。

178 :デフォルトの名無しさん:2008/12/13(土) 16:01:07
D3DXなんか使うなって言われ尽くしてるのになんでわざわざ壷に嵌まるの?

179 :デフォルトの名無しさん:2008/12/13(土) 16:03:37
じゃあお前は何を使ってるの?
初心者に使えるものなの?
無料無償公開されてるの?

180 :デフォルトの名無しさん:2008/12/13(土) 16:03:59
別に、当たり判定結果を記録しときゃいいだろ
所詮誤差程度のずれであるならリプレイ上問題にならんわけだし

数分で勝負がつく格ゲーだと仮定して、当たった時の時間と判定部位、
効果の情報だけ記録するならさほどのデータ量にもならんだろ

181 :デフォルトの名無しさん:2008/12/13(土) 16:12:01
いつ勝手に仕様変更されるか、存在も無かったことにされるかも分からんもの使って
不安でないの?

182 :デフォルトの名無しさん:2008/12/13(土) 16:22:17
横から質問
上の質問者の話と、通常のfloatはx87で行われるとの情報を総合すると
やっぱり通常のfloat計算以外の部分、つまり拡張命令の違いしか違いがないのでは??
通常float計算がお互いx87で。D3DX部がSSE2以降の統一規格で動いているのなら、結果は一緒になるはずでは?

183 :デフォルトの名無しさん:2008/12/13(土) 16:24:18
x87が遅いから拡張命令が出来たんだけどねw

184 :デフォルトの名無しさん:2008/12/13(土) 16:31:45
x87の挙動がCPUによって異なると考えたほうがスマートじゃないか?
レジスタからメモリに退避するタイミングが異なるとか

185 :デフォルトの名無しさん:2008/12/13(土) 16:37:44
ホント無駄なことに時間使ってるよな
同じにするのではなく違う事を考慮して作れっての

186 :デフォルトの名無しさん:2008/12/13(土) 16:39:25
ある信心厚い男がいた。
その男は、昔からローマ法王に是非会いたいと念願していた。
ついにイタリアに行った彼は、長年の夢を果たそうとサン・ピエトロ寺院で、
一番いい一張羅を着て、群集の中にまぎれこんだのである。
いい服を着ていれば、ローマ法皇が自分に気づいて話しかけてくれるのではないかと思ったのだ。
ローマ法皇は、ゆっくりと(そして男に気づく気配もなく)人々の前を歩いて来た。
そして、ひとりの乞食にその慈顔を向けると、
穏やかな笑みを浮かべて乞食に何か語りかけると、通り過ぎていったのである。
男はとても反省した。
いい服を着て法王に目を留めてもらおうなんて、自分はなんてはしたない考えを持っていたのだろう。
貧しき者にこそ、神は慈悲深き目を向けるのである。
一計を案じた男は、先程の乞食に頼んで、千ドルで自分の服と乞食の服とを交換してもらうことにした。
次の日、また法王が人々の前を通りかかった。
すると法王は(乞食の服を着た)男に近づいてきたのである。
そして、男の耳に口を寄せると、やさしい声でこう言われた。

「昨日、目障りだから消え失せろと言ったはずだぞ」

187 :デフォルトの名無しさん:2008/12/13(土) 16:40:39
>>185は、どうやって解決するの?この問題
アニメーション合成によるボーンの位置に依存するのが前提なわけだが、まさか合成するなとかボーンに依存するなとか?

188 :デフォルトの名無しさん:2008/12/13(土) 16:40:40
この話題のときだけ
だれもスレ違いと言い出さないことにちょっとワロタ

189 :デフォルトの名無しさん:2008/12/13(土) 16:47:34
>>177
SSE2を使うだけで自動的にFP-Strictになるわけじゃないよ。

SSE2が数値計算的に好ましいのは、SSE2の四則演算を使うと
Intel以外のCPUでの浮動小数点数演算と同じ結果になるのがうれしいだけの話。

浮動小数点演算の順序を入れ替えたり
割り算をかけ算に書き換えるような最適化を行うか行わないかで
計算結果はいくらでも変わる。

計算を再現させる大前提はまず同じ設定・同じ命令で計算させることであって
そのケースなら別にx87でも本来再現するはずなんだよ。
そこを疑うならまず再現方法示してくれってこと。
D3DXで違いが出るのはCPUによって「同じ命令で計算」の前提が崩れるから
別に再現しなくてもおかしくない。
_controlfpで違いが出るのも「同じ設定で計算」の前提が崩れるから
別に再現しなくてもおかしくない。

190 :デフォルトの名無しさん:2008/12/13(土) 16:53:28
> SSE2が数値計算的に好ましいのは、SSE2の四則演算を使うとIntel以外のCPUでの浮動小数点数演算と同じ結果になるのがうれしいだけの話

>そのケースなら別にx87でも本来再現するはずなんだよ

矛盾してね?

191 :デフォルトの名無しさん:2008/12/13(土) 16:55:13
>>187
>>180でいいだろ。全く問題なし。

192 :デフォルトの名無しさん:2008/12/13(土) 16:56:09
>>191
場当たり的すぎる
アホか

193 :デフォルトの名無しさん:2008/12/13(土) 16:57:13
>そのケースなら別にx87でも本来再現するはずなんだよ。
>D3DXで違いが出るのはCPUによって「同じ命令で計算」の前提が崩れるから別に再現しなくてもおかしくない
ここも矛盾してるな

194 :デフォルトの名無しさん:2008/12/13(土) 16:57:42
頭の悪い僕に教えてください。>>155の言うアニメーション合成とはなんでしょうか。

195 :デフォルトの名無しさん:2008/12/13(土) 16:58:20
大体、floatの誤差より
入力デバイスの十字キーのプラスチックの成型誤差の方が
絶対大きいって。

誤差を出さない為の議論より、誤差をごまかす方法でも
話し合った方がいくらかマシ。


196 :デフォルトの名無しさん:2008/12/13(土) 16:58:45
>>190
ああごめん。

ここで言ってるIntel以外ってのはPowerPCとかARMとかそっち系。
AMDはIntel互換のCPUで商売している以上、x87も互換してるはず。
といっても異なるケースがあるというのを聞いたことがないだけだけど。


197 :デフォルトの名無しさん:2008/12/13(土) 17:01:19
>>195
さっきから頭大丈夫か?お前

198 :デフォルトの名無しさん:2008/12/13(土) 17:01:23
>>192
PCによる結果の違いを引き起こさない最も確実な方法だろ。
ゲームプログラミングとはシステム、状況に応じて最も適した方法を取る
場当たり的な作業だよ。
で、これ以外の正しい解決策をお前は何か書けるのかい?

199 :デフォルトの名無しさん:2008/12/13(土) 17:01:59
>>196
DirectXスレで、PowerPCとかARMとかとの整合性の話してもしょうがないと思うんだが

200 :デフォルトの名無しさん:2008/12/13(土) 17:03:09
>>198
その解決方法を質問され、みんなで検討してるのに何を言っているんだ?
そうだな
場当たり的にはお前のが完璧な答えだな
じゃあ場当たり的じゃないのも考えようぜ

201 :デフォルトの名無しさん:2008/12/13(土) 17:03:36
http://www.amd.com/us-en/assets/content_type/white_papers_and_tech_docs/fpu_wp.pdf#page=5

>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でも同じはず。

202 :デフォルトの名無しさん:2008/12/13(土) 17:03:41
>>195
俺もそういってるんだが、頭の悪いやつらは一つの事に固執すると
目的を見失ってしまうみたいね

203 :デフォルトの名無しさん:2008/12/13(土) 17:07:09
>>199
すまん。>>177 がSSE2だと再現性が良くなると思っているっぽかったので、
「SSE2が好まれているのはPowerPCとかARMとかと合わせたいためで、今回は意味がない」
という意味で書きたかった。


204 :デフォルトの名無しさん:2008/12/13(土) 17:10:26
>>202
リプレイデータの話してるのに、パッドがどうのとか言い始める奴を擁護とか
同一人物だと叫んでるようなもんだな

205 :デフォルトの名無しさん:2008/12/13(土) 17:11:24
>>203
SSE2なら、x87の問題の一つである、メモリーに退去時のまるめこみ問題が回避できるから
再現性は良くなると思っていいんじゃないか?
というか今回もこっちの問題が原因なような気がするんだが

206 :デフォルトの名無しさん:2008/12/13(土) 17:12:52
とりあえず、ずれるサンプルが欲しいわね。

207 :デフォルトの名無しさん:2008/12/13(土) 17:16:00
てきとーに人間とか作ってAnimationControllerでアニメ合成やれば、ボーンの位置はあっさりずれたはずだぞ
昔俺もやって似たような現象は確認した
幸い描画オンリーにしか使ってなかったからスルーしたが

208 :デフォルトの名無しさん:2008/12/13(土) 17:16:23
>>200
それが無駄だと言ってるんだがね
それで君は、何か場当たり的でない解決策とやらを提示できたのかい?
自分では何もできていないくせに、人を批判することなどできないよ

209 :デフォルトの名無しさん:2008/12/13(土) 17:19:21
>>208
答えが出せる出せないを批判しているんじゃない
他人がやっていることを無駄だと騒ぎ立てて邪魔してることを批判してるんだ

210 :デフォルトの名無しさん:2008/12/13(土) 17:20:52
>>204
擁護?
>誤差を出さない為の議論より、誤差をごまかす方法
俺が言ってるのはこういう事だが?
パッドがどうこうだの、同一人物だのは勝手に言ってればいいよ


211 :デフォルトの名無しさん:2008/12/13(土) 17:21:05
巧妙に馬鹿が紛れているからスルー汁

212 :デフォルトの名無しさん:2008/12/13(土) 17:22:06
家庭用ゲーム機用でで作ればいいよw

213 :デフォルトの名無しさん:2008/12/13(土) 17:22:46
このスレは荒らしの立てた重複スレです
こちらのスレをご利用下さい

【C++】 DirectX初心者質問スレ Part21 【C】
http://pc11.2ch.net/test/read.cgi/tech/1229078397/

214 :デフォルトの名無しさん:2008/12/13(土) 17:24:04
なんか誤解されがちだけど
D3Dは一般で言われているところのライブラリというより
単なるヘッダー群だから
SDKに付属してくるものの仕様が変わろうが使えなくなることはないし
今のD3DX路線から別のものに方向転換したとしても
使えなくなるものではないんだが

215 :デフォルトの名無しさん: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)が問題
となるのではと期待しています。

216 :デフォルトの名無しさん:2008/12/13(土) 17:29:19
>>209
だから君が示してみろといってるんだが?
俺は無駄だという的確な指摘をしているだけであって、邪魔をしているわけではないよ
無駄じゃないと言い張るのなら、吼えてないでさっさと証明してみせるんだね能無し君
止めはしないから

217 :デフォルトの名無しさん:2008/12/13(土) 17:31:11
>>216
場当たり的じゃない解決ということについて
自分では何もできていないくせに、人を批判することなどできないよ

218 :デフォルトの名無しさん:2008/12/13(土) 17:32:32
>>217
>>198
ちょっと前のレスぐらい読もうね

219 :デフォルトの名無しさん:2008/12/13(土) 17:35:24
固定小数点でやれよ
なんでやらねーの?

220 :デフォルトの名無しさん:2008/12/13(土) 17:36:02
>>217
荒らしに反応しているお前も荒らし

>>215
実験結果の報告頼むな

221 :デフォルトの名無しさん:2008/12/13(土) 17:36:53
>>219
固定小数点版のD3DX作ってくれるといいなw

222 :デフォルトの名無しさん:2008/12/13(土) 17:38:02
今時MMXやSSE使わないって馬鹿なの?

223 :デフォルトの名無しさん:2008/12/13(土) 17:38:20
4096 = ONE はオーバーフロー地獄よね。

224 :デフォルトの名無しさん:2008/12/13(土) 17:39:18
>>209
横から突っ込むけどそれはおかしい
なんか最終目的が浮動小数点の計算結果を固定するみたいになってるじゃん
俺もROMってきたけどはっきりいって無駄だと思うっていうか頑張るべきところを間違えてると思う

最終目的が示されてるんだから別の方法を提示したっていいと思うよ
っていうかCPU間のちょっとした誤差が問題になるようなソースでいいの?
って話でもある

225 :デフォルトの名無しさん:2008/12/13(土) 17:40:54
まあいいんじゃない?
結果的に無駄だとわかったとしてもそれは無駄だという情報にはなるわけだから
がんばってもらおうじゃないか

226 :デフォルトの名無しさん:2008/12/13(土) 17:41:21
>>222
時々沸く、最適化切ったら動きましたとか言う
本末転倒野郎の仲間だろ。

227 :デフォルトの名無しさん:2008/12/13(土) 17:44:14
本人が解決したと思うならそれもよし( ゚Д゚)y−~~

228 :デフォルトの名無しさん:2008/12/13(土) 17:46:44
>>224
具体的に、誤差を吸収する方法があればそれでいいと思うよ

リプレイならキー入力以外のデータを入れれば吸収できるよね
それはそれで一つの結論だし、それ以上議論の余地はない
尊重してるよ

でもじゃあ、たとえばキー入力をやりとりするタイプのネット対戦ゲーだったらどうする?
自己申請方式でチートの余地を残すのは、キー入力タイプの「チート不可能」を覆す

「今回はリプレイなんだから良いじゃん」と言われればそうだが、前スレでは同じ問題がネット対戦で出たという人もいた
別に考えるだけならタダだし、別にほかに話題もないし、考えたい奴らだけで考えればいいじゃん

229 :デフォルトの名無しさん:2008/12/13(土) 17:49:49
俺は環境によって誤差が出るのも知らなかった
同じバイナリなら結果は同じになるもんだと思ってた
そして、その解決法をきれいに解消する方法がないことに今びっくりしてる

230 :デフォルトの名無しさん:2008/12/13(土) 17:50:44
サーバー管理にでもして判定処理はサーバーでやらなきゃ
チートの封印は無理だと思うよ

231 :デフォルトの名無しさん:2008/12/13(土) 17:52:40
キー入力を同期させる方式なら、対戦相手の画面上の結果をいじくれないっていう意味でチート対策にはなってるな

232 :デフォルトの名無しさん:2008/12/13(土) 18:00:27
キー入力情報をBOTに送らせりゃいいだけじゃね

233 :デフォルトの名無しさん:2008/12/13(土) 18:03:47
結局のところ、>>216は前スレで出た通信の時は沈黙してたわけで、脳無しだったんだよなw

234 :デフォルトの名無しさん:2008/12/13(土) 18:07:08
(やった!今回ならリプレイだから俺様の方式で解決できるぞ!)
リプレイデータに補正データを混ぜればいいじゃないか(キリッ

 【審議中】
あれはほっとこう
       ∧,,∧ ∧,,∧
    ∧ (´・ω・) (・ω・`) ∧∧ やっぱりD3DXは描画のみで
   ( ´・ω) U) ( つと ノ(ω・` )固定小数ライブラリとか作るべきじゃ
   | U (  ´・) (・`  ) と ノ
    u-u (l    ) (   ノu-u
        `u-u'. `u-u'  いや、それだとアニメーション合成とかきつい
ボーンに依存するのはやめたら?いや、でもそれじゃあなぁ・・・

235 :デフォルトの名無しさん:2008/12/13(土) 18:10:10
誰もがひたすらスレに住み着いてレスつけなきゃいけないんだな^^;

236 :デフォルトの名無しさん:2008/12/13(土) 18:12:05
チートなんてどんなゲームでもできんだろ
キー入力通信ならチート不可能なんて幻想だよ

237 :デフォルトの名無しさん:2008/12/13(土) 18:14:24
>>236
「チートしても無意味」になるじゃん

238 :デフォルトの名無しさん:2008/12/13(土) 18:16:22
>>235
前スレで通信絡みの質問に便乗していた人間だが、何か方法ある?
今からでもいいので教えてもらえると嬉しい
今の話題ももし解決したら俺のにも適用できるだろうから興味深くみているよ

239 :デフォルトの名無しさん:2008/12/13(土) 18:18:43
相手のコマンドを読み取ってこちらのキー入力を送信するBOTを作る事はできるわな

240 :デフォルトの名無しさん:2008/12/13(土) 18:23:54
>>238
どうでもいいけど、まずはちゃんと自分の質問を書けば?
便乗しますたとか書かれても誰もレスつけてくんないよ

241 :デフォルトの名無しさん:2008/12/13(土) 18:24:36
>>216
無駄ってより出来ないなら出来ないって言えよw


242 :デフォルトの名無しさん:2008/12/13(土) 18:25:27
>>241
オマエモナー

243 :デフォルトの名無しさん:2008/12/13(土) 18:29:00
>>240
わかりました

初期状態を同じにし、キーの入力だけ送りあうという方法で対戦ネットゲームを作っています
キー情報はサーバー役がいったん受け取り、双方にまとめて送るという方式のため、矛盾が出ません
ですがD3DXやらを使っていたら計算結果に微妙な誤差が出る環境がありました
この誤差を吸収する方法はないでしょうか?

四捨五入や、小数点以下●桁で切り捨てのようなこともやってみましたが、
結局は基準値の前と後に計算結果が分かれてしまったとき誤差が出てしまいました

途中でお互いの状況をつきあわせてチェックする方式は、現在のとこ採用するつもりはありません
それを採用するなら、はじめからキー入力でなんてやらなきゃいいわけで・・・

244 :デフォルトの名無しさん:2008/12/13(土) 18:29:38
>>242
241がこのスレ初が書きだがw
”俺”には無理だから出来るか出来ないか興味あるんだよw
だから考えるのは無駄とか言ってんじゃねーよ


245 :デフォルトの名無しさん:2008/12/13(土) 18:32:15
採用するつもりがないなら不可能ですね。
あきらめて下さい。

246 :デフォルトの名無しさん:2008/12/13(土) 18:33:05
>>244
出来ないよ

247 :デフォルトの名無しさん:2008/12/13(土) 18:34:40
>>245-246
不可能とは大きくでたなw
知りませんって言えよw

248 :デフォルトの名無しさん:2008/12/13(土) 18:38:03
あれー?
x87の計算なら環境違っても再現性があるはずって言ってる人いたよね
なのに不可能なの?その人が間違ってるの?
教えて>>245

249 :デフォルトの名無しさん:2008/12/13(土) 18:40:46
>>248
その人に聞けばいいと思うよ
その人が正しいのなら確実な答えが示されるのだろうからね

まあ不可能ですが

250 :デフォルトの名無しさん:2008/12/13(土) 18:43:12
だーかーらー固定小数点で計算しろって言ってるだろうがこのチンカスどもがー

251 :デフォルトの名無しさん:2008/12/13(土) 18:52:02
>>250
固定小数で、ボーンアニメーションを合成できるライブラリとかあるの?
聞いたことないけど

252 :デフォルトの名無しさん:2008/12/13(土) 18:52:36
>>249
不可能というのなら、そのソースを見せてよ
「知らない」じゃなくて「不可能」なんだろ?

253 :デフォルトの名無しさん:2008/12/13(土) 19:03:41
>>252
悪魔の証明ですか
可能である事が証明できない限り、それは不可能であることを証明しているんだよ
君のやることは次のいずれか

1.自分の力で可能である事を証明する
2.再現性があるはずだと言ってる人に聞いて、自分のプログラムにて証明する
3.とっととあきらめて照合制を導入する

なぜそのどれもやろうとせずに文句ばかりつけているのかね?
1〜3のどれかを実行すれば君の目的は達成されるだろうに

254 :デフォルトの名無しさん:2008/12/13(土) 19:10:23
絶対言われると思ったよ、悪魔の証明
厨房お得意のだもんな

俺は別にお前を論破したいんじゃなくて「不可能だとわかっているというソースがあるなら、見せてほしい」だけ
ソースがないなら「不可能」と言い切るな。可能かどうか検討している人間たちの横で「不可能」と騒ぐなというだけ

255 :デフォルトの名無しさん:2008/12/13(土) 19:16:01
可能であることの証明ができないことが不可能であることの証明になんてならんだろwww
可能か不可能か分からんというだけだ
不可能であることを示したければ自分の力で不可能であることを証明してみろよ

256 :デフォルトの名無しさん:2008/12/13(土) 19:37:13
でも可能であるにしてもCPUに対する知識が少なすぎるよね
とりあえずCPUに対する考察より演算ユニットを固定させる方法ってみつかったの?
これがなきゃどうせ駄目なわけでしょ?

257 :デフォルトの名無しさん:2008/12/13(土) 19:39:00
>>254
そういう言葉は君が1、2のいずれかを行って証明してから言う事だよ
可能という事実が証明されない限りは、悪魔の証明である事は揺るがない
自分もできないという事実があるのに、できないならそれを証明しろ、と駄々をこねる事こそ
厨房お得意の屁理屈そのものだよ

じゃあ言い方を変えようか。
実質不可能だけど、まあ無駄な議論をする頭の悪い人のために撤回してあげよう。
「俺も、当然君も、このスレの全ての人間が、可能である事を証明できない、できていない」

で、なんで君は1、2のそのどちらもやろうともしていないんだい?
さっきも質問したけどなぜか君は答えてくれないね
文句つけてる暇があるなら早くやりなよ能無し君

258 :デフォルトの名無しさん:2008/12/13(土) 19:42:06
証明できる人がいるなら、回答して終わりだろw
あと知識が多い人間が初心者質問スレにくるかよw

259 :デフォルトの名無しさん:2008/12/13(土) 19:43:22
>>258
このスレでこのような質問をする事自体が無駄だという事ですよ

260 :デフォルトの名無しさん:2008/12/13(土) 19:45:58
可能かもしれないということでみんながアイデア出し合ってるのに
横で不可能不可能とかわめきたてて何したいの?馬鹿なの?

261 :デフォルトの名無しさん:2008/12/13(土) 19:46:33
7〜8年前のVSync論争を思い出したw
今ならどれも液晶で何故か60Hz固定で綺麗だぞw

262 :デフォルトの名無しさん:2008/12/13(土) 19:47:59
お笑いコンビはスルーの方向で

263 :デフォルトの名無しさん:2008/12/13(土) 19:48:35
>>260
ていうか演算ユニットを固定する方法はあったの?なかったの?

264 :デフォルトの名無しさん:2008/12/13(土) 19:49:32
可能かも知れないと思う事自体が頭沸いてるとしか
アイデアというけれど、どこにまともなアイデアがあるのだろうか

265 :デフォルトの名無しさん:2008/12/13(土) 19:53:28
珍回答
 固定小数点を使え
 不可能だ!可能だというなら方法教えろ!
 D3DXなんて使うな
 整合性検証用データを入れろ

有用回答
 x87は環境に左右されず再現性はとれるはず
 D3DXを使った場合、とある計算でx87が使われるか拡張命令が使われるかはわからない
 APIHijackによって、D3DXに拡張命令を使わせないことはできる
 /fp:strictオプションを試してみるべき
 端数を切り捨てる方式でも、やはりズレは出る
 

266 :デフォルトの名無しさん:2008/12/13(土) 19:53:39
わざわざマシンの性能を制限して固定化することがいい事かねぇ
結局の所、「合わせるより誤魔化す」だと思うよー

267 :デフォルトの名無しさん:2008/12/13(土) 19:57:23
>>265
有用回答を照らし合わせると、結局無理だよね?

268 :デフォルトの名無しさん:2008/12/13(土) 19:58:14
誤魔化すのももちろんありだよな
その誤魔化し方でまともなのが全然出てこないのが問題だが

269 :デフォルトの名無しさん:2008/12/13(土) 19:58:47
>>267
頭沸いてるとしか

270 :デフォルトの名無しさん:2008/12/13(土) 20:00:32
>>269
この有用回答からでは無理でしょ
何か間違った事言ってますか?

271 :デフォルトの名無しさん:2008/12/13(土) 20:02:52
つーか他でやってよホント。
こんなロクに解決策が出てこない質問で何百レスも費やしてたら他の初心者質問の邪魔になるよ。
むしろ本スレでやれば?

272 :デフォルトの名無しさん:2008/12/13(土) 20:03:17
>>268
判定イベントだけとっておくとかよかったじゃんっていうか
俺もリプレイやるときはその方法でやってるし

273 :デフォルトの名無しさん:2008/12/13(土) 20:04:02
>>272
なんで固定小数使わないの?

274 :デフォルトの名無しさん:2008/12/13(土) 20:04:53
>>272
そういうのはお気に召さないらしいから仕方ない
もう好きにすれば?って感じ

275 :デフォルトの名無しさん:2008/12/13(土) 20:05:13
>>270
うん

276 :デフォルトの名無しさん:2008/12/13(土) 20:05:52
>>274
もうちょっとうまく自演しろよ・・・
本当に好きにすれば?って思ってる奴がレスするわけねーだろ・・・

277 :デフォルトの名無しさん:2008/12/13(土) 20:05:57
>>275
何が間違っているのか教えてください

278 :デフォルトの名無しさん:2008/12/13(土) 20:07:10
>>273
D3DX使えないじゃんっていうのと
できるだけ下地のライブラリが変わっても動くゲームのほうがいいかなってとこ

279 :デフォルトの名無しさん:2008/12/13(土) 20:07:58
少なくとも判定保存派は俺ともう1人いるっぽい

280 :デフォルトの名無しさん:2008/12/13(土) 20:09:39
>>278
えーっと・・・普段は固定小数で計算して、描画だけD3DX使えば解決するよね?

281 :デフォルトの名無しさん:2008/12/13(土) 20:09:53
じゃあ俺はリプレイを実装しない派

282 :デフォルトの名無しさん:2008/12/13(土) 20:10:43
>>280
だから普段の計算にD3DX使えないじゃん

283 :デフォルトの名無しさん:2008/12/13(土) 20:11:03
>>276
そういう視野のせまいレスをつけてくるから、
もう好きにすれば?って言ってるんだよ

ま、無駄な議論をひたすら続けて下さい
このスレが終わるまでに場当たり的じゃない解決とやらが出てきたとしたら
いい子いい子してあげるよ。ありえないけどね

284 :デフォルトの名無しさん:2008/12/13(土) 20:12:27
>>281
それもアリ
政治力もPGの実力のうち
無い奴は僻むな
正直、割りに合わないほど金と時間を使うようになってる
やらない決定をすることが会社の利益になるときもある

285 :デフォルトの名無しさん:2008/12/13(土) 20:13:13
>>282
ボーン位置計算は固定少数で自前計算して描画はD3DXで行うってことじゃね

286 :デフォルトの名無しさん:2008/12/13(土) 20:13:36
>>282
行列演算系なんてあっという間に作れると思うが・・・

287 :デフォルトの名無しさん:2008/12/13(土) 20:14:37
>>286
CPUの演算ユニット固定しようとしてる馬鹿にいってやれw

288 :デフォルトの名無しさん:2008/12/13(土) 20:15:10
>>285
282はそもそもボーンなどについてまったくふれてないぞ
アニメーション合成にD3DXを使わざるをえなかったので。とかそういう前置きがあればわかるけど、何もないなら固定小数でいいだろ

289 :デフォルトの名無しさん:2008/12/13(土) 20:15:31
すごいスレ伸びてると思ったら
またfloatのお話ですか



290 :デフォルトの名無しさん:2008/12/13(土) 20:15:53
>>287
初心者質問スレで、初心者のアイデアや質問を馬鹿とか言うのやめてくれない?

291 :デフォルトの名無しさん:2008/12/13(土) 20:16:16
馬鹿2人以上居るとループするからなw

292 :デフォルトの名無しさん:2008/12/13(土) 20:18:28
>>271読んでよホント。正直あなたがた、邪魔です。

293 :デフォルトの名無しさん:2008/12/13(土) 20:19:01
>>290
あなたのためだから

294 :デフォルトの名無しさん:2008/12/13(土) 20:19:46
初心者はさ、馬鹿とかクズとか言われても耐えろよ
そんなん2ちゃんならどこでも飛び交ってる言葉なんだから、「愛してる」ぐらいにとっておけ

295 :デフォルトの名無しさん:2008/12/13(土) 20:20:06
>>292
俺がガンダムだ

296 :デフォルトの名無しさん:2008/12/13(土) 20:20:46
>>288
俺に言われても困る

297 :デフォルトの名無しさん:2008/12/13(土) 20:21:31
よくわかんないけど、なんか馬鹿とかクズとか人罵倒してると気持ちいいんで

298 :デフォルトの名無しさん:2008/12/13(土) 20:23:24
なんか最初の質問者とか、それに応えてくれてた人は有意義だったのに
夕方くらいから荒らしが一匹住み着いて「無駄だ!不可能だグギャギャギャギャ」とか騒ぎ始めてからは無駄なレスばっかりだな

299 :デフォルトの名無しさん:2008/12/13(土) 20:24:28
>>298
全然有意義じゃないじゃん
解決したのかよw

300 :デフォルトの名無しさん:2008/12/13(土) 20:25:44
再現性無いとか知らなかった身としてはすごい有意義だったんだが

301 :デフォルトの名無しさん:2008/12/13(土) 20:26:16
俺も方向性まずそうなのにミスリードしてしまった感のが強いな

302 :デフォルトの名無しさん:2008/12/13(土) 20:28:22
CPUを固定化しようとしてる人たち=有意義
それ以外=無駄なレス

ですね。わかります。

303 :デフォルトの名無しさん:2008/12/13(土) 20:30:12
つーかCPU系のスレでやればよくね?話の方向的にもはやスレ違いだろこれ。

304 :デフォルトの名無しさん:2008/12/13(土) 20:30:42
なぁ、無駄だとか間違ってるというなら、有意義なとかあっている方法書いてやれよ・・・
チェックデータ入れるとかはネット対戦じゃ有効じゃないんだろ?
ならネット対戦にも対応できるいい方法書いてやればいいじゃないか

305 :デフォルトの名無しさん:2008/12/13(土) 20:30:55
基本ゲームプログラマは
自分で書いたソース以外信用しなかったり
車輪の再発明をして俺SUGEEしたがるような人種ばっかだから

306 :デフォルトの名無しさん:2008/12/13(土) 20:33:20
まーソースも出さないし車輪も示さない人間が言うセリフじゃないよな

307 :デフォルトの名無しさん:2008/12/13(土) 20:33:50
>>304
ネット対戦ならなおさら判定保存法だろ(もちろん改良して)

308 :デフォルトの名無しさん:2008/12/13(土) 20:34:48
素直に言えよ
質問が難しすぎて有意義な回答は出来ませんて

309 :デフォルトの名無しさん:2008/12/13(土) 20:36:50
>>304
ネット対戦でも有効というかよく使われるけどチートを根拠に拒否してるだけ
そういやパンヤやっててもたまにプレイヤーによって落下位置がずれたりしてたなw
結果はサーバーで照合してるから問題はないけどね

310 :デフォルトの名無しさん:2008/12/13(土) 20:37:11
>>308
質問内容は簡単だろ
誰でも参加できるから盛り上がったわけだし

311 :デフォルトの名無しさん:2008/12/13(土) 20:37:16
>>307
なんで、具体的なことを言わないの?
どう改良するの?

312 :デフォルトの名無しさん:2008/12/13(土) 20:38:16
>>309
ありゃサーバー処理型じゃねーか
そりゃ肝心のデータはすべてサーバーが管理してるんだから、ずれようがないだろ

313 :デフォルトの名無しさん:2008/12/13(土) 20:38:30
>>311
判定結果をサーバーで照合・・・が一番かな?w

314 :デフォルトの名無しさん:2008/12/13(土) 20:39:16
>>310
「ソースは示せないけど不可能!不可能!無駄!無駄!」

誰でも…参加…?

315 :デフォルトの名無しさん:2008/12/13(土) 20:39:55
>>261
ところが今度ネイティブ120Hzのモニタが出る。

316 :デフォルトの名無しさん:2008/12/13(土) 20:41:47
>>315
そんなの2倍速で動かして特殊なモニタ買ったことを後悔させてやればいいw

317 :デフォルトの名無しさん:2008/12/13(土) 20:42:07
>>314
少し頭冷やせよ

318 :デフォルトの名無しさん:2008/12/13(土) 20:42:13
プログラマってミスを徹底的に否定して満足しようとする卑屈な人間しかいないのかね

319 :デフォルトの名無しさん:2008/12/13(土) 20:43:46
>>314
解決策とは程遠いけど「できる!できる!気持ちの問題だ!」
修造といっしょだな

320 :デフォルトの名無しさん:2008/12/13(土) 20:45:12
現時点で有意義?な回答はあっても結果がでてないんだから
ごまかしの解決策を用いるしかないでしょ
ごまかすのなんてヤダヤダというなら仕方ないけど

321 :デフォルトの名無しさん:2008/12/13(土) 20:46:14
結果待ちの状態なのに、不可能だと断じてるのだから、そいつはすでに実験済みなんだろ?
実験結果はどうだったの?不可能断定君

322 :デフォルトの名無しさん:2008/12/13(土) 20:46:19
>>318
それをいうならはじめの選択肢の間違いを認めずに
CPUの演算ユニットの固定とか馬鹿なことに挑戦しだした人間にいってやれw

323 :デフォルトの名無しさん:2008/12/13(土) 20:47:18
チョー伸びてる ハハッ

324 :デフォルトの名無しさん:2008/12/13(土) 20:48:11
>>323
ミッキー自重

325 :デフォルトの名無しさん:2008/12/13(土) 20:48:56
        ∧
       _|::::|__
      /::|::::|  \
     /   |:::|   :\
    /    ||    :ヽ
   ┌|(⌒ヽ :|| ..:⌒: |┐   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
   |::|::ヽ.__:):||(___ノ ::|::|  │ いつもDirectX初心者質問スレを応援してくれてありがとう。
    |:|: ..   :||    .. |:|  │ このスレは急に終了することになった。
    :|: ..   ||    ..|| <  いつまたみんなの前に姿を見せる事ができるようになるのか、
     :\ [_ ̄] /::|   │ 私にもわからない……
::     |\|_|_|_|_/:::|    \____________
   __| |   / / :|___
   \ _| \   /........ノ~  -r  \
  \....|:::\:\丿 /, /,/.../._ \
  /....\.レ... /\..| /  / / ̄ `\
  レ.........|/..../ R‐\



326 :デフォルトの名無しさん:2008/12/13(土) 20:49:52
これから始めるにはDirectXとOpenGLってどっちがいいですかね?
DirectXって仕様変更が激しいようだし、Macでも動くからOpenGL
がいいかなとか思ったりするんですが...

327 :デフォルトの名無しさん:2008/12/13(土) 20:54:38
>>326
初心者がどっちとかいってんじゃねぇよ
両方やれ

328 :デフォルトの名無しさん:2008/12/13(土) 20:55:32
>>312
P2PゲームだってチートやBOTは余裕っしょ
技コマンドがきたら自動回避とかできるし

お互いのマシンでの照合のさせ方次第じゃね
誤差の粋を大幅に超えた結果が返ってくれば自動で切断とかすりゃいいわけだし

329 :デフォルトの名無しさん:2008/12/13(土) 20:56:28
x87での計算に再現性があるなら、D3DXの拡張命令の使用を切れば再現性が確保されるはずだろ?
不可能って騒いでる奴は、x87の計算に再現性がないって断じてるってことでいいの?

330 :デフォルトの名無しさん:2008/12/13(土) 20:56:30
>>328
>技コマンドがきたら自動回避とかできるし
俺の波動拳が当たらないのはそういうことだったのか

331 :デフォルトの名無しさん:2008/12/13(土) 20:57:35
>>328
>P2PゲームだってチートやBOTは余裕っしょ
むしろP2Pだからチートが余裕なんだろ。あほか

それにBOT余裕とか、誰がBOTの話なんてしてんだ?
馬鹿?

332 :デフォルトの名無しさん:2008/12/13(土) 20:59:19
>>329
いまはそうかもしんないけど
次(の世代のCPU)は違うかもしれないし
とにかく微妙なもんに仕様の保障を求めたくない

333 :デフォルトの名無しさん:2008/12/13(土) 21:00:38
>>332
あれ?不可能なんじゃなかったの?
なんで急に「将来不可能になるかもしれない」とか言い出してるの?

334 :デフォルトの名無しさん:2008/12/13(土) 21:05:42
>>333
だって俺不可能って言った奴と違うもん
あくまで方法がまずい派

335 :デフォルトの名無しさん:2008/12/13(土) 21:06:17
>>331
キー入力だからチート不可って言ってた人がいたからそう書いただけね
チートの危険性があるとわかってる人はそれでいいんだよ
BOTもチートの内の一つだからね

336 :デフォルトの名無しさん:2008/12/13(土) 21:06:49
同種類のレスを勝手に特定の1人のレスだと思いはじめたら病院にいったほうがいいな

337 :デフォルトの名無しさん:2008/12/13(土) 21:09:48
>>329
なんだか知りませんが、x87を使ってAPIHijackによって、D3DXに拡張命令を使わせないことで
問題解決ってことで合っていますか?

338 :デフォルトの名無しさん:2008/12/13(土) 21:10:41
>>337
その文章から、お前がx87もAPIHijackも理解してないってことはよくわかったw

339 :デフォルトの名無しさん:2008/12/13(土) 21:11:14
2ちゃんによくある思い込み
「敵は一人の自作自演」

340 :デフォルトの名無しさん:2008/12/13(土) 21:11:59
>>338
そうですよ。理解してないから教えて欲しいんです。
私も興味がありますので。

341 :デフォルトの名無しさん:2008/12/13(土) 21:15:42
>>340
解決したっぽいよw
http://d.hatena.ne.jp/NyaRuRu/20040819

342 :デフォルトの名無しさん:2008/12/13(土) 21:15:43
今度は荒らしが多人数を装うようになってきたの?
マジめんどくせえやつだな

343 :デフォルトの名無しさん:2008/12/13(土) 21:17:21
解決したのか。やっとまともな質問者が質問できる。

344 :デフォルトの名無しさん:2008/12/13(土) 21:19:31
>>342
だから解決したってさ

345 :デフォルトの名無しさん:2008/12/13(土) 21:21:59
いや危険なんじゃないのかこれ

346 :デフォルトの名無しさん:2008/12/13(土) 21:22:56
荒らし本気でうぜーな・・・

347 :デフォルトの名無しさん:2008/12/13(土) 21:23:10
安全だよ、安全

348 :デフォルトの名無しさん:2008/12/13(土) 21:24:23
以上、解決しますた

349 :デフォルトの名無しさん:2008/12/13(土) 21:25:59
この板ID表示にならないかな

350 :デフォルトの名無しさん:2008/12/13(土) 21:31:50
>>349
マ板はともかくム板は必要だよな>ID

351 :デフォルトの名無しさん:2008/12/13(土) 21:32:33
>>215が検証するまで大人しく待とうぜ
外野がいくら騒いでも仕方ない

352 :デフォルトの名無しさん:2008/12/13(土) 21:35:33
質問です。DirectXでおっぱいをリアルに揺らすにはどうすればいいでしょうか

353 :デフォルトの名無しさん:2008/12/13(土) 21:37:18
>>352
【おっぱい】エログラミング Ver.0【まん○】
http://pc11.2ch.net/test/read.cgi/gamedev/1159714969/

こっちが詳しいよタイトルがストレートだけど、話し合ってること自体は真面目w

354 :デフォルトの名無しさん:2008/12/13(土) 21:41:01
荒らしが、情報ださせるために釣り荒らししてたって感じだな
質問者がNyaRuRuの名前あげてるのだから、荒らさなくても自分でぐぐればすぐ出ただろうに

355 :デフォルトの名無しさん:2008/12/13(土) 21:44:09
ていうか検証なんかしなくてもあるんじゃねぇかよw

356 :デフォルトの名無しさん:2008/12/13(土) 21:46:49
質問者がそれを見てまともに動かせてないんだから検証はせにゃ

357 :デフォルトの名無しさん:2008/12/13(土) 21:47:50
これで単にtimeGetTimeでワンフレの移動幅決定してたからとかいう理由だったら死ねるw

358 :デフォルトの名無しさん:2008/12/13(土) 21:48:47
有能なかたがた
>>95>>97お願いしますねw
あとリプレーとか言ってる方キー入力結果保存
なんだからゲーム中も違うってことになるでしょ
たまたまリプレーで違いが認識できただけ

359 :デフォルトの名無しさん:2008/12/13(土) 21:50:26
君は日本語がまずおかしい

360 :デフォルトの名無しさん:2008/12/13(土) 21:51:30
>>358
>>95,97はuv情報があるのでできないでござるの巻

361 :デフォルトの名無しさん:2008/12/13(土) 21:52:07
あ、>>95だけかw

362 :デフォルトの名無しさん:2008/12/13(土) 21:53:32
>>360
別にテクスチャ貼るなんて書いてないからuvは関係ないだろ


363 :デフォルトの名無しさん:2008/12/13(土) 21:54:18
>>362
それじゃオッパイが表現できないじゃないか
却下

364 :デフォルトの名無しさん:2008/12/13(土) 21:54:49
>>356
あそこに載ってるサンプルはD3DXがまだ静的リンクだった時代のものだから
もし質問者がサンプルを丸々コピペしたとしてるとフックに失敗してかもね。

今だとD3DX9のモジュールハンドルを使ってフックを仕込む必要があるはず。

365 :デフォルトの名無しさん:2008/12/13(土) 21:59:02
プログレッシブメッシュはUVもしてるよね?
テクスチャが違うのもできるんだろうか

366 :デフォルトの名無しさん:2008/12/13(土) 22:00:32
てかフックとかやる前にまずレジストリ弄って問題が解決するか確かめた方がいいな。
それで解決するならフックを頑張ればいいし、
解決しないならD3DX以外にも問題は残ってるんだろう。

367 :デフォルトの名無しさん: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の混雑具合を動的に判断し、勝手に行ったり行わなかったりするかも。そうしたら再現性無くなって嫌だなぁ…」
と怖がっていましたが、大丈夫なようです。

以上です。
間違いや勘違いなどがありましたらツッコミよろしくお願いします。

368 :デフォルトの名無しさん:2008/12/13(土) 22:34:28
まさに場当たり的な解決だなぁ

369 :デフォルトの名無しさん:2008/12/13(土) 22:37:12
商用アプリ作るわけじゃないならいいんじゃね

370 :デフォルトの名無しさん:2008/12/13(土) 22:54:56
>>368-369
不可能くんの悔し紛れ乙

371 :デフォルトの名無しさん:2008/12/13(土) 22:56:41
まだ続けんのかよ…いい加減にしろよカス

372 :デフォルトの名無しさん:2008/12/13(土) 22:58:00
はい次の人〜

373 :デフォルトの名無しさん:2008/12/13(土) 23:03:11
スレ違いならすいません。

オンラインゲームにddsファイルが使われてますが
これを3Dで見たいんですが、どんなソフトを使えば良いんでしょうか?

374 :デフォルトの名無しさん:2008/12/13(土) 23:08:25
えー最近スレ違い連発のガキです
みなさんスルーしましょう

375 :デフォルトの名無しさん:2008/12/13(土) 23:08:38
>>373
3Dでみたいとか意味わかんない

376 :デフォルトの名無しさん:2008/12/13(土) 23:09:29
atlbase.hはどこにあるんですか?CBaseVideoRendererを使いたいんです。

377 :デフォルトの名無しさん:2008/12/13(土) 23:11:33
すれ違いはスルーしましょう

378 :デフォルトの名無しさん:2008/12/13(土) 23:12:58
ストレス溜まってる人多いですね^^;

379 :デフォルトの名無しさん:2008/12/13(土) 23:14:56
スルーで

380 :デフォルトの名無しさん:2008/12/13(土) 23:15:22
どんなソフトを使えばとかいう人はソフトウェアスレに逝ってください

381 :デフォルトの名無しさん:2008/12/13(土) 23:15:49
そういう時はみんなでおっぱいを見に行こう

382 :デフォルトの名無しさん:2008/12/14(日) 00:53:14
>>95>>97答えろやボケが

383 :デフォルトの名無しさん:2008/12/14(日) 01:06:35
おちんちん

384 :デフォルトの名無しさん:2008/12/14(日) 02:27:13
>>97の同一頂点の検索は全検索なんてあほなことしないで
セル単位にわけてその中だけで検索するようにすれば高速化できる。


385 :デフォルトの名無しさん:2008/12/14(日) 02:59:57
えーと言い換えればセル単位に分けるのが最終目標だろ
例示がないからよくわからんが
例えば横奥50*50の頂点がある実際には同一頂点があるから
もっとあるとしてこれを任意の頂点数に減らすって問題だろ


386 :デフォルトの名無しさん:2008/12/14(日) 08:59:53
ボクセルってなんですか?

387 :デフォルトの名無しさん:2008/12/14(日) 10:23:25
キーワードが分かっているなら、
テキストボックスに文字列を入力して検索ボタンを押すだけで情報が出るのに、
それをやろうとしないのは、どれだけママンにおんぶだっこされて生きてきたの?

388 :デフォルトの名無しさん:2008/12/14(日) 10:32:14
だまれ小僧

389 :デフォルトの名無しさん:2008/12/14(日) 11:00:05
box + pixel = boxel

390 :デフォルトの名無しさん:2008/12/14(日) 11:55:24
>>97が何が言いたいのか全然わからんなぁ
とりあえずX-Y平面に射影して、凸包体作るじゃ駄目なん?

391 :デフォルトの名無しさん:2008/12/14(日) 12:13:35
DirectSoundのストリーミング再生に関するサンプルコードがあるサイトって知りませんか?

また、DirectXSDKにStream Dataサンプルがついているらしいのですが、それのついているバージョンを教えてください。
いくつかダウンロードしてみましたが、ついてなかったので。

宜しくお願いします。


392 :デフォルトの名無しさん:2008/12/14(日) 12:29:34
DirectSoundで検索すればでてきますよ

393 :デフォルトの名無しさん:2008/12/14(日) 12:51:24
>>390
最初の頂点が
0 1 2 3
4 5 6 7
8 9 10 11
だとポリゴンが6枚になります
これを視点から遠い場合、6枚ではなく
少ない数で表現したいのです
この場合0と3と8と11はXZで大きさそのものを変えない
ようにするため残すとして、残りの12910はYの値により
残す残さないを決めます。
決めて最終的に残ったのが頂点配列となります。
この頂点配列はY以外にも判断基準があるので
順番がばらばら(何番が残ったかわからない)なのです。





394 :デフォルトの名無しさん:2008/12/14(日) 13:00:13
連続ですいません
12枚ですね
例えば残ったのが0356811だとすると
035をとると08を使う三角形は5を使わないと
ポリゴンが重なります。したがって08には5を使う
別の58を使うのは6でも11でもいい(実際には最小にしたいので6)
この様な判断をどのようにすれば効率的かが知りたいのです。


395 :デフォルトの名無しさん:2008/12/14(日) 13:01:22
面倒なことやってんなぁ
LoDで我慢しろLoDで

396 :デフォルトの名無しさん:2008/12/14(日) 13:07:47
正直、こんなに説明が下手な人も珍しいと思ったw
Progressive mesheを作りたいのか?
Hoppeの昔の論文でも読めばいいんじゃない?

397 :デフォルトの名無しさん:2008/12/14(日) 13:20:02
説明が下手で申し訳ありません。
LoDのためにこれをしてるのですが
自前でプログレッシブメッシュみたいなのを
作りたいって事です
標準だとmeshからは作れますが
meshとして始めの頂点配列を持っていないのです
正確にはmeshを頂点配列にしてその一部分を
可視範囲により切り出しそれを、さらに分割して
分割したものの内、遠いのに対してこの処理がしたいのです。
Hoppeをググってみます、ありがとうございます。





398 :デフォルトの名無しさん:2008/12/14(日) 13:20:16
>>393-394
さっぱりわからないので、
1-2-3, 4-5-6の2面の三角形を
1面に縮退する場合の例を挙げてよ。

まあ、>>395-396のいうとおり、
LODを知ることから
始めた方がよさそうだな。

399 :398:2008/12/14(日) 13:26:24
縮退という言葉使いは間違ってます。
惑わされたらすいません。

400 :デフォルトの名無しさん:2008/12/14(日) 13:37:13
俺のLoDの認識はモデルがカメラから遠く離れたら
違うポリゴンモデル(ポリゴン数減)に切り替えるって認識なんだけど
自動で削減するのか?

なんか余計時間かかんね?
マリオ100体とかインスタンス全部別に削減するんでしょ?

401 :デフォルトの名無しさん:2008/12/14(日) 13:40:11
>>398
2面の三角形を1個にはできないと思うのですが
LODの前段階がこれだと思うのですが、違うのですか?
見方としてはY軸からみてる頂点の位置だと思っていただければ
8番がX0Z0 5番がX1Z1
残す頂点が0 3 8 11は確定して他の頂点が5としたら
035は絶対必要になると思います、そうでないと5を残す意味がない
他の言い方で言えばポリの頂点として08を選ぶと5しか選んではいけない
他を選ぶと5を隠してしまうのでこの判断をしたいのです。
論文見てきます。

402 :デフォルトの名無しさん:2008/12/14(日) 14:08:07
英語も論文も難しいですね
ttp://research.microsoft.com/en-us/um/people/hoppe/pm.pdf
やりたいのはちょうどこれの地形のです
12,169 facesを9,462 facesにしてるやつです。
>>400
meshの場合はあらかじめ違うポリゴンモデルを作るものだと思います。
上記の見ると視野を矢印であらわしてるので視野範囲内が12169→9462
にしてるのだと思うのでリアルタイムも可能って事だと思います。
みなさんありがとうございました。



403 :デフォルトの名無しさん:2008/12/14(日) 14:47:27
なるほど、>>393-394は閉じたメッシュのLODではなくて
いわゆるランドスケープのLODのことを言ってるのね。
ランドスケープ用なら、それ専用でググれば結構出てくると思うよ。

>>400
プログレメッシュが同じかどうかは知らないが、
ゲームプログラ〜3D数学に載ってる方法は、
動的に、隣り合う三角形の辺を削除するって奴。
1つの辺を削除するということは、2三角形・1辺・1頂点を削減出来ることになる。
これは、頂点配列は触らずに、面配列のみ操作するだけで実現出来るから
あんまり重くない。リアルタイムに十分適用可能。



404 :デフォルトの名無しさん:2008/12/14(日) 16:04:01
[EAC] (サントラ) いちご100%オリジナルサウンドトラック MUSIC100%[CD+DVD].rar

405 :デフォルトの名無しさん:2008/12/14(日) 16:41:46
なんかようか?w

406 :デフォルトの名無しさん:2008/12/14(日) 18:10:20
二次元のRPGなんだけどマップのタイルはどれくらいのサイズがいい?

16*16とか32*32とか

407 :デフォルトの名無しさん:2008/12/14(日) 18:19:58
>>406
ハードと作るものによる
っていうか見栄えや勉強を優先したいならマップチップにしないほうがいいかも

408 :デフォルトの名無しさん:2008/12/14(日) 19:26:26
またスレ違い質問か

409 :デフォルトの名無しさん:2008/12/14(日) 20:17:37
【社会】パチンコ屋駐車場で頑憧夢(ガンダム)くんが凍死 車内に放置した母親逮捕−北海道
http://gimpo.2ch.net/test/read.cgi/news7/1227830640/

410 :デフォルトの名無しさん:2008/12/14(日) 20:28:31
>>409
釣りでよかったとマジで思った

411 :デフォルトの名無しさん:2008/12/14(日) 21:01:41
>>406
見た目優先なら小さいほうがいいんじゃね。
突き詰めると1ピクセルだし。

412 :デフォルトの名無しさん:2008/12/14(日) 21:03:34
そもそもチップを配置する手間を舐めてるよね
描いたほうが速いよマジで(デザイナ談)

413 :デフォルトの名無しさん:2008/12/14(日) 21:26:02
どの道高低差や属性指定が必要になるからチップ分けは必須
つーかDirectX関係ねーからとっとと消えろ

414 :デフォルトの名無しさん:2008/12/14(日) 21:28:03
デザイナだからからは知らないがチップにするのは
区画分けの為だよ
見た目とダメージゾーンとか
一致させやすいから使うだけ

415 :デフォルトの名無しさん:2008/12/14(日) 21:28:16
>>413
高低差情報とチップ情報が一致するわけない
橋の下通れないだろそれ

416 :デフォルトの名無しさん:2008/12/14(日) 21:29:09
螺旋階段を死ぬ気で作れよデザイナ(by企画)

417 :デフォルトの名無しさん:2008/12/14(日) 21:37:59
>>415
チップに段階毎の情報をもたせりゃいいだけの話だが?

418 :デフォルトの名無しさん:2008/12/14(日) 21:42:17
>>417
そしたら高低差情報だけでチップ情報いらないじゃない

419 :デフォルトの名無しさん:2008/12/14(日) 21:47:18
>>418
前のレスをちゃんと読めよ
DirectX関係ないと言ってるんだが、お前はまだこのスレ違いのレスをし続けんの?

420 :デフォルトの名無しさん:2008/12/14(日) 21:50:37
属性なんて範囲設定すりゃいいじゃん、と思う奴もいるかもしれないけど、
地形情報が煩雑になるとチップ管理を行わなきゃ対応しきれなくなるよ

まあただ歩くだけでトラップやらなんやらのない簡素なゲームならどうでもいいけど

421 :デフォルトの名無しさん:2008/12/14(日) 21:51:27
>>419
>>413
>どの道高低差や属性指定が必要になるからチップ分けは必須
(内容的には高低差情報のためのチップ情報?)
っていうから別に一緒じゃなくてもいいじゃん的なレスつけたんじゃん
そしたら
>>415(内容的にはチップに高低差情報を付ける?)
が返って来たから
アレアレ高低差情報のために必要なチップだったんじゃないの?
的な話になっちゃったんじゃん

っていうかそもそもチップと当たり、属性は別でいいじゃん

422 :デフォルトの名無しさん:2008/12/14(日) 21:51:59
間違い

X>>415
>>417

423 :デフォルトの名無しさん:2008/12/14(日) 21:52:53
顔真っ赤にしてかっこ悪い

424 :デフォルトの名無しさん:2008/12/14(日) 21:57:41
>>423
えー
チップと当たりなんていっしょにすると面倒なだけだぞホイ
っていいたいだけなのにー
っていうかチップなんて辞めろよw

425 :デフォルトの名無しさん:2008/12/14(日) 22:03:25
>>421
チップに高低差ごとの処理を埋め込む事で、細かい高さの切り替えが可能になる
高低差情報というのは、地面か屋根、0か1かのような情報だけじゃないんだよ
まあ確かに、橋か地面かという単純な構造であれば好きにしろという所だが
チップを使わずにジャンプ移動なんかが絡んでくると死にたくなると思うよ

で、さっきから言ってるんだが、お前はこの話がDirectXと無関係だと思わないのか?

426 :デフォルトの名無しさん:2008/12/14(日) 22:09:04
>>425
だからチップと関係ねーじゃん

427 :デフォルトの名無しさん:2008/12/14(日) 22:12:23
DirectXがチップと関係ないんだよ。アンダスタン?

428 :デフォルトの名無しさん:2008/12/14(日) 22:12:39
チップはあくまで描画情報だろ
あたりはあたりで作れよ
階層は階層で作れ
これらは別でいいだろ

たまたまいっしょだったらそれはそれでかまわん
ただ、別は別だろ
なんの関係もない
チップは正方形or長方形かもしれないけど
当たりは斜め25度かもしんねーぞw

429 :デフォルトの名無しさん:2008/12/14(日) 22:13:23
>>427
いいんだよ
おめーみたいにスレタイにこだわって自分でなんの話題も提供できない
つまらない君は黙ってろよ

430 :デフォルトの名無しさん:2008/12/14(日) 22:18:17
>>429以外はみんな黙っていた方がいい

431 :デフォルトの名無しさん:2008/12/14(日) 22:19:18
>>430
と、つまらない君が涙目で必死に反撃w

432 :デフォルトの名無しさん:2008/12/14(日) 22:20:46
>>428
一般的にマップチップというのはグラフィックと属性込みの区分けされた地形情報の事かと
絵を描くだけのグラフィッカー視点だと、チップに当てはめるグラフィックそのものをそう呼ぶこともあるけれど

433 :デフォルトの名無しさん:2008/12/14(日) 22:22:10
チップはどれくらいのサイズがいいかとう質問者に対して
チップは使うなというほどのつまらない君っていないよね

434 :デフォルトの名無しさん:2008/12/14(日) 22:23:03
ゲーム製作スレに逝ってくれ

435 :デフォルトの名無しさん:2008/12/14(日) 22:29:41
>>432
息するように嘘つくな
SFCだってチップと当たりと階層は乖離してんのにそんなわけねぇだろ
FCか?FCの話したいのか?

436 :デフォルトの名無しさん:2008/12/14(日) 22:30:41
さしずめ>>429=>>431は面白い君と言ったところか

437 :デフォルトの名無しさん:2008/12/14(日) 22:36:03
逆しか頭に浮かばないなんてイメージが貧困だね

438 :デフォルトの名無しさん:2008/12/14(日) 22:36:53
昨日といい、どうも土日は小学生が沸くみたいだな

439 :デフォルトの名無しさん:2008/12/14(日) 22:38:19
と中学生が申しておりますw

440 :デフォルトの名無しさん:2008/12/14(日) 22:38:59
スレ違いに手を出すとこういう惨めな結果に終わる
かわいそうな子

441 :デフォルトの名無しさん:2008/12/14(日) 22:39:55
てめぇらおっぱいでも揉んでろ

442 :デフォルトの名無しさん:2008/12/14(日) 22:43:41
どうでもいいけど、何も関係ないのか、乖離なのかはっきりしろよ

443 :デフォルトの名無しさん:2008/12/14(日) 22:45:17
>>442
好きなオッパイでいいぞ

444 :デフォルトの名無しさん:2008/12/14(日) 22:45:35
どうでもいいとか言っておきながらはっきりさせろとか、馬鹿なの?w

445 :デフォルトの名無しさん:2008/12/14(日) 22:47:01
どうでもいい、ほんとどうでもいい

446 :デフォルトの名無しさん:2008/12/14(日) 22:47:21
>>444
よく読め馬鹿
はっきりしたいのはオッパイだろ

447 :デフォルトの名無しさん:2008/12/14(日) 22:47:42
と、面白い君が涙目で必死に反撃w

448 :デフォルトの名無しさん:2008/12/14(日) 22:49:43
んー、面白い、かなぁ
正直どっちもつまらない君にしか見えないなぁ
本人は面白いと思ってるんだろうけど

449 :デフォルトの名無しさん:2008/12/14(日) 22:50:55
このスレッドはつまらない君、面白い君、おっぱい君の3人で構成されてます

450 :デフォルトの名無しさん:2008/12/14(日) 23:24:05
乖離って言葉を使ってみたかっただけだろ。許してやれよ

451 :デフォルトの名無しさん:2008/12/14(日) 23:42:14
>>450
そこにこだわって反撃したいみたいだけど
そんなの言葉尻とって遊んでるだけじゃん
FC時代のチップとの一致を考えると乖離って表現も間違いじゃないだろ
どっちにしても上げ足取りの範囲をでないのにその方向でレスを付け続けるところは頭悪そう

452 :デフォルトの名無しさん:2008/12/15(月) 00:00:23
顔真っ赤で誤魔化すのに必死なのはいいが、日本語勉強してから出直して来いよ

453 :デフォルトの名無しさん:2008/12/15(月) 00:06:26
どっちでもいいよ
つーかそもそもDirectXのスレだし
虹信者と惨事信者の宗教戦争がしたいならゲ作板いけよ

454 :デフォルトの名無しさん:2008/12/15(月) 00:07:54
許してやれと庇ってやってるのに何を必死になってるんだか


455 :デフォルトの名無しさん:2008/12/15(月) 00:13:35
FC、SFCはハードであって、その上で動作するソフトが一律に同じ方法を使っているとは限らない。

SFC用のソフトでも立体交差がないゲームはあるし、ソースを確認出来るわけでもない。
にも関わらず「してんのに」という断定が、知ったかぶり以外の何ものでもないんだが、
どれだけ恥ずかしい人生を歩んでいるんだ?

456 :デフォルトの名無しさん:2008/12/15(月) 00:23:16
>>455
言葉の意味は通じてるのにあえて違いを主張して
自分の正当性を主張しようなんて無駄なことは止めたほうがいいぜw

> 一般的にマップチップというのはグラフィックと属性込みの区分けされた地形情報の事かと
だいたいこれなんて厳密に言わなくても嘘ばっかじゃん
マップチップはマップチップだろ

457 :デフォルトの名無しさん:2008/12/15(月) 00:32:33
自分の言ってる事が矛盾している事を認めず、
意味は通じてるなどと思い込む。
いい加減、誰にも理解されてないという事実を認めたら?

458 :デフォルトの名無しさん:2008/12/15(月) 00:33:46
int even(int n)
int odd(int n)
これの意味と
使用方法がわかりません

459 :デフォルトの名無しさん:2008/12/15(月) 00:34:33
>>457
自分の嘘棚にあげてよくいうよね

460 :デフォルトの名無しさん:2008/12/15(月) 00:35:17
>>458
辞書を引けば?

461 :デフォルトの名無しさん:2008/12/15(月) 00:35:53
> 一般的にマップチップというのはグラフィックと属性込みの区分けされた地形情報の事かと
だいたいこれなんて厳密に言わなくても嘘ばっかじゃん
マップチップはマップチップだろ

462 :デフォルトの名無しさん:2008/12/15(月) 00:39:31
マップチップはマップチップだし、書いてる事はその通りだな

463 :デフォルトの名無しさん:2008/12/15(月) 00:43:10
>>460
c言語ってそんなもんなの?
ようわからんけど

用法とかはC言語初心者のサイトにあるやつの通りでいいの?


464 :デフォルトの名無しさん:2008/12/15(月) 00:46:00
別に誰かさんが揚げ足取られた事なんて誰も気にしてないんだから
言い訳してないでそろそろ巣に帰ってくれない?
ひょっとしてスレタイも読めないほど日本語に不自由してるのか?

465 :デフォルトの名無しさん:2008/12/15(月) 00:48:18
>>464
また、つまらない君か
お前がみんなの興味をひく話題をもってくればいいんだよ
相変わらず他力本願丸出しだなゆとってんじゃねーぞ糞餓鬼

466 :デフォルトの名無しさん:2008/12/15(月) 00:49:13
オマエモナー

467 :デフォルトの名無しさん:2008/12/15(月) 00:51:11
自分自身がつまらない君だという自覚もないらしい

468 :デフォルトの名無しさん:2008/12/15(月) 00:52:35
>>466
はぁ?なにいってるの?
わけわかんない
俺別にこの話題からかえなくていいし
自分がしたい話題あったら自分で提供できるし
話題変えたいのお前なんだろ?
何もねぇくせに文句だけは一丁前だな

469 :デフォルトの名無しさん:2008/12/15(月) 00:53:11
>>467
お前、クズだなぁ?違うか?

470 :デフォルトの名無しさん:2008/12/15(月) 00:54:20
なんか楽しそうだな

471 :デフォルトの名無しさん:2008/12/15(月) 00:56:53
そういえばソニー潰れそうだね

472 :デフォルトの名無しさん:2008/12/15(月) 00:59:26
int matrix[ROW][COL] = {

これってどういうことですか?

473 :デフォルトの名無しさん:2008/12/15(月) 01:02:26
そういうことです

474 :デフォルトの名無しさん:2008/12/15(月) 01:03:55
it辞書で調べたら 液晶ディスプレイの駆動方式ってでてきた

475 :デフォルトの名無しさん:2008/12/15(月) 01:04:41
c言語のサイトでサイト内検索してもでない
いったい みんなどこで学んだのよ?

476 :月曜怖い:2008/12/15(月) 01:05:48
もう寝ろ

477 :デフォルトの名無しさん:2008/12/15(月) 01:06:13
>>476
おわらせんとあかんの

478 :デフォルトの名無しさん:2008/12/15(月) 01:20:46
何この高レベルな質問が終わったとたんの
スレ違いでのくだらない応戦W
自分の知ってる単語KITa-
ってなるオタク君の合コンでの振る舞いっぽい
スレ違いは放置ですよ

479 :デフォルトの名無しさん:2008/12/15(月) 01:22:28
高レベルな質問?どこ?

480 :デフォルトの名無しさん:2008/12/15(月) 02:45:50
わさわさぶらぶら

481 :デフォルトの名無しさん:2008/12/15(月) 06:54:26
SSOAを解説してる日本語のサイトってありませんか?
英語わからないので困ってます

482 :デフォルトの名無しさん:2008/12/15(月) 08:48:51
SSOAってなんぞ?

483 :デフォルトの名無しさん:2008/12/15(月) 09:28:15
それが教えを請う態度か?
ですか、だろうが
大体質問者の質問文中の単語について質問するな

わからないなら黙って見とけ

484 :デフォルトの名無しさん:2008/12/15(月) 09:32:52
ttp://game.watch.impress.co.jp/docs/20080229/3df.htm
一応貼っといてやる

485 :デフォルトの名無しさん:2008/12/15(月) 10:26:22
>>483
タイプミスを指摘してるんじゃないの?
君の方がわかってないように見える。

486 :デフォルトの名無しさん:2008/12/15(月) 11:42:14
>>485空気よめってw
タイプミスぐらいわかってるよ
じゃなきゃページ出さないよ
知ったか君をつる為なんだよ
あ〜あまったく台無しだぜw

487 :デフォルトの名無しさん:2008/12/15(月) 12:17:51
顔真っ赤

488 :デフォルトの名無しさん:2008/12/15(月) 12:34:14
>わからないなら黙って見とけ
>わからないなら黙って見とけ
>わからないなら黙って見とけ
>わからないなら黙って見とけ

489 :デフォルトの名無しさん:2008/12/15(月) 13:19:56
俺には>>485が第三者を装った当人様に見える

490 :デフォルトの名無しさん:2008/12/15(月) 13:52:05
君の眼は節穴だということがわかりました。

491 :デフォルトの名無しさん:2008/12/15(月) 13:56:34
と本人が申しております

492 :デフォルトの名無しさん:2008/12/15(月) 13:58:29
恥ずかしさを紛らわすために工作認定か、恥ずかしいなw

493 :デフォルトの名無しさん:2008/12/15(月) 13:59:09
工作員必死杉www
本人より目立ってどうすんのwwww

494 :デフォルトの名無しさん:2008/12/15(月) 14:01:52
>>492
図星だったのかww

495 :デフォルトの名無しさん:2008/12/15(月) 14:22:07
つーか通りすがりに書いてみた第三者だけど、こうやってきめつけられると
すげー気分悪い。
謝るか黙るかしてくれ。

496 :デフォルトの名無しさん:2008/12/15(月) 14:31:18
お前が最初から黙っとけばよかったのに

497 :デフォルトの名無しさん:2008/12/15(月) 15:05:32
と質問内容が高度すぎて内容には
一切触れない、昼間のカキコ人達でした。
22時以降がこのスレの存在意義です。
平日昼間は絶対にまともな回答はありません、
またこの事に突っ込みありますよW
ないはずがありません
だって凄いパターンな暮らししてるから

498 :デフォルトの名無しさん:2008/12/15(月) 15:10:54
あなたも含めてね

499 :デフォルトの名無しさん:2008/12/15(月) 15:30:50
481です
OAじゃなくてAOでした
あとありがとうございます

500 :デフォルトの名無しさん:2008/12/15(月) 15:31:11
以上、全て俺の自演

501 :デフォルトの名無しさん:2008/12/15(月) 15:55:43
最低限のルールとして、質問者のふりして
終わらせようとするなよ

502 :デフォルトの名無しさん:2008/12/15(月) 16:05:15
これも俺の自演

503 :デフォルトの名無しさん:2008/12/15(月) 17:55:56
4x4のマトリクス行列を、クォータニオンに相互変換する計算はどのようにすればいいでしょうか?
D3DXを使えば一発ですが、原理的なものを知りたいのです

504 :デフォルトの名無しさん:2008/12/15(月) 18:23:44
数学板へ

505 :デフォルトの名無しさん:2008/12/15(月) 18:26:26
テクスチャに関しての質問なんですが。

3枚からなるドット絵のアニメーションを表現する時に

1枚ずつテクスチャとして読み込み→描画時にテクスチャ番号を指定して描画。
3枚を1つのファイルにまとめて読み込み→描画時にテクスチャUV座標を指定して描画。

速度としては前者の方が速いと思うんですがどうでしょうか?

506 :デフォルトの名無しさん:2008/12/15(月) 18:35:49
ケースバイケースだと思うが
それなら前者のが速いけど、それだけでやりたいことすべてが完結するわけじゃないんでしょ?


507 :デフォルトの名無しさん:2008/12/15(月) 19:31:36
DirectXは全くやったことないから15歳から始める〜買おうと思うんだが地雷?

508 :デフォルトの名無しさん:2008/12/15(月) 19:53:45
ここで書籍の話をすると荒れるからやめた方がいいよ
ネットは浅いとか言うくせに、そういう子に限って
あなたのお勧め本は?って聞くと逆ギレするだけで答えず逃げるから

509 :デフォルトの名無しさん:2008/12/15(月) 20:16:35
事情によりDirectXのバージョンアップをせざるを得なくなったんですが
それによりDirectInput をバージョンアップさせなくならないといけなくったんで
古いソースとDirectX 2008 を混合させたら winh.h 内でコンパイルエラーがでたんですけど
どう対処すればいいでしょうか?

510 :デフォルトの名無しさん:2008/12/15(月) 20:21:09
その内容で全てを把握できるエスパーの登場でも待てば?

511 :デフォルトの名無しさん:2008/12/15(月) 21:07:34
エスパーとしては、インクルードの順番を適切にすればいいと思うよ

512 :デフォルトの名無しさん:2008/12/15(月) 21:14:29
オススメ書籍は狩野さんの数学の本

513 :デフォルトの名無しさん:2008/12/15(月) 21:28:34
タスクシステムが載ってる本を買えばいいと思うよ(^.^)

514 :デフォルトの名無しさん:2008/12/15(月) 21:28:36
>>507
地雷。おすすめできない
インストールのしかたがのってるのに
ライブラリのリンクのしかたが載ってなかったり
不親切なところがおおいわりには中身がない

まずDirectX逆引き500を買って
理解できないところをネットやほかの書籍で補うのをお勧めする
ただしCとC++理解してるの前提

515 :デフォルトの名無しさん:2008/12/15(月) 21:45:25
>>513
unko

516 :デフォルトの名無しさん: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

517 :デフォルトの名無しさん:2008/12/15(月) 22:10:40
言語の話はスレ違い

518 :デフォルトの名無しさん:2008/12/15(月) 22:19:08
>>516

515

519 :デフォルトの名無しさん:2008/12/15(月) 23:25:13
10話見たけど面白いなー
タクの所に来た七海はタクの妄想で本物の七海は誘拐されて本当に右手切断されてたのか
右手が小包で携帯ごとベースに送られてくるシーンはyoutubeで見たけど妄想の右手と思ったらあれ本物か・・・・エグイな
あの後冷凍庫の右手がなくなるっていうのも妄想がタクの力で消滅したんじゃなくて希が回収していったのかw
タクが妄想すると将軍の寿命が減っていくってのには笑ったなwセイラたん妄想するたびに本物タクミが老いていく絵を想像したらシュールww
優愛のくだりは必要なかった
あとは本物のタクミが妄想タクを生み出した理由とニュージェネ事件の解説がほしいな(磔事件は妄想シンクロで実行犯がビシィさんに見えていただけかわからんし)

520 :516:2008/12/15(月) 23:40:33
スレ違いでしたか、すいませんでした orz

521 :デフォルトの名無しさん:2008/12/15(月) 23:45:42
ネタバレすんな氏ね

522 :デフォルトの名無しさん:2008/12/16(火) 08:20:12
最後の妄想で若い方の拓巳が実体になるから問題ないんだけどな。

523 :デフォルトの名無しさん:2008/12/16(火) 08:27:37
すみません。DirectX使用のプログラムを作っているのですが、
起動時にウイルスバスターが反応して
oooo.exe(ooooはファイル名)
が自動的にdllをダウンロードしようとしている(dllインジェクション)ので
変更を遮断しましたと出ます。
一晩ググったらDirectInputが原因なのではという結論に達し、
dinput.hをインクルードしないように直したのですが
ログを見るとDirectInputがしっかり動いていました。
直し方が悪いのかDirectInput以外にも原因があるのかもしれません。
とにかくウイルスバスターが反応しなくなればよいです。
どなたかご教授お願いします。
ツールはBCC Developer ウイルスバスター2008と2009の体験版で確認。
libとhファイルはここから拝借しました。
http://homepage2.nifty.com/natupaji/DxLib/index.html

524 :デフォルトの名無しさん:2008/12/16(火) 08:48:25
なぜバスターが検出してるのか、わかってんのか?

525 :デフォルトの名無しさん:2008/12/16(火) 09:44:08
>>523
そこのBBSに書けよ
キチガイ

526 :デフォルトの名無しさん:2008/12/16(火) 09:45:27
>>511
なおりすますたー
おるがとうございやした

527 :523:2008/12/16(火) 11:32:19
わからないから聞いてるのに酷い…
起動時にwindowsのシステム設定を勝手に変更してdllを
ダウンロードしようとしている。と出てます。
DirectInputは関係ないかも知れません。
VisualC++5.0でやってみても同じになりました。

528 :デフォルトの名無しさん:2008/12/16(火) 11:53:36
>>527
>oooo.exe(ooooはファイル名)
これをわからないと、返答のしようがないだろ?
自作なら、具体的にどんな処理を行うモジュールか書いてくれよ

>わからないから聞いてるのに酷い…
なら伏せずに全部書けよ。


まあ俺は以降、自己中なお前のレスはスルーするがなw

529 :523:2008/12/16(火) 12:41:02
ooooは自作プロジェクト名です。特に意味は無いです。

プログラム技術板に書き込むのは初めてでしたが
ここまで滅茶苦茶言われるとは…もう来ません。


530 :デフォルトの名無しさん:2008/12/16(火) 13:02:43
ウィルスバスターをアンインストールすればいい

531 :デフォルトの名無しさん:2008/12/16(火) 14:17:13
ここ数日荒れ気味なんだ
運が悪かったな

532 :デフォルトの名無しさん:2008/12/16(火) 15:05:59
例え荒れて無くても
>>523見る限りじゃ、エスパーくらいしか回答でないと思うぞ

533 :デフォルトの名無しさん:2008/12/16(火) 16:09:04
DirectXプログラムとは直接関係ないけど、複数台のUSBカメラをキャプ
チャしたい場合に、同じルートハブの下に繋がっているUSBカメラを同時
に使えないのは普通なん?

具体的にはフィルタは接続できるけど、ICaptureGraphBuilder2::Render
Stream()が失敗する。

おそらくUSBの帯域制限を考慮してそうなっているのだろうが、ネット検索
でそんな情報を見つけて、試しに手持ちのUSB-I/Fカード(PCI)を挿して、
片方のUSBカメラをそっちに繋いでみたら動くようになった。

ちなみに使っているUSBカメラは2台とも、バッファローコクヨの「BSW13K05」
シリーズってやつ。値段が安い割りに画質がよく、専用ドライバも不要。

534 :デフォルトの名無しさん:2008/12/16(火) 16:11:45
全く関係ない事書くなボケ

535 :デフォルトの名無しさん:2008/12/16(火) 17:12:58
私と同じ種類のPC(x3台)では正常に動作しているソフトがあります。
しかし、別の種類のPC(x2台)ではワールドマトリクスが無視され、
(頂点座標(ローカル座標)は原点基準ですが正常に表示されています。)
また、更に別の種類のPC(x1台)ではワールドマトリクスは正常なのですが、
画像(テクスチャ)が壊れて表示されてしまいました。
このような場合どの辺の処理を調べてみるべきなのでしょうか?
手がかりになりそうなことなどはありませんか?
環境はどれも XP + DX9.0c です。
開発環境は XP + VC++2008EE + DXSDK(March 2008) です。

536 :デフォルトの名無しさん:2008/12/16(火) 17:22:37
ビデオカードは?
DevCaps一通り見てみるといいかもね。

537 :デフォルトの名無しさん:2008/12/16(火) 17:42:12
>>523
向こうであまり暴走すんなよ
お前だけの質問掲示板じゃないんだ



538 :535:2008/12/16(火) 17:45:46
>>536
ありがとうございます。調べてみます。

539 :535:2008/12/16(火) 19:12:28
>>536
関係ありそうな箇所を調べてみました。
ほとんどの値は正常に動いたマシンの方が
ロースペックということを表していたのですが、
以下の値が気になりました。
ただ、直接は関係なさそうな気がします。

正常表示マシンとマトリクス無視マシンの比較
DeclTypes
正常 0x000000FF
非常 0x0000030F

正常表示マシンとテクスチャ壊れマシンの比較
TextureAddressCaps
正常 D3DPTADDRESSCAPS_BORDER 有
非常 D3DPTADDRESSCAPS_BORDER 無
MaxPShaderInstructionsExecuted
正常 0
非常 0xFFFFFFFF ( -1? )

あと正常表示マシン同士の比較でも、
(グラフィックボード含めて全て同じ構成です。)
私のマシンだけ DevCaps に D3DDEVCAPS_NPATCHES が立っていました。
なぜなのでしょうか?

540 :535:2008/12/16(火) 19:18:29
FVF は D3DFVF_XYZW | D3DFVF_DIFFUSE | D3DFVF_TEX1 で
DrawPrimitiveUP() にて描画しているのですが、
その辺が関係しているのでしょうか?

541 :デフォルトの名無しさん:2008/12/16(火) 19:27:19
ドライバ

542 :デフォルトの名無しさん:2008/12/16(火) 19:44:09
D3DFVF_XYZW じゃなくて D3DFVF_XYZRHW の間違いじゃないかしら

543 :デフォルトの名無しさん:2008/12/16(火) 19:45:54
ベクトルのWとはなんですか?

544 :デフォルトの名無しさん:2008/12/16(火) 19:47:52
行列のwならともかくベクトルのwは知らんなぁ
4次元ゲームでもつくってるの?

545 :デフォルトの名無しさん:2008/12/16(火) 19:50:53
とりあえずD3DFVF_XYZW をD3DFVF_XYZ にしてみるといいわ

546 :デフォルトの名無しさん:2008/12/16(火) 20:02:37
>>544
いや同次座標は普通に使うだろ。

547 :535:2008/12/16(火) 20:16:16
>>545
ありがとうございます。
wを消したらうまくいきました。
画像が壊れるマシンでのテストは
まだできていませんが
ワールドマトリクスが無視されることは回避できました。

>>541
DevCaps の件ですか?
全てリース品なのでドライバ関係ではないと思います。

>>542
D3DFVF_XYZRHW は変換済み座標の定義だったかと思います。

>>543
正規化したときなどにスカラーが入っているものだと
単純に考えています。
実際はもっと深い意味があるのでしょうが・・・。

>>544
普段ゲームを作っているので
wがあるのがデフォルトなのです。

548 :デフォルトの名無しさん:2008/12/16(火) 20:24:28
>>546
どうやって?

549 :デフォルトの名無しさん:2008/12/16(火) 20:40:03
ふつーにあるやん

ttp://msdn.microsoft.com/ja-jp/library/microsoft.windowsmobile.directx.vector4.aspx

550 :デフォルトの名無しさん:2008/12/16(火) 20:47:15
頂点バッファをロックして、SSEで加工したいんだけど、
SSEって128アライメント制約があるよね?
ロックして得られるバッファは、アライメントはどうなってるか
わかりますか?

551 :デフォルトの名無しさん:2008/12/16(火) 21:21:07
>>549
だから?

552 :550:2008/12/16(火) 21:21:12
昔のBBXのログにそれっぽいことが書いてあった。
アライメントが合ってない端のみ、別ルーチンで対応するのがよさそう。

553 :デフォルトの名無しさん:2008/12/16(火) 22:28:30
>行列のwならともかくベクトルのwは知らんなぁ

ttp://msdn.microsoft.com/ja-jp/library/microsoft.windowsmobile.directx.vector4_members.aspx

Vector4
4 次元 (4-D) 空間でベクタを記述および操作します。

フィールド
W 4-D ベクタの w 構成要素を表します。

554 :デフォルトの名無しさん:2008/12/16(火) 22:39:47
VECTOR4って
単に行列との親和性をあげるために便宜的にあるものであって
ベクトルそのものをあらわしてるものじゃないんじゃね?

555 :デフォルトの名無しさん:2008/12/16(火) 22:54:08
ベクトル演算に便利だからある

556 :デフォルトの名無しさん:2008/12/16(火) 22:56:31
ベクトルの話でベクトル演算とか言うと分かり辛いな。
SIMD と言った方が。

557 :デフォルトの名無しさん:2008/12/16(火) 23:31:34
お前ら高校生ぐらい?

558 :デフォルトの名無しさん:2008/12/17(水) 02:23:36
学校でC#を習っているのですがDirectXでゲーム製作をするならC++を勉強してそちらで作ったほうがいいですか?

559 :デフォルトの名無しさん:2008/12/17(水) 02:26:17
C#ってまだあったんだ

560 :デフォルトの名無しさん:2008/12/17(水) 02:48:26
XNAでいいんじゃないの

561 :デフォルトの名無しさん:2008/12/17(水) 07:37:41
ほんとここって
ただの罵り合いのためだけのスレだよな

562 :デフォルトの名無しさん:2008/12/17(水) 08:40:51
いまどきC#使わないでツール作る会社なんてねーけどな。

563 :デフォルトの名無しさん:2008/12/17(水) 08:50:01
>>562
企業に忍び込んで、日々ソースコードを収集しているスパイか、
ただの知ったかかの二択。

564 :デフォルトの名無しさん:2008/12/17(水) 09:08:06
つーか誰もツールのことなんか聞いてねー。
C#厨必死すぎw

565 :デフォルトの名無しさん:2008/12/17(水) 13:09:20
>>563
ずいぶん極端な2択だな
まあ、>>562が知ったかな事だけは確かだが

566 :デフォルトの名無しさん:2008/12/17(水) 16:24:07
まとめるとC#でもかまわないが質問は受け付けてくれない人がおおいってとこか

567 :デフォルトの名無しさん:2008/12/17(水) 17:14:58
まあスレタイからそうだしな

568 :デフォルトの名無しさん:2008/12/17(水) 17:30:42
今も昔もC#なんてつかわねーよ
物好きな変な人は使うかも程度

569 :デフォルトの名無しさん:2008/12/17(水) 17:56:54
gccで正式サポするようになったら俺は使う

570 :デフォルトの名無しさん:2008/12/17(水) 20:13:45
実機用のcのコードとツール用のc♯のコードが必要になったりして普通にウザイ
自社ライブラリも普通に使えない
実機と違う言語なんか使う奴は能無し

571 :デフォルトの名無しさん:2008/12/17(水) 20:18:33
C++とC#とアセンブラの混合プロジェクトを開発している有能な俺に謝れ!

572 :デフォルトの名無しさん:2008/12/17(水) 20:55:10
今時のコンシューマーはC++が主流だろ

573 :デフォルトの名無しさん:2008/12/17(水) 22:29:29
C++主流なのは実機の話だろ。

ツールのGUIなんていまさらWin32でなんてやってらんねーよ。
まさかMFCでも使ってるのか?

574 :デフォルトの名無しさん:2008/12/17(水) 22:32:11
MFC使ってる
なにか問題でも?

575 :デフォルトの名無しさん:2008/12/17(水) 22:39:58
.NETだろ。常識的に考えて。

576 :デフォルトの名無しさん:2008/12/17(水) 23:37:18
>>558
C#&XNAはC++&DirectX経験者ならおすすめできるが
何も知らないやつが1から手を出すというならお勧めできない
XNAで最初から用意されてない機能を実装するのは経験がないとかなりつらいかと
海外みたいに本やら情報やらがたくさんあるわけでもないし、情報も希薄
C#自体は生産性がすごいいいので残念だと思う

そして何より問題なのはランタイムをインストールしてもらうのがすごい大変
.netフレームワーク XNAフレームワーク DirectXランタイムのインストール
これらを全部簡単にインストールできるインストーラとか提供されてないしね
かたやC++でつくればDirectXランタイムだけで済む
ぶっちゃけ配布のめんどくささ考えると
C#とXNAでゲーム作るよりC++とDirectXで作ったほうがましかとすら思える



577 :デフォルトの名無しさん:2008/12/18(木) 00:00:46
インストールシールド使えばランタイムも全部入れてくれるけどなー

578 :デフォルトの名無しさん:2008/12/18(木) 00:25:45
アニメーション関連ツール以外は別にDirectXなんていらんわ

579 :デフォルトの名無しさん:2008/12/18(木) 01:23:48
流れ切って申し訳ないんですが質問させてください。

テクスチャーのαチャンネルそのものを操作する方法というのはないのでしょうか?
例えばレンダーターゲットに指定してモノクロ画像をα値として加算or減算するといった…。
やりたいことはテクスチャーの一部に(動的に?)穴を開けることです。


580 :デフォルトの名無しさん:2008/12/18(木) 01:23:56
XNA3.0は必須コンポーネントとして選択できるようになったから
setup.exe方式のインストーラを作るのはめっさ簡単になったぜ

581 :デフォルトの名無しさん:2008/12/18(木) 01:55:32
>>579
ピクセルシェーダーで簡単にできるだろ

582 :デフォルトの名無しさん:2008/12/18(木) 02:03:52
なんだ?ブッシュに靴を投げて穴を開けるゲームでも作るのか?

583 :デフォルトの名無しさん:2008/12/18(木) 02:11:42
>>580
3.0出てたのか 知らんかった
3バージョン目にしてようやくインストーラ作れるようになったのね
アニメーション周りが充実したのならXNAに戻ろかなとオモタ

584 :デフォルトの名無しさん: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 ,/
      .....("_)("_゙)      └‐'´ .........厶).......



585 :デフォルトの名無しさん:2008/12/18(木) 07:58:46
c♯なんかで生産がどうのこうの言ってる奴は元の生産量が低すぎる

586 :デフォルトの名無しさん:2008/12/18(木) 08:04:58
使ったことのない人の典型的な意見ですねw

587 :デフォルトの名無しさん:2008/12/18(木) 08:11:55
C言語全盛の時代にC++を馬鹿にする、
俺にもそんな時期がありました。

588 :デフォルトの名無しさん:2008/12/18(木) 08:41:14
C言語全盛っていつだよ

589 :デフォルトの名無しさん:2008/12/18(木) 09:29:46
>>587-588
ワロタw


590 :デフォルトの名無しさん:2008/12/18(木) 17:21:00
ラインリストを描画しようとしているのですが、
色が反映されていない上に
他のポリゴンを描画すると表示されなくなります。
描画順を変えても同じ結果でした。
関連する設定などはありますか?

591 :デフォルトの名無しさん:2008/12/18(木) 19:18:15
エスパーの召喚したいのでなければソースうp

592 :590:2008/12/18(木) 19:21:07
すみません。自己解決しました。
SetTexture( 0, NULL ) で表示されるようになりました。
ラインにもテクスチャが貼られるのですね。

>>591
どこのソースをアップすべきかわからなかったのです。
描画されるパターンがある以上
描画部分には問題ないと考えたので・・・

593 :デフォルトの名無しさん:2008/12/18(木) 19:45:30
まあ、解決方法をレスしただけマシかな

594 :デフォルトの名無しさん:2008/12/18(木) 20:08:11
>>585
ワロタ

595 :デフォルトの名無しさん:2008/12/18(木) 20:42:02
d3d9でデバイスの再作成やリセットをせずにバックバッファのサイズを変更する方法はありますか?

596 :デフォルトの名無しさん:2008/12/18(木) 21:00:05
>>595
追加SwapChainにのみ描画するようにすれば、SwapChainの再作成で済む。
もっとも今はデスクトップサイズのバックバッファを使いまわす方法が推奨されているようだが。

ちなみにフルスクリーンは無理。


597 :デフォルトの名無しさん:2008/12/18(木) 21:10:34
>596
スワップチェーンというのを意識したことなかったのでこれから調べてみます
ありがとうございました

598 :デフォルトの名無しさん:2008/12/18(木) 21:16:59
Xファイルから読み込んだメッシュをeffectで挟んでdrawsubsetする方法で描画しようとすると消えてしまうんですが、エスパーしてもらえませんか?

599 :デフォルトの名無しさん:2008/12/18(木) 21:31:13
1、変換行列が頂点シェーダに正しく伝わってない
2、伝わってるが頂点シェーダ内の頂点変換が間違ってる
3、頂点シェーダの計算結果が正しくピクセルシェーダに伝わってない
4、そもそもピクセルシェーダで色を出力してない
5、テクニックがおかしい、もしくは正しいテクニックを指定してない
6、Effect->BeginはしているがEffect->BeginPassしてない
7、BeginPassのあとにEffect->Set***系のメソッドを呼んでいるが
Effect->CommitChangesしてないので正しく反映されない
8、つか、いくらなんでもエスパーにも限界があるぞ

600 :デフォルトの名無しさん:2008/12/18(木) 21:35:14
ありがとうございます
もう死にそうです

601 :デフォルトの名無しさん:2008/12/18(木) 22:15:51
今やっとできました軽く3日掛けたんですが・・・;;
D3DXMatrixRotationXを傲慢にも飛ばして書いてたら何故か描画されないことがわかりました
どこかで自分と平行になるから見えないというのは見たことがあったのですが、2Dの板ではないので関係ないと思っていました
何故これが無いと見えないか軽く説明できればしていただきたい;;

602 :デフォルトの名無しさん:2008/12/18(木) 23:20:12
なにも値のはいってないワールド行列で変換かけてたってオチじゃないよね?

603 :デフォルトの名無しさん:2008/12/18(木) 23:35:01
かもしれません

604 :579:2008/12/19(金) 00:45:01
>>581
SrcBlendをZERO、DestBlendをSRCALPHAにしてテクスチャーに描けばいいんですね。
お騒がせしました。

605 :デフォルトの名無しさん:2008/12/19(金) 10:14:33
本にこういう関数があったのですが
別々の扱いでいいのでしょうか?

inline void InitPos(D3DXVECTOR3 &m_pos) { m_initpos = m_pos; }
inline D3DXVECTOR3 *InitPos() { return &m_initpos; }

606 :デフォルトの名無しさん:2008/12/19(金) 10:18:00
スレ違いと説明不足


607 :デフォルトの名無しさん:2008/12/19(金) 10:20:49
>>606 ごめんなさい

もう少し質問の仕方考えてきます

608 :デフォルトの名無しさん:2008/12/19(金) 10:25:16
DirectXと関係無い部分だから質問の仕方を考えないで言語の勉強汁

609 :デフォルトの名無しさん:2008/12/19(金) 10:32:36
>別々の扱い
ってのはInitPosとInitPosが同じ名前だって事だろうね
inlineってのもたぶん、わからないだろう
関数のオーバーロードもわからないだろう



610 :デフォルトの名無しさん:2008/12/19(金) 10:34:30
>>608
あなたは人との接し方を勉強した方がいいですよ

611 :デフォルトの名無しさん:2008/12/19(金) 10:41:25
人との接し方を勉強した結果がそれならまるで無駄だな

612 :デフォルトの名無しさん:2008/12/19(金) 10:44:23
それってどれ?

613 :デフォルトの名無しさん:2008/12/19(金) 11:06:41
俺は>>606>>609だけど
>>608の内容でもいいと思うけどね
directx以外の部分って指摘してるし
質問の仕方考えるよりも言語の基礎のHPでも見たほうが
早いし、理解できて質問内容は解決できると思うしね。

614 :デフォルトの名無しさん:2008/12/19(金) 11:52:23
ゲームプログラマと業務プログラマってどっちが強いの?

615 :デフォルトの名無しさん:2008/12/19(金) 11:58:21
スレと全く関係ない質問を始める>>614は、脳に障害があるのでまずは病院へ。

616 :デフォルトの名無しさん:2008/12/19(金) 11:59:36
>>615

大人げないね、君。

617 :デフォルトの名無しさん:2008/12/19(金) 12:14:23
そもそも「強い」の定義がわからんなぁ
給料?それとも再就職?

618 :デフォルトの名無しさん:2008/12/19(金) 12:17:35
プログラミングスキルです

619 :デフォルトの名無しさん:2008/12/19(金) 12:29:00
>>615
もう少しさ、言い回し方ってあるじゃん

”脳が”とか、”病院”とか誹謗する言葉使ってレスするのは止めようよ。
スレが荒れるだけじゃん

620 :デフォルトの名無しさん:2008/12/19(金) 12:40:55
スキルはピンキリなので単純に比較しようがない
ただし互換性という点では
ゲーム→業務への転職はあまり問題ないが
業務→ゲームへの転職はうまくいかないことが多い
これは技術的な問題ではなく
仕様書主導のコーディングから流動的でアバウトな
ゲーム業界特有のなぁなぁ進行になじめないことが多いから

621 :デフォルトの名無しさん:2008/12/19(金) 12:54:00
なんでスレ違いな質問に答えるんだよ
技術的な質問ではスレ違いとか言っといて
すれ違いでも自分の知識ひけらかしたいのは答えるって
それがスレ悪くなってる原因だって気づけ


622 :デフォルトの名無しさん:2008/12/19(金) 13:05:12
不満があるならシカトすればい話だろ

ほんとガキが多いなここは。

623 :デフォルトの名無しさん:2008/12/19(金) 13:11:19
そう言ってる本人がレスしてるからな。
馬鹿の見本だw

624 :デフォルトの名無しさん:2008/12/19(金) 13:16:22
そのガキのレス読むお前はなんだ?
ガキ以下か?








以下だなw

625 :デフォルトの名無しさん:2008/12/19(金) 13:20:19
-----------もう言い合いは終わり大人げないですよ-----------

626 :デフォルトの名無しさん:2008/12/19(金) 13:20:37
ガキ以下か?
この質問はスレ違いです!キリッ!AA

627 :デフォルトの名無しさん:2008/12/19(金) 13:38:33
もう少し心に余裕を持とうぜ
年末進行で忙しくて苛ついてるのか?

628 :デフォルトの名無しさん:2008/12/19(金) 14:36:44
怒らないでマジレスしてほしいんだけど
なんでこんな時間に書き込みできるわけ?
普通の人なら学校や会社があるはずなんだけど
このこと知った親は悲しむぞ?
現実見ようぜ

ってコピペあるけどム板マ板の場合は仕事中に書き込みしてるんだよな
それで昼間は荒れるんだろう

629 :デフォルトの名無しさん:2008/12/19(金) 14:38:41
ねえねえ、なんでちゃんと答えないのにレス返すの?ストレス溜まってるの?ねえねえ?

630 :デフォルトの名無しさん:2008/12/19(金) 14:49:47
>ちゃんと答えないのにレス返すの?
どれに?


631 :デフォルトの名無しさん:2008/12/19(金) 14:57:10
仕事中だけど
リビルド中とかにお茶のみながらここみたりしてるぜ

632 :デフォルトの名無しさん:2008/12/19(金) 15:05:46
いま、出社しましたがなにか?

633 :デフォルトの名無しさん:2008/12/19(金) 15:13:26
ニートだろうが社会人だろうが
関係ない書き込みの時点でこのスレには不要











ハイハイ俺の書き込みもですね

634 :デフォルトの名無しさん:2008/12/19(金) 15:40:35
>>628
>現実見ようぜ
実際現実をみれば、
DirectXを習得しようとする社会人だって当然居ると思うんだ。
すぐニートや引きこもりを連想する人こそ、現実を見なきゃいけない。

>>633
わかってるなら黙っていようよ

635 :デフォルトの名無しさん:2008/12/19(金) 17:25:37
>>634
いやそういう意味じゃないだろ^^;

636 :デフォルトの名無しさん:2008/12/19(金) 17:39:36
アニメーションの繋ぎ変えについて、何コマ目から何コマ目にジャンプして繰り返したりといったことをやりたいのですが、どういった方法があるのでしょうか?お教え下さい。

637 :デフォルトの名無しさん:2008/12/19(金) 17:42:13
表示するモノを切り替えるだけ
それ以上でもそれ以下でもない

638 :デフォルトの名無しさん:2008/12/19(金) 18:00:07
ゲームだとでこぼこの地形とかあるいたりするけど、
あれってどういう3Dモデルなの?キャラとかならひとつのxファイルなのはわかるんだが、でかい地形はどう分けてるのか


639 :デフォルトの名無しさん:2008/12/19(金) 18:05:59
キャラの元データがX-Fileとは限らないのに、分かるとはいったいどういう事なのか、
まずはそれを明確にしろ。

640 :デフォルトの名無しさん:2008/12/19(金) 18:06:38
        ,.-'      ,r''  _,,.. - 、  ` 、
       ,.r'/// /   ,.-'      `' 、. \
     /       ,r'  ,r'  _     _  \ '、
.    / /////  ,'   ,'  , 三シ   ヾ三  ヽ ',
    i     ,.ァ   .i    .._     _,,..    ',. ',
.     |  ,.r '"  |.   {  <でiンヽ  ;'i"ィでiン   ', ',        
    | .,.r'    |   !   、 ‐' /  !、 ーシ'  i .i
 ̄| ̄UUUU ̄ ̄| ̄ ̄ ̄ ̄ ̄| ̄ ̄ ̄ ̄ ̄| ̄UUUU ̄ ̄| ̄ ̄ ̄ ̄ ̄
 ̄ ̄ ̄ ̄| ̄ ̄ ̄ ̄ ̄| ̄ ̄ ̄ ̄ ̄| ̄ ̄ ̄ ̄ ̄| ̄ ̄ ̄ ̄ ̄| ̄ ̄ ̄
 ̄| ̄ ̄ ̄ ̄ ̄| ̄ ̄ ̄ ̄ ̄| ̄ ̄ ̄ ̄ ̄| ̄ ̄ ̄ ̄ ̄| ̄ ̄ ̄ ̄ ̄| ̄
 ̄ ̄ ̄ ̄| ̄ ̄ ̄ ̄ ̄| ̄ ̄ ̄ ̄ ̄| ̄ ̄ ̄ ̄ ̄| ̄ ̄ ̄ ̄ ̄| ̄ ̄ ̄
 ̄| ̄ ̄ ̄ ̄ ̄| ̄ ̄ ̄ ̄ ̄| ̄ ̄ ̄ ̄ ̄| ̄ ̄ ̄ ̄ ̄| ̄ ̄ ̄ ̄ ̄| ̄
 ̄ ̄ ̄ ̄| ̄ ̄ ̄ ̄ ̄| ̄ ̄ ̄ ̄ ̄| ̄ ̄ ̄ ̄ ̄| ̄ ̄ ̄ ̄ ̄| ̄ ̄ ̄
 ̄| ̄ ̄ ̄ ̄ ̄| ̄ ̄ ̄ ̄ ̄| ̄ ̄ ̄ ̄ ̄| ̄ ̄ ̄ ̄ ̄| ̄ ̄ ̄ ̄ ̄| ̄


641 :デフォルトの名無しさん:2008/12/19(金) 20:54:19
カオスの数式とか

642 :デフォルトの名無しさん:2008/12/19(金) 21:37:15
>>638
2Dのマップチップに標高データつけて3Dにしただけと思って間違いないと思う

643 :デフォルトの名無しさん:2008/12/19(金) 22:51:35
フラクタル

644 :デフォルトの名無しさん:2008/12/20(土) 05:16:30
>>638
Xfileでもなんでもいい
頂点情報だけりようすればいい

645 :デフォルトの名無しさん:2008/12/20(土) 10:09:59
平らな地面に山とか池とか置いてゆくのね

646 :デフォルトの名無しさん:2008/12/20(土) 10:14:30
>>642は間違いだと思う
>>645それはちがう

647 :デフォルトの名無しさん:2008/12/20(土) 12:25:21
>>644面情報もだろバカ

648 :デフォルトの名無しさん:2008/12/20(土) 13:12:00
>>646
間違いじゃないだろ
当たりは2Dマップチップ式配置に頂点ごとに
標高データおいただけでも十分表現可能だろ
標高データを表示モデルと一致させたい場合は地面のモデルにレイ飛ばしてつくれば
ほぼ完全一致になるし判定も平面の方程式一発でできるし楽だぞ
某社のRPGの地形当たりは実際にこれで作ってる

Yを標高データとすると上からみたらXZに関しては2Dと変わらない処理でできるし
お手軽、抜ける心配も皆無

649 :デフォルトの名無しさん:2008/12/20(土) 13:32:03
マップチップ式配置にするメリットがないと思うけど
配置時にチップにするってのは共通項があるからでしょ?
この場合、共通項がないと思うんだけど
ttp://jp.youtube.com/watch?v=Ert0NZTCRbE
こういうのを言ってるんじゃないの?

650 :デフォルトの名無しさん:2008/12/20(土) 13:41:32
まだやってんの?

651 :デフォルトの名無しさん:2008/12/20(土) 16:57:04
デザイナーが当たり用チップを置いてく方式ももちろんありだし、
そうじゃなくてもマス目単位で当たり判定をするのは同じだけどな

後者の場合、デザイナーが作った大きなマップモデルのポリゴンを
プログラムでマス目単位に区分けする必要がある
この方式だとポリゴンの切れ目なんかで問題を起こしやすいから
前者のメリットは十分あるよ

652 :デフォルトの名無しさん:2008/12/20(土) 19:00:34
>>649
地形部分は2D式マップじゃね?
標高が自由に変えられるところでそれな希ガス

653 :デフォルトの名無しさん:2008/12/20(土) 20:39:27
何言ってんのこの人

654 :デフォルトの名無しさん:2008/12/20(土) 20:47:17
>>653
想像力無さ杉w

でも格子状のとは違う気がするけどね
伸ばしたときにポリゴンっぽくガクガクしないし

655 :デフォルトの名無しさん:2008/12/20(土) 20:50:11
あーでもポリ数上げればそうでもないか

656 :デフォルトの名無しさん:2008/12/20(土) 20:54:03
エリカ例えてあげる!
エリカが夜空に輝く満天のお星様なら、あなたは味噌汁のダシに使うにぼし様
エリカが優雅な白鳥なら、貴女はゴミ箱を漁るカラス。
エリカが輝くダイヤモンドなら、貴女はそうね、道端で蹴られるただの小石。
エリカがフランス料理なら、貴女はそうね、ねこまんま。
エリカ例えてあげる!エリカがビーナスなら、あなたはただのナス。

657 :デフォルトの名無しさん:2008/12/20(土) 21:29:19
     ∧ __∧
    ( ´・ω・`)
   .ノ^  y ヽ-,
   ヽ,,ノ===lヽノ
    /   l |
"""~"''"'"""''~"'""~"""~"'""''
ダメでござる・・・もう我慢の限界にて候・・・なんでござろうかこの糞活劇・・・・

もはや、本職を営んでいる拙者からすると馬鹿馬鹿しくて観ていられないでござる・・・
浪人や学童の方々は楽しめるかも知れもうさねど、拙者には無理でござる・・・

かような訳で中座させていただきたく あとは浪人や学童の方々でお楽しみあれ、御免

658 :デフォルトの名無しさん:2008/12/20(土) 21:38:28
このバージョン初めて見た。

659 :デフォルトの名無しさん:2008/12/20(土) 21:46:04
>>657
初心者スレなんかくるからだろw

660 :デフォルトの名無しさん:2008/12/21(日) 13:16:02
>>656
まだこんな馬鹿がいるのか

661 :デフォルトの名無しさん:2008/12/21(日) 17:42:33
なつかしーな おい

662 :デフォルトの名無しさん:2008/12/23(火) 00:17:17
ウインドウモードで隠れてるのにWM_ERASEBKGNDで灰色塗ってるのな

663 :デフォルトの名無しさん:2008/12/23(火) 08:33:05
隠れてるのにていわれても、何がかがわかんね

664 :デフォルトの名無しさん:2008/12/23(火) 09:29:02
ここは何のスレでしょー

665 :デフォルトの名無しさん:2008/12/23(火) 09:30:40

WndProcでWM_ERASEBKGND無視すりゃええだけだろ

666 :デフォルトの名無しさん:2008/12/23(火) 09:36:25
オーバーレイで隠れるのにどうでもいいだろ

667 :デフォルトの名無しさん:2008/12/23(火) 09:38:39
MOTTAINAI

668 :デフォルトの名無しさん:2008/12/23(火) 09:48:33
>>664
DirectInputかもしれないのに、ウインドウモードで
隠れてるのにていわれても、何がかがわかんね

669 :デフォルトの名無しさん:2008/12/23(火) 16:33:59
なんでInputやSoundでWM_ERASEBKGNDガ隠れるんだw

670 :デフォルトの名無しさん:2008/12/23(火) 16:45:00
アニメーションの話からマップエディタの話になって、
いつから背景の話になったのか馬鹿な俺にはわからない/(^o^)\

671 :デフォルトの名無しさん:2008/12/23(火) 17:22:02
ブラシでクライアント領域塗りつぶす時間なんかたかが知れてるだろ

672 :デフォルトの名無しさん:2008/12/23(火) 17:55:47
たかが知れてるだろ。の積み重ねでソフトはどんどん重くなる。

673 :デフォルトの名無しさん:2008/12/23(火) 21:38:06
http://www.shu-ks.com/off%20meeting/0ithotei.html

まぢきち

674 :デフォルトの名無しさん:2008/12/23(火) 21:42:17
>>673
これは何の為にコンデンサ繋げてタイル貼ってるんだ?

675 :デフォルトの名無しさん: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

676 :デフォルトの名無しさん:2008/12/23(火) 22:46:28
まず本人に聞くべきじゃないのか・・・

677 :デフォルトの名無しさん:2008/12/23(火) 22:58:42
id3dxeffect pass 廃止

678 :デフォルトの名無しさん: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();
}



679 :デフォルトの名無しさん:2008/12/23(火) 23:07:46
ありがとうございます。
サンプルとして載せているサイトがどれもPass使用で困っていたので助かりました。

680 :デフォルトの名無しさん:2008/12/24(水) 00:12:59
質問です。DirectX 9.0cなのですが、フォントの表示で苦戦しています。
D3DXCreateFontIndirect()で作成したフォントを
ID3DXFont::DrawText()を使って表示しているのですが、

サイズの違うフォントを描画するためにD3DXCreateFontIndirect()を呼び出す度に
大幅に処理時間がかかってしまい、まともなスピードで動きません。

何か別の、高速なフォントの表示方法はないでしょうか?

681 :デフォルトの名無しさん:2008/12/24(水) 00:22:52
ググれカス

682 :デフォルトの名無しさん:2008/12/24(水) 00:30:21
テクスチャにフォントのイメージを転送するだけ

683 :デフォルトの名無しさん:2008/12/24(水) 00:32:49
>>681
私なりにぐぐって、テクスチャを作って貼り付ける方法というのもあったのですが、
文字入力があるゲームという性質上、文字自体が不特定ですので微妙です。
もし参考サイトなどご存知でしたらよろしくお願いします。

684 :デフォルトの名無しさん:2008/12/24(水) 00:35:14
全部の文字を作ればいいじゃん。
それこそ全部の文字のファイルに吐き出すプログラムでも作って。

685 :デフォルトの名無しさん:2008/12/24(水) 00:42:36
>>684
それだと文字テクスチャだけでかなりの容量が必要になると思うのですが
それしか方法はないんでしょうか?

686 :デフォルトの名無しさん:2008/12/24(水) 00:46:26
APIを使ってフォントのイメージを拾えばいいだけ
文字を作るとか、どれだけ頭が悪いんだろう

687 :デフォルトの名無しさん:2008/12/24(水) 00:47:27
>>686
2行目は要りませんね、謝ってください

688 :デフォルトの名無しさん:2008/12/24(水) 00:48:04
http://pc11.2ch.net/test/read.cgi/gamedev/1205306118/687

689 :デフォルトの名無しさん:2008/12/24(水) 00:50:44
参考
http://marupeke296.com/DXG_Font.html

690 :デフォルトの名無しさん:2008/12/24(水) 00:51:56
って、マルチかい

691 :デフォルトの名無しさん:2008/12/24(水) 00:54:03
俺はマルチに関しては許容
もう他の掲示板とか見てない

692 :デフォルトの名無しさん:2008/12/24(水) 00:59:31
自演乙

693 :デフォルトの名無しさん:2008/12/24(水) 01:10:52
>>686
すいません、もうちょっと詳しくお願いします。
API、拾うというのは具体的にどうすればいいのですか?
それは実行時にリアルタイムで行うという事でしょうか?

694 :デフォルトの名無しさん:2008/12/24(水) 01:12:25
あと、>>687は質問者の私のレスではありません。
変な人が潜んでいるみたいですので、煽りレスは無視するようお願いします。

695 :デフォルトの名無しさん:2008/12/24(水) 01:14:06
よくみたら>>688に私のレスが貼り付けられていますね…
それも私のレスではありません。どうもマルチ扱いにしたい人がいるようです…
回答はこちらだけでお願いします。

696 :デフォルトの名無しさん:2008/12/24(水) 01:14:30
本当に参考ページ見たのかよ

697 :デフォルトの名無しさん:2008/12/24(水) 01:15:56
>>689
ありがとうございます。そこを読んで勉強してみます。

698 :デフォルトの名無しさん:2008/12/24(水) 01:16:46


699 :デフォルトの名無しさん:2008/12/24(水) 01:16:58
>>696
すいません、マルチがどうのと見に覚えのないレスがあったので
私へのレスだと思いませんでした
どうもありがとうございます

700 :デフォルトの名無しさん:2008/12/24(水) 01:23:44
ここまで自演

701 :デフォルトの名無しさん:2008/12/24(水) 01:25:51
マトリクスの内の1行を取得する関数ってないですかね?

702 :デフォルトの名無しさん:2008/12/24(水) 01:48:05
D3DXMATRIX mat ;
D3DXVECTOR4* VX = (D3DXVECTOR4*)&mat._11;
D3DXVECTOR4* VY = (D3DXVECTOR4*)&mat._21;
D3DXVECTOR4* VZ = (D3DXVECTOR4*)&mat._31;
D3DXVECTOR4* VT = (D3DXVECTOR4*)&mat._41;

じゃ、だめなのか?


703 :デフォルトの名無しさん:2008/12/24(水) 02:03:51
1要素ずつしか取り出せないの?

704 :デフォルトの名無しさん:2008/12/24(水) 02:09:41
行列内の各行の先頭アドレスを取得してるだけなんだが
まさか、ポインタの説明から始めないとだめなのか?

705 :デフォルトの名無しさん:2008/12/24(水) 02:26:17
つか、関数ないんすか?
キャストとかめんどくさいです

706 :デフォルトの名無しさん:2008/12/24(水) 02:58:02
自分で作って呼べばええやろが

707 :デフォルトの名無しさん:2008/12/24(水) 03:46:00
関西人死ねや

708 :デフォルトの名無しさん:2008/12/24(水) 04:04:08
意外に基本的な関数が実装されてないんだな

709 :デフォルトの名無しさん:2008/12/24(水) 04:11:39
自分で関数書くなり継承してマトリクスクラス書くなりすれば1分で解決するだろ
ここで質問して回答待つより全然早い

710 :デフォルトの名無しさん:2008/12/24(水) 04:53:26
1分でできるレベルだったら質問しないだろjk

711 :デフォルトの名無しさん:2008/12/24(水) 05:14:14
DirectX側で用意されてるんだったら、わざわざ車輪の再発明する必要はないだろ
「こういう関数があるか」という質問には、あるかないかを答えればいいだけであって
自分で作れば解決するなんていうレスは的ハズレな回答なんだよ

712 :デフォルトの名無しさん:2008/12/24(水) 05:28:04
そんな的外れな文書く前に701に回答してやったらどうだ?

713 :デフォルトの名無しさん:2008/12/24(水) 05:30:02
お前がしてやれよ

714 :デフォルトの名無しさん:2008/12/24(水) 05:38:18
>701-708見れば回答として成立してるのはわかる上に実装まで提案してくれてるのに>711は何が不満なの?

715 :デフォルトの名無しさん:2008/12/24(水) 05:39:51
>>705の時点で回答として成立してないことがわかるはずだが?
日本語読めないのかお前は?

716 :デフォルトの名無しさん:2008/12/24(水) 05:41:14
関西人死ねやで回答成立

717 :デフォルトの名無しさん:2008/12/24(水) 05:44:32
無いから実装を示してくれてるんだし、質問者も>708で納得してるじゃないか
ただ無いって回答されるより有意義な回答なのに何が不満なの?

718 :デフォルトの名無しさん:2008/12/24(水) 05:46:04
708は俺のレスだよ
思い込みいくない

719 :デフォルトの名無しさん:2008/12/24(水) 05:47:13
つまり>711、>715が質問者なの?
それなら納得だが

720 :デフォルトの名無しさん:2008/12/24(水) 05:51:59
知識がなくて知らないだけってこともありえるけどな
無いならない、知らないなら知らない、あるならあると回答すべき
聞いてもいない事を回答しても、本人が望まないなら無意味でしかない

当然の事を言ってるだけなんだが、なんで>>714に噛み付かれるのか意味不明

721 :デフォルトの名無しさん:2008/12/24(水) 05:52:52
\冬厨だー!/

722 :デフォルトの名無しさん:2008/12/24(水) 05:59:56
回答者は質問者のカーチャンでもないのに無料で助けてくれる貴重な存在なんだが冬厨には理解できないらしい

723 :デフォルトの名無しさん:2008/12/24(水) 06:02:05
無料で助けるなら最後まで助けるのが義務です
あまったれてんじゃねえよ

724 :デフォルトの名無しさん:2008/12/24(水) 06:07:27
まあ釣りでも何でもいいけど、世の中には本気で>723みたいな思考の人間もいるから困るw

725 :デフォルトの名無しさん:2008/12/24(水) 06:14:12
余計なことしやがって。責任とって最後まで回答しろ

726 :デフォルトの名無しさん:2008/12/24(水) 06:17:36
貧乏な国に学校を建てようってやつ、あるじゃん
あれって、立てただけじゃゴミなんだよ
維持費まで面倒を見て、最後までやってやらないとゴミでしかない
お前らはゴミだ

727 :デフォルトの名無しさん:2008/12/24(水) 06:19:22
>>720
馬鹿にしたくてレスしてるだけだからアホな方向の回答になる
そんな奴らに何言っても無駄w

728 :デフォルトの名無しさん:2008/12/24(水) 06:23:11
そういう関数があるか無いかって教えてもらうより速い方法って無いのかね

729 :デフォルトの名無しさん:2008/12/24(水) 07:05:36
ODAの利子が入ってくるんだけどね。
円高でCDSやばめだけどw

730 :デフォルトの名無しさん:2008/12/24(水) 07:08:48
ODAじゃねえよ池沼

731 :デフォルトの名無しさん:2008/12/24(水) 08:07:51
周りの人間が自分の望まない行動を少しでもすると許せない
いったいどれだけ甘やかされて育ったんだろうね


732 :デフォルトの名無しさん:2008/12/24(水) 08:10:26
ここは自己紹介のスレじゃないよー

733 :デフォルトの名無しさん:2008/12/24(水) 08:28:55
おめえじゃねえ

734 :デフォルトの名無しさん:2008/12/24(水) 08:32:18
なに?くやしかったの?

735 :デフォルトの名無しさん:2008/12/24(水) 09:10:51
----- ここまで俺の自演 -----

736 :デフォルトの名無しさん:2008/12/24(水) 12:44:38
なんか頭のおかしな人が張り付いてるね
他人の回答に文句つけてるあたり
自分はここでは重要人物だけどもう3ヶ月はコネーヨって言い放った人?

737 :デフォルトの名無しさん:2008/12/24(水) 13:10:08
>>736
その頭のおかしそうな人を呼び込みそうなレスは止めておこうよ。

738 :デフォルトの名無しさん:2008/12/24(水) 13:17:45
あたり前の指摘をされてプッツンしちゃったのかな
回答じゃないものを回答とか

739 :デフォルトの名無しさん:2008/12/24(水) 13:39:44
さっそく頭のおかしな人が釣り上がりました

740 :デフォルトの名無しさん:2008/12/24(水) 13:57:27
と、頭のおかしな739が同族嫌悪しております

741 :デフォルトの名無しさん:2008/12/24(水) 14:48:31
---- ここまでが本日2度目の俺の自演 -----

742 :デフォルトの名無しさん:2008/12/24(水) 16:07:18
このスレって、今まで出た質問をまとめたWikiとかないんだな・・・
だから話がループすんだよ

743 :デフォルトの名無しさん:2008/12/24(水) 16:30:02
と、ループさせてる当人が申しております

744 :デフォルトの名無しさん:2008/12/24(水) 16:50:36
>>742
言い出しっぺなんだからとっととやれよ

745 :デフォルトの名無しさん:2008/12/24(水) 17:08:33
回答者からすると作るほどの質問がない
質問者からするとそんなの作ってる余裕もない

746 :デフォルトの名無しさん:2008/12/24(水) 17:22:44
>>742
よろしくメカドッグ

747 :デフォルトの名無しさん:2008/12/24(水) 20:20:28
わんをわんを

748 :デフォルトの名無しさん:2008/12/24(水) 23:28:18
D3DXVECTOR4 x = *D3DXVec4Transform( &D3DXVECTOR4(), &D3DXVECTOR4(1,0,0,0), &m );
D3DXVECTOR4 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 );

これで我慢しろ


749 :デフォルトの名無しさん:2008/12/24(水) 23:40:02
544 名前:デフォルトの名無しさん[sage] 投稿日:2008/12/16(火) 19:47:52
行列のwならともかくベクトルのwは知らんなぁ
4次元ゲームでもつくってるの?

750 :デフォルトの名無しさん:2008/12/24(水) 23:47:30
結局、4x4の行列とかけあわせるときに数合わせで使うぐらいしかない?
x/w,y/w,z/w的な使い方はしない?

751 :デフォルトの名無しさん:2008/12/25(木) 04:57:09
別にVectorと付いてるからって
ベクトルで使わないといけないわけではない
ARGBでも使うしテクスチャ座標に使ったりもしていい
オペレーターがオーバーロードしてあるから計算が楽だし
D3DX関数とも親和性が高い
どう使うかなんて状況次第

752 :デフォルトの名無しさん:2008/12/26(金) 00:59:36
質問です。IDirectInputDevice8 の GetDeviceState キーボード入力で悩んでます。
キーステート取得部分はコードは以下のような感じです。_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 は成功しているようなのです。
押しっぱなしが重要なアプリでなんとか解決したいのですが、どこがまずいのかわかりません。ご教授をお願いいたします。
または、同じようなことで悩んでいる方おられませんか? 代替案などもあれば知りたいです。


753 :デフォルトの名無しさん:2008/12/26(金) 01:08:46
>>752
hr = mpDInputDevice->Poll();
hr = mpDInputDevice->GetDeviceState(256,diKeyState);
if(hr != DI_OK){
hr = mpDInputDevice->Acquire();
while(hr == DIERR_INPUTLOST)
hr = mpDInputDevice->Acquire();
return 0;
}

俺、こんな感じになってっけど俺のもその現象起こるのかな?

754 :デフォルトの名無しさん:2008/12/26(金) 11:04:08
ポール牧

755 :725:2008/12/26(金) 20:23:43
>>753 レスありがとうございます。
ひょっとしてキーボードでもポーリングが必要なのかと思い試してみましたが、結果は同じでした。

別のマシンで実験したところ、現象は長い時間起きませんでした。環境に左右されるっぽいです。
updateKeyboardState() が成功しても、キー状態は必ずしも取得でるとは限らない…、ということなのか。
押しっぱなしと押し直しで、挙動が大きく変わるアプリの設計がそもそもまずいのかなぁ。
と思ってきました。



756 :752:2008/12/26(金) 20:25:07
↑725でなくて752です、すみません

757 :デフォルトの名無しさん:2008/12/26(金) 22:01:18
(; `ハ´)「アイヤー、日本の女子高生の耐寒性は異常アルネー」
http://up.mugitya.com/img/Lv.1_up81881.jpg

758 :デフォルトの名無しさん:2008/12/26(金) 23:37:54
>>755
俺のソースコードまるまる貼っても駄目だった?
俺の記憶だとAcquireの関数にはしょっちゅう通った気がするよ

759 :デフォルトの名無しさん:2008/12/26(金) 23:53:15
>>752,>>758
俺も試してみたところ、特に60FPSで漏れることはないようだった。
ただ、コードが↓こんな感じで、Unacquire()がないことに気付いたんで
追加したところ、100%漏れるようになっちまった。取得の度にUnacquire()って駄目なん?

m_pDID->Acquire();
m_pDID->Poll();
m_pDID->GetDeviceState(...);
m_pDID->Unacquire(); // これ追加したらオワタ

760 :デフォルトの名無しさん:2008/12/27(土) 00:10:26
自分のソースに突っ込むけどキーボードでPollはいらない気がするなぁw
ジョイスティック組んでそのまま貼り付けて動いたからまあいいやって感じだろうか?

それと
初期化の最後で1回だけAcquireを読んでるぜ

761 :デフォルトの名無しさん:2008/12/27(土) 00:19:40
天誅の権利横取りされた会社ですね。

762 :デフォルトの名無しさん:2008/12/27(土) 00:22:59
>>760
Pollはデバイスが不要とするなら、無視するらしいし
むしろ常に呼ぶ方が正しそう。

>それと
>初期化の最後で1回だけAcquireを読んでるぜ
これだとSetCooperativeLevelで排他モードにした場合など
やばい気がする。

763 :デフォルトの名無しさん:2008/12/27(土) 00:27:33
>>762
いや、だからそういうことじゃなくて初期化処理の最後で
Acquireを呼ぶのよ
毎回の処理は>>753の通り

764 :752:2008/12/27(土) 04:04:45
>>758
753のコードを貼り付けて試しましたところ、こちらでは残念ながら取りこぼしが稀に起こります。

複数のキーを押しっぱなしにした場合にやや起こりやすいことがわかりました。
取りこぼしが起きた時、押しっぱなしにしてから約4秒〜10秒の間に2フレーム連続で1〜2回取りこぼす、というパターンが多いことがわかりました。
JOYスティックボタンでは取りこぼしが無いこともわかりました。

…うちのノートパソコンのキーボード(デバイス)のせいなのかな。



765 :デフォルトの名無しさん:2008/12/27(土) 04:27:53
それ単にハードウェアの問題だろう。
制限無く同時押し可能なキーボードなんて、PS/2接続の
リアルフォースくらいしか無いよ。

取りこぼしっていうより、キーの組み合わせの問題かと。

766 :デフォルトの名無しさん:2008/12/27(土) 04:43:39
でもおしっぱにしてからでしょ?
なんか初期化とかミスってんじゃねーの?

BYTE key[256];
memset(key,0,sizeof(key));
GetKeyboardState(key);

Win32のGetKeyboardStateだとどうなのよ?

767 :752:2008/12/27(土) 15:26:36
>>766
GetKeyboardState() も試してみました。やはり現象は同じでした。

>>765
いろいろなキーで試してみました。全てのキーを試していませんが、なんと特定のキーは取りこぼしが起きませんでした。
調べた中で一番よく取りこぼしが起きると感じたのは、'Q'+何かの組み合わせでした。なんでなのかはわかりません。
おっしゃるとおりハードウェアの問題かもしれません。


いろいろ調べたりするうちに、ハード直結の組み込みソフトでもないのに、様々な環境がある中で
確実にデバイスの状態を取得なんてことは難しい、という考になりました。(本当にそうなのかわかりませんが)
「取りこぼしが起きるかもしれない」を前提とした仕組みに、処理や設計を変更しようと思います。

今まで返事を下さった方、ありがとうございます。
もし進展があれば報告いたします。



768 :デフォルトの名無しさん:2008/12/27(土) 15:29:37
キーボードは元からハードの都合上いくつも同時に押せないはずだが。

769 :デフォルトの名無しさん:2008/12/27(土) 15:36:41
>>768
途中まで拾えるけどごくたまにあるって話らしいぜ

770 :デフォルトの名無しさん:2008/12/27(土) 16:38:57
メイン関数の中はなるべくシンプルにまとめる・・・と勉強サイトに書いてあったのですが、
見易い以外に何かメリットあるんですか?

ギャルゲーでセーブロードは無いけど一通り完成して問題無く動いてるんですが、
よろしくお願いします。

771 :デフォルトの名無しさん:2008/12/27(土) 16:54:55
>>770
生活は規則正しく・・・と勉強サイトに書いてあったのですが、
三文の得以外に何かメリットあるんですか?

不規則な生活で彼女はいないけど一通り健康で問題無く生きているんですが、
よろしくお願いします。

772 :デフォルトの名無しさん:2008/12/27(土) 18:19:30
彼女ができるのはたしかに大きなメリットだな

773 :デフォルトの名無しさん:2008/12/27(土) 18:32:06
>>770
今はコマンドインタプリタからのエントリポイントがmain()かもしれないが、
いずれWinMain()をエントリポイントにしたくなるかもしれない。
そのとき、main()にあれこれ詰め込んでいたら面倒そうだって事くらいは想像できるだろ?
後は、ゲームオーバーで即プログラム終了する作りだったのを終了するか再開するか選択したくなったときにも
main()に詰め込んでいない方がなにかと融通が利くというもんだ。

従って、ある程度以上のボリュームのあるアプリを書くのなら、main()に詰め込んでおかない方がいいということになる。

774 :デフォルトの名無しさん:2008/12/27(土) 19:02:01
そうでもない

775 :デフォルトの名無しさん:2008/12/27(土) 22:19:16
2Dシューティングゲームを作ろうと思っています。
自機などのテクスチャはメインのウィンドウにそのまま貼り付けるよりサブウィンドウに貼り付けて
サブウィンドウ単位で管理したほうがいいのか?と思ったんですが、
どう実装するのが一般的なんですか?

776 :デフォルトの名無しさん:2008/12/27(土) 22:20:45
>>775
何いってんのかわかんねー
ゲームアプリの基本的な仕組みはおk?

777 :デフォルトの名無しさん:2008/12/27(土) 22:24:48
>>775
>テクスチャはメインのウィンドウにそのまま貼り付けるよりサブウィンドウに貼り付けて

>どう実装するのが一般的なんですか?
まずは一般的な用語を話すことから始めろ。

778 :デフォルトの名無しさん:2008/12/27(土) 22:25:51
Directxとか使わないで
例えばマージャンみたいなの作ろうとしたら牌1つ1つをウィンドウとして扱ってたりとかしてたと思うけど
そういうことを言ってるのかな?

779 :デフォルトの名無しさん:2008/12/27(土) 22:35:21
DirectX使わなくてもんなことしねーよ

780 :デフォルトの名無しさん:2008/12/27(土) 22:53:57
言葉の意味は良くわからんが
テクスチャはあくまでデータだし
デバイスロスト時に全部作り直す可能性もあるから
自分で管理クラスみたいのを作って1箇所で管理するのが楽なんじゃないの?
各オブジェクトはこの管理クラスに問い合わせてテクスチャへのポインタを取得する感じ

781 :デフォルトの名無しさん:2008/12/27(土) 23:03:49
全部作り直すってあんた^^;

782 :デフォルトの名無しさん:2008/12/27(土) 23:05:08
>>780
質問者そんな情報必要としてないだろ
っていうかそこのラインにすらたってないのがわからないのか?
多分ゲームの仕組みが超高速のパラパラ漫画ってことすらわかってないぞ

783 :デフォルトの名無しさん:2008/12/27(土) 23:14:13
まずはヘルプのチュートリアルを全て終わらせる。
話はそれからだ。

784 :775:2008/12/27(土) 23:28:53
>776-783
説明が下手ですみません。
.NETにPictureBoxクラスがあるのを見てテクスチャを画面に貼り付けるよりテクスチャが貼り付けてあるウィンドウを画面に貼り付けたほうがいいのかな?
と思ったので質問してみました。

785 :デフォルトの名無しさん:2008/12/27(土) 23:46:09
>>784
うごかねーよ
そんなもん
触ってりゃわかるだろ

786 :775:2008/12/28(日) 02:38:06
>785
子ウィンドウを動かすことは出来ると思うんですが、
動かないと言うのは重くて使い物にならないと言う意味ですか?

787 :デフォルトの名無しさん:2008/12/28(日) 02:49:12
なんであなたは自分で試さないんですか?

788 :デフォルトの名無しさん:2008/12/28(日) 02:52:09
.NET厨は生産性を重んじるのでチュートリアルとか試行錯誤とかは一切しません。

789 :775:2008/12/28(日) 02:54:41
>787
また説明が足りなくてすみません。
テクスチャをメインウィンドウに貼り付けて移動させることも、
テクスチャをサブウィンドウに貼り付けてメインウィンドウ上でサブウィンドウを移動させることも試したのですが、
どっちがいいのか分からなかったので質問しました。

790 :デフォルトの名無しさん:2008/12/28(日) 02:56:49
速度を計測してください

791 :デフォルトの名無しさん:2008/12/28(日) 04:28:52
できるよ
むしろここにいるのが普通のウィンドウアプリを
作ったことないから
わからないんだろうね。
2Dシューティングんら実はこれメリット多いよねw



792 :デフォルトの名無しさん:2008/12/28(日) 04:30:58
じゃあサブウィンドウで作るということで(笑)

793 :デフォルトの名無しさん:2008/12/28(日) 08:13:08
>>791
メリットあるんかw
是非知りたい

794 :デフォルトの名無しさん:2008/12/28(日) 08:13:21
VBでゲーム云々の本はたいていそんな感じだったけどね。

795 :デフォルトの名無しさん:2008/12/28(日) 08:40:26
んな馬鹿なー。ウィンドウ内にGDI(+)で文字の描画すら
したことないレベルの発想だぞ、この設計。

796 :デフォルトの名無しさん:2008/12/28(日) 10:08:45
だからグダグダ言わずにチュートリアルを終わらせろ。

797 :デフォルトの名無しさん:2008/12/28(日) 10:18:52
自分の知らない部分、やったことない部分を最初から否定するのはお前らの悪い癖だと思う
質問者もそうだが回答者も

798 :デフォルトの名無しさん:2008/12/28(日) 10:19:31
DirectXのDirectの意味わかってないな

799 :デフォルトの名無しさん:2008/12/28(日) 10:31:19
で、スプライト毎にウィンドウを使うメリットは?

800 :デフォルトの名無しさん:2008/12/28(日) 10:47:16
知らんよ、ポトペタでやりたいんかね

801 :デフォルトの名無しさん:2008/12/28(日) 10:57:11
>>788
できたら暗記、それが高学歴の勉強方法。


802 :デフォルトの名無しさん:2008/12/28(日) 12:17:23
なんで質問する前に、自分で一通り機能の確認や実験をしようとしないんだろうな。
聞かれたら考えさせず、ほいほい答えを教える日本の教育の問題なのか。

803 :デフォルトの名無しさん:2008/12/28(日) 12:29:49
そういうスレってわかってたら見なきゃいいんじゃね?

804 :デフォルトの名無しさん:2008/12/28(日) 12:40:49
>>802
それをこのスレでたたきなおす役目もになっているのだよここは
答える代わりもしくは一方的に質問者をフルボッコにしなければならない
ハートマン軍曹がいるからなこのスレは

805 :デフォルトの名無しさん:2008/12/28(日) 12:57:10
またお前か、さっさと消えろよ

806 :デフォルトの名無しさん:2008/12/28(日) 13:12:18
自分でやってみて答えを探すとか時間の効率悪過ぎるだろw
正解を聞いたり見たりして暗記した方が圧倒的に早い。
これが高学歴低学歴の差。



807 :デフォルトの名無しさん:2008/12/28(日) 13:14:52
言われたとおりにやれと教育されて、大人になってからも言われたとおりにしかやれないまま育つ。
そして指示を出す人間がいないと何も出来ないどころか、
何かしようとすると不安になって、必ず誰かに聞いてからでないとことを起こせない。
そんな風に育ってしまうと、どんなに叩いたところで一生そいつはそのまま。
もう手遅れなんだよ。

808 :デフォルトの名無しさん:2008/12/28(日) 13:38:01
>806
自国で技術者を育てるよりpakuriを選んだ結果、経済が死に掛けてるどこかの国と同じ発想ニダ

809 :デフォルトの名無しさん:2008/12/28(日) 13:47:31
そんなに何もかも自分で試して解決したいならこんな所来るなよw

810 :デフォルトの名無しさん:2008/12/28(日) 14:02:07
まあ自分で考えられない人には何言っても無駄だね
>807の言うとおり手遅れnida

811 :デフォルトの名無しさん:2008/12/28(日) 14:06:08
>>789
考え方がDirectX7のDirectDrawのサーフェイスのような感じと勝手に解釈しました。

.NETは詳しくありませんが、StretchImage ってのを調べてみたところ
SizeMode でストレッチ(引き伸ばし)ってのがありますよね、
この機能を使わずに等倍のイメージを動かすのなら、どっちでも殆ど同じ負荷ではないかな。(直感です、あしからず)
でも将来のことも考慮し、汎用性を高めるために、一旦サブウィンドウに出来上がりイメージを作ってからコピーは良い手法と思いますよ。
キャラによって使い分けれるよう両方のクラスを作っといたほうがいいかもしれません。




812 :デフォルトの名無しさん:2008/12/28(日) 14:10:56
>>775
卵焼きを作ろうと思っています。
卵などの素材はそのままお湯をかけるより、電子レンジでチンして
皿ごとに管理したほうがいいのか?と思ったんですが、
どう調理するのが一般的なんですか?


813 :デフォルトの名無しさん:2008/12/28(日) 14:11:12
サブウィンドウとは何ですか?
正式名称を教えてください

814 :デフォルトの名無しさん:2008/12/28(日) 14:12:18
そもそも775はDirectXを使うつもりなのか?
違うなら、ここはゲーム作成スレではなくDirectXスレだからスレ違いでいいのでは?

815 :デフォルトの名無しさん:2008/12/28(日) 14:41:55
メリットはボタンとかにしとけば
クリックしたのを座標なんかで調べなくても
検出できる。
背景を2重3重に簡単に重ねられる
透過も簡単。
MFCや.NET使ったことない人なら理解するのに
時間掛かるから、できる人が利用すればいい。

816 :デフォルトの名無しさん:2008/12/28(日) 14:45:51
機体や弾の分の大量の透過ウインドウとかスゲー重そうな気がするんだが実際どうなんだろうな
完成したらうpしてくれ

817 :デフォルトの名無しさん:2008/12/28(日) 14:56:59
そもそもWin32API側に描画を任せるならテクスチャを用意する必要性がない。
DirectXスレに来る必要性もない。
言っていることが無茶苦茶。

818 :デフォルトの名無しさん:2008/12/28(日) 15:02:21
RADの統合環境で標準コントロールしか使ったことがない。
Direct3Dの機能を聞きかじって、イメージの描画にはテクスチャという用語を覚える
Direct3Dの機能を確認も検証もしないで、標準コントロールと同じ使い方をすると思い込む
メインウインドウとかサブウインドウという、頓珍漢な発言をする
再三チュートリアルぐらい終わらせろと言われてもやらない
未だにDirect3Dの描画がなんなのかわかっていない ←今ここ

819 :デフォルトの名無しさん:2008/12/28(日) 15:12:32
初心者と初級者または中級者の境目ってどこだ?
初心者ってあたり判定は座標で三平方とかそのレベルだと思ってたわ。

820 :デフォルトの名無しさん:2008/12/28(日) 15:21:29
最低限チュートリアルを終わらせているのが初心者
その程度、最低限やっていなければ初心どころか始めたことにすらなっていない
車の免許をとっていない奴が、練習中に初心者マークをつけないのと同じ
スタートラインにすら立っていない奴は初心者ですらない

821 :デフォルトの名無しさん:2008/12/28(日) 15:33:02
色々言葉足らずですみません。
.NETの解説ページでウィンドウごとに1枚のテクスチャを管理していたので、
僕的にはC++での実装も同じようにウィンドウごとにテクスチャを管理させて、
メインウィンドウでそのウィンドウを移動させると>>815のメリットのように当たり判定管理が楽になると考えたのですが、
調べていると1つのウィンドウで全てのテクスチャを管理しているHPしか見つからなかったので、
僕の考えた方法だと使い物にならないような欠点があるのかと思ったのです。

>>791
的確なレスありがとうございます。
僕の考えでも問題なさそうなので、この構造で作っていくことにします。

>>811
汎用クラスを作るというのは考え付きませんでした。
作ってみることにします。

>>814
DirectXは使うつもりです。1度他のスレに質問したんですが、誘導されてきたのでここで質問しました。

>>816
僕の作ったのでよければアップしてみます。

>>818
>チュートリアル
今探しているんですが、ヘルプのチュートリアルがどこにあるのか今一分からないので場所を教えてくれるとありがたいです。

822 :デフォルトの名無しさん:2008/12/28(日) 15:35:37
ヘルプという限定された空間でさえチュートリアル程度のものを自分で探せないのなら、そもそもプログラムなんて無理。

823 :デフォルトの名無しさん:2008/12/28(日) 15:36:39
DirectX使っててその結論になるかな・・・

824 :デフォルトの名無しさん:2008/12/28(日) 15:39:02
http://www.google.co.jp/search?q=direct3d+%E3%83%81%E3%83%A5%E3%83%BC%E3%83%88%E3%83%AA%E3%82%A2%E3%83%AB

google開いてキーワードを入れて検索ボタンを押す、たったそれだけの作業が出来ない人間が、
プログラムなんて組めると思っているのか?
どれだけ指示待ち人間なんだよ。

825 :デフォルトの名無しさん:2008/12/28(日) 15:40:52
ほんと偉そうな低脳の巣窟だよなプログラム関係のスレって。
レベルの低い問題しか出ないセンターで8割取れないなら人生無理。

826 :デフォルトの名無しさん:2008/12/28(日) 15:41:29
年末というのに実にくだらない流れ

827 :デフォルトの名無しさん:2008/12/28(日) 16:24:08
>>821
ええーw
本気でそのやり方で作るつもりなの?w
ひさびさにすげぇのキタなコレw

828 :デフォルトの名無しさん:2008/12/28(日) 17:37:13
まあバカはほうっておこうw

829 :デフォルトの名無しさん:2008/12/28(日) 17:46:26
すぐ隣の家に遊びに行くのに、国際線の航空機を利用しようとする馬鹿がいるのはこのスレですか?

830 :デフォルトの名無しさん:2008/12/28(日) 18:16:33
センターとか国際線とかほんとどうでもいいから
つまらない喩えで他人を苛付かせるスキルだけは認めるが

831 :デフォルトの名無しさん:2008/12/28(日) 18:19:37
チュートリアルもやる気ねぇってのがまちがってるよな

832 :デフォルトの名無しさん:2008/12/28(日) 18:26:44
チュートリアルはコピペ→コンパイル→実行で卒業

833 :デフォルトの名無しさん:2008/12/28(日) 18:33:22
そんな順調に進むほど甘くはない。

834 :デフォルトの名無しさん:2008/12/28(日) 18:36:03
チュートリアルはコピペ→コンパイル→エラー→「うまくいかない」と書き込み→ゆとりはこれだからと返答

835 :デフォルトの名無しさん:2008/12/28(日) 18:47:08
質問です
DirectX9.0cで、フルスクリーン表示時にメニューバーを表示したり消したりしようと思い
SetDialogBoxMode()という関数を使ってみたのですが、これを使うと
メニュー表示時に画面が縦に潰れてしまいます
画面をつぶさないでメニュー表示を行うにはどのようにすればいいのでしょうか?

836 :デフォルトの名無しさん:2008/12/28(日) 18:59:51
D3DSWAPEFFECT_COPYを使って、描画区域を自分で設定する

ただし面倒なだけなのでメニューを自分で描画するのが一番楽
フルスクリーンで標準コントロールを使おうと考えるのがそもそもの間違い。

837 :デフォルトの名無しさん:2008/12/28(日) 22:08:34
BuldActionMapはキーボードに使えない?

838 :デフォルトの名無しさん:2008/12/28(日) 22:12:18
http://www.google.co.jp/search?q=BuldActionMap

839 :デフォルトの名無しさん:2008/12/29(月) 17:03:41
初めまして、DirectX初心者のものですが皆様にご質問させていただきます。
現在DirectX9のノートパソコンでVisualStdioでプログラミングを行っております。しかし使用しているパソコンがノートなので
処理が重く効率が悪いのでパソコンの購入を考えているのですが、お店で売っている商品は
DirectX10ばかりです。DirectX10のパソコンでDirectX9のプログラミングを今までどおり
行う事は可能でしょうか?

840 :デフォルトの名無しさん:2008/12/29(月) 17:05:03
残念、無理です

841 :デフォルトの名無しさん:2008/12/29(月) 17:06:22
なんでそんな簡単に答えが帰ってきそうな質問まで
マルチポストするんだ

842 :デフォルトの名無しさん:2008/12/29(月) 19:02:53
A 「上様がこのような所に来られるはずがない」    B 「上様の名を騙る不届き者だ」
C 「上様でも構わぬ」                   D 「上様、お手向かい致しますぞ」
E 「上様、お命頂戴致します」              F 「ここで死ねばただの徳田新之助」
G 「悪党らしく死に花を咲かせてくれるわ」       H 「飛んで火に入る夏の虫」
I 「我ら幕臣あっての上様ではないか」         J 「八代将軍もこれで終わりぞ」
K 「もはやこれまで」                    L 「笑止千万」
M その他


843 :デフォルトの名無しさん:2008/12/29(月) 19:13:45
>>837
ttp://homepage1.nifty.com/takuhiro/technique/programming/meritofdirectinput8/index.htm

844 :デフォルトの名無しさん:2008/12/29(月) 20:20:16
>>840
ご親切にご回答いただきありがとうございました。

>>841
大変不快なご質問をしてしまい申し訳ありませんでした。

もう1つご質問なのですが、DirectX10のパソコンからDirectX9に
バージョンを落とせないなら、DirectX9にしか対応していないゲームや
プログラムを動かす事は出来ないのでしょうか、
何か方法がございましたら教えてください。

845 :デフォルトの名無しさん:2008/12/29(月) 20:33:55
まずDirectXとは何か
COMとは何かから勉強してきてください

846 :デフォルトの名無しさん:2008/12/29(月) 23:10:46
自分がするのに「ご質問」とは大層な奴だ。

847 :デフォルトの名無しさん:2008/12/29(月) 23:45:55
1:35 映画「バック・トゥ・ザ・フューチャー」
 マイケル・J・フォックス クリストファー・ロイド リー・トンプソン トーマス・F・ウィルソン

848 :デフォルトの名無しさん:2008/12/30(火) 13:51:07
ものすごく簡単なシューティングを作り終わって、
次に作るべきものとか読むべき本とか教えてください、勉強的な意味合いで。

849 :デフォルトの名無しさん:2008/12/30(火) 13:55:34
自分の作りたいジャンルによる
RPGしか作ったことない人なんか
シューティング特有の計算とか知らんでも作ってる
技術的なものならジェーダーあたりかも

850 :デフォルトの名無しさん:2008/12/30(火) 14:32:53
>>848
なにかことを起こすときに必ず他人の指示を仰ごうとする精神虚弱病者が増えたのは、日本の教育のせい。
おまえのせいじゃない、教育が悪かったんだよ。

851 :デフォルトの名無しさん:2008/12/30(火) 14:46:32
何を作るべきかじゃなくて何を作りたいかだよ
作りたくないなら作らないでよろしい

852 :デフォルトの名無しさん:2008/12/30(火) 14:50:57
自作ゲームを起動すると30fps前後出ます

TENVIというネトゲを起動しながら自作ゲームを起動すると60fps前後出ます

なんでですか?

853 :デフォルトの名無しさん:2008/12/30(火) 14:54:36
タイマ絡みとか

854 :デフォルトの名無しさん:2008/12/30(火) 14:55:53
タイマ分解能の設定やってないとかかねえ

855 :デフォルトの名無しさん:2008/12/30(火) 15:00:49
市販のDirectX使ってないアプリで、他にDirectX使ってるアプリを立ち上げておくと高速に動くとかは見たことあるな

856 :デフォルトの名無しさん:2008/12/30(火) 15:05:35
timeBeginPeriodとかって他のアプリにも影響出るの?

857 :デフォルトの名無しさん:2008/12/30(火) 15:06:48
>>852
何でですかとか聞く前に、自分のプログラムをどう組んでいるのかという情報すら出さない馬鹿が作ったプログラムだから。

858 :デフォルトの名無しさん:2008/12/30(火) 15:24:17
>>856
それは知らんがSetSystemTimeAdjustmentとかはOS全体に影響が出るよ。

859 :デフォルトの名無しさん:2008/12/30(火) 15:58:14
また日本の教育厨が沸いてんのかよ。
低学歴がどうこう言っても小学生がどうこう言うのと同じだからね?

860 :デフォルトの名無しさん:2008/12/30(火) 16:05:24
そんなの沸いてねょ去れ

861 :デフォルトの名無しさん:2008/12/30(火) 18:32:33
とりあえず
質問に答える気のない人は消えればいいと思うよ

862 :デフォルトの名無しさん:2008/12/30(火) 20:47:57
随分前からそうだけど
質問に返答できないのに文句だけ一丁前のうざ太郎が多いのはどうにかならないの?
文句とか愚痴とか回答してから好きなだけ書けよ



863 :デフォルトの名無しさん:2008/12/30(火) 21:06:20
答えられないor答える気のない人は普通にスルーすればいいのに

864 :デフォルトの名無しさん:2008/12/30(火) 21:12:48
スルーしろよな
いちいち反応してカッカッしてる奴のがどうかしてる

865 :デフォルトの名無しさん:2008/12/30(火) 21:43:56
>>862
君のそういうレスが一番うざいよ
質問に文句が出るのが気に入らないなら、先に君が回答して終わらせればいいだけの話

866 :デフォルトの名無しさん:2008/12/30(火) 21:47:11
DirectX初心者というより、煽りに耐えられないような2ちゃんねる初心者は
どこか別のお綺麗な技術掲示板に行けばいいのにな
なんでわざわざ2ちゃんねるなんかに来るんだい?

867 :デフォルトの名無しさん:2008/12/30(火) 21:52:00
しかしこことWin32APIスレはひどいけどな

868 :デフォルトの名無しさん:2008/12/30(火) 23:00:48
2chだから煽って良いって理屈にはならんけどな

869 :デフォルトの名無しさん:2008/12/30(火) 23:08:39
煽ってるのは例外なく子供
そんな彼らも、後1年ぐらいすれば
反抗期が終わっておとなしくなるだろ
で、次の子供が参戦して無限ループになる訳だけど

870 :デフォルトの名無しさん:2008/12/30(火) 23:10:32
          ____   
       / \  /\ キリッ
.     / (ー)  (ー)\      
    /   ⌒(__人__)⌒ \    <2chだから煽って良いって理屈にはならんけどな
    |      |r┬-|    |   
     \     `ー'´   /
    ノ            \
  /´               ヽ              
 |    l              \
 ヽ    -一''''''"~~``'ー--、   -一'''''''ー-、.    
  ヽ ____(⌒)(⌒)⌒) )  (⌒_(⌒)⌒)⌒))
          ____
        /_ノ  ヽ、_\     
 ミ ミ ミ  o゚((●)) ((●))゚o      ミ ミ ミ     
/⌒)⌒)⌒. ::::::⌒(__人__)⌒:::\   /⌒)⌒)⌒)
| / / /     |r┬-|    | (⌒)/ / / //    だっておwwwww
| :::::::::::(⌒)    | |  |   /  ゝ  :::::::::::/  
|     ノ     | |  |   \  /  )  /
ヽ    /     `ー'´      ヽ /    /    
 |    |   l||l 从人 l||l      l||l 从人 l||l   バン!バン!
 ヽ    -一''''''"~~``'ー--、   -一'''''''ー-、    
  ヽ ____(⌒)(⌒)⌒) )  (⌒_(⌒)⌒)⌒))

871 :デフォルトの名無しさん:2008/12/30(火) 23:15:08
まともな質問ならまともな回答が返るし、
アホな質問ならアホな回答者を呼び寄せる、ただそれだけのこと。

872 :デフォルトの名無しさん:2008/12/30(火) 23:16:41
だから住人の反応が気に入らないなら他に行けばいいじゃん。
他行った方がよっぽど親切な回答がえられるぜ?
なんで他いかねーでうだうだ愚痴たれてんの?

873 :デフォルトの名無しさん:2008/12/30(火) 23:17:14
まともな質問にはまともな回答
アホな質問はスルー、これで問題無し

874 :デフォルトの名無しさん:2008/12/30(火) 23:19:21
>>873
まともな質問にはまともな回答
アホな質問はスルー
アホな質問に対する煽りもスルー
これで問題なし

875 :デフォルトの名無しさん:2008/12/30(火) 23:21:00
頭悪いな

876 :デフォルトの名無しさん:2008/12/30(火) 23:21:52
お前がな

877 :デフォルトの名無しさん:2008/12/30(火) 23:24:42
一応初心者スレなんだけどなここ
ある程度アホな質問になるのは多少止むを得ないと思うが
正直お前らは煽りすぎ

878 :デフォルトの名無しさん:2008/12/30(火) 23:26:47
煽りを無視できないせいで不毛なレスが延々と繰り返されてる事にも気づかない
自分自身もうざい人間である事を理解しなよ

879 :デフォルトの名無しさん:2008/12/30(火) 23:40:54
DirectX初心者はこのスレに
DirectX初心者以前、プログラム初心者、PC初心者、質問初心者、2ch初心者は別の所へ

880 :デフォルトの名無しさん:2008/12/31(水) 02:15:07
>だから住人の反応が気に入らないなら他に行けばいいじゃん。
住人だっておwww

ばっかじゃね?

881 :デフォルトの名無しさん:2008/12/31(水) 02:39:02
君ほどではないおwww

882 :デフォルトの名無しさん:2008/12/31(水) 03:57:23
住人っていうかもはや害虫でしかない

883 :デフォルトの名無しさん:2008/12/31(水) 04:47:38
鏡を見ながら何言ってんだろうか

884 :デフォルトの名無しさん:2008/12/31(水) 05:13:23
BBX生きてるならBBX行った方が早いよ

885 :デフォルトの名無しさん:2008/12/31(水) 06:46:42
もう次からスレタイの「初心者」消せよ

886 :デフォルトの名無しさん:2008/12/31(水) 08:49:34
何様だよ

887 :デフォルトの名無しさん:2008/12/31(水) 09:36:35
しかし頭の悪い連中が多いスレだな。
だからプログラムなんてやってるんですけどねw

888 :デフォルトの名無しさん:2008/12/31(水) 10:04:21
ペイントソフトで、RGB値を指定してペンで書くように
alpha値(0〜255)を指定してペンで描けるようなソフトってありますか?

どのソフトもアルファチャンネルレイヤーには対応しているんですが
直にアルファ値をペンや塗り潰しできるものが見つからなくて・・・

889 :デフォルトの名無しさん:2008/12/31(水) 10:24:49
アルファ値指定したら下絵と混ざるだろうが

890 :デフォルトの名無しさん:2008/12/31(水) 11:31:12
またコイツか

891 :デフォルトの名無しさん:2008/12/31(水) 12:02:00
>>888
ソフトウェア板に行ってください

892 :デフォルトの名無しさん:2008/12/31(水) 12:17:25
いや、どう見ても煽り目的のコピペだから

893 :デフォルトの名無しさん:2008/12/31(水) 12:40:03
書いた本人がだと思うけどな

894 :デフォルトの名無しさん:2008/12/31(水) 16:53:19
>>888
ググれば見つかる
RGB000〜255255255の絵を用意してそれをアルファ値にしてくれるソフトがフリーである
ただ読み込むときにRGBとアルファで別に読んでも手間が似たようなもんなのでわざわざくつける意味ないかも

895 :デフォルトの名無しさん:2008/12/31(水) 18:08:31
DirectInputでキーポードやマウス使うは禁止なの?

896 :デフォルトの名無しさん:2008/12/31(水) 18:20:35
はぁ?

897 :デフォルトの名無しさん:2008/12/31(水) 18:35:03
非推奨なだけ

APIとXInput使えとさ

898 :デフォルトの名無しさん:2008/12/31(水) 18:36:51
なんで非推奨なの?
DirectPlayと同じ理由?

899 :デフォルトの名無しさん:2008/12/31(水) 18:38:24
箱のせいでDirectXがgdgdになっていくなー

900 :デフォルトの名無しさん:2008/12/31(水) 18:40:39
>>895
ttp://ja.wikipedia.org/wiki/DirectInput

901 :デフォルトの名無しさん:2008/12/31(水) 18:44:42
文字入力あたりじゃないか

902 :デフォルトの名無しさん:2008/12/31(水) 21:11:28
ウィンドウモードの場合、通常はクライアント領域全てに描画されますが、
これを、クライアント領域の左半分だけに描画する、というように、
一部だけに描画するようにするにはどうすればよいでしょうか?

903 :デフォルトの名無しさん:2008/12/31(水) 21:14:42
ビューポートを画面の左半分にする

904 :デフォルトの名無しさん:2008/12/31(水) 21:23:59
描画されますがていわれても、何がかがわかんね

905 :902:2008/12/31(水) 21:44:46
>>903
ビューポートを半分にしても(Widthメンバを半分にした)、クライアント領域全域に描画されるため、
横に引き伸ばされて表示されてしまいました・・・
>>904
すみません、描画というのは、バックバッファの内容をフロントバッファに"描画"するという意味の描画です。

ウィンドウモードの場合、スワップはコピーで行われますよね?
そうすると、転送元と転送先をそれぞれRect構造体か何かで指定できる箇所があるのでは?と
思ったり・・・

906 :デフォルトの名無しさん:2008/12/31(水) 21:53:14
present

907 :902:2008/12/31(水) 21:53:48
>>906
ちょうど気付いたところです(汗)
ありがとうございました!

908 :デフォルトの名無しさん:2008/12/31(水) 22:13:19
子ウィンドウ作ってハンドル渡す

909 :デフォルトの名無しさん:2009/01/01(木) 05:08:59
最近DirectXをはじめたんだけど、わかりやすいサイトとかある?
書籍も教えてもらえるとありがたいです

910 :デフォルトの名無しさん:2009/01/01(木) 08:14:48
ナイナイアルヨ

911 :デフォルトの名無しさん:2009/01/01(木) 08:16:35
ttp://msdn.microsoft.com/ja-jp/default.aspx
ttp://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

912 :デフォルトの名無しさん:2009/01/01(木) 13:47:05
// プリミティブを生成する
D3DTVERTEX 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);

913 :デフォルトの名無しさん:2009/01/01(木) 14:06:20
>>912

???

914 :デフォルトの名無しさん:2009/01/01(木) 14:37:22
質問です

D3DTVERTEX *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
中央の板ポリが変な風になってしまいます。
解決方法教えていただけませんか。

915 :デフォルトの名無しさん:2009/01/01(木) 14:52:48
>>914
DrawPrimitive の 引数 PrimitiveCount は 2 になってるの?

916 :デフォルトの名無しさん:2009/01/01(木) 14:54:56
>>915 はい、2になっています。

917 :デフォルトの名無しさん:2009/01/01(木) 14:59:17
>>916
D3DTVERTEX と D3DFVF_TVERTEX の定義はどうなってるの?
もし rhw があるなら、1.0で初期化。

918 :デフォルトの名無しさん:2009/01/01(木) 15:01:30
typedef struct _D3DLVERTEX {
D3DXVECTOR3 pos;
D3DXCOLOR color; // ディフューズ
D3DXCOLOR specular; // スペキュラー
D3DXVECTOR2 uv;
} D3DTVERTEX, *LPD3DTVERTEX;

#define D3DFVF_TVERTEX (D3DFVF_XYZ | D3DFVF_DIFFUSE | D3DFVF_SPECULAR | D3DFVF_TEX1)

です

919 :デフォルトの名無しさん:2009/01/01(木) 15:03:10
お正月早々こんなこと頼むのはあれですが
もしよかったらコード見ていただけませんか。

http://www7.uploader.jp/dl/inoguma/inoguma_uljp00013.zip.html

よろしくお願いします。

CTexture.cppに記述してあります。

920 :デフォルトの名無しさん:2009/01/01(木) 15:52:22
>>919
×
D3DXCOLOR color;
D3DXCOLOR specular;

D3DCOLOR color;
D3DCOLOR specular;
名前似てるけど別モノなのよね。

921 :デフォルトの名無しさん:2009/01/01(木) 16:01:34
>>920

正常描画されました!

D3DXCOLORではだめなんですね。

ありがとうございました!

922 :デフォルトの名無しさん:2009/01/01(木) 16:04:35
あけましておめでとうございます。
単純な、しかしながら半透明で色のある
立方体を描きたく存じます。

D3DXの関数にD3DXCreateBox()っていう
のがあったのですが、単純なMeshを得る
だけで、そこから後、色をつけるという事は
自分でやらなければなりません。
あるいは、立方体のXファイルをロードするのも手でしょう。
形状データを得るのは問題ないですね。
私が分からないのは色をつけるのに
テクスチャを使った方が高速なのか、頂点色を使った方が
早いのか、Xファイルにマテリアルデータっとか属性とか
ある?としたら、それを使った方が良いのか。どうでしょうか?

923 :デフォルトの名無しさん:2009/01/01(木) 16:06:11
>>911
ありがとうございます
参考にします

924 :デフォルトの名無しさん:2009/01/01(木) 16:15:16
>>922
まずは質問を書き込む前に自分でベンチマークをとる習慣をつけろ
質問は結果に疑問を持ってからしろ

925 :デフォルトの名無しさん:2009/01/01(木) 16:26:58
>>924
ごめんなさい。確かにそんな気がします。
質問を絞ります。
メタセコイヤで設定した材質(マテリアル)データはメタセコの標準的なXファイル出力機能で
出力できるのかそ?そもそもXファイルにそういうデータを含みえるのか、
含むとしたら、それをDirectXでどのようにロードしてどのように
設定すれば、画面にそのマテリアルデータを反映して、例えば
透明な立方体とかを描画できるのか?

話がメタセコとXファイルに寄るので、分かる人少ないかもしれませんが、
もしいらしたらよろしくお願いします。

926 :デフォルトの名無しさん:2009/01/01(木) 16:56:10
普通にマテリアル情報は保存されてるし
反映させることもできる
ただし読み込みまではD3DXでやってくれるが
反映は手動で行う必要がある

927 :デフォルトの名無しさん:2009/01/01(木) 17:58:22
>>926
分かりました。ありがとうございます。確かに
Xファイルからマテリアルの読み込みと反映は
サンプルのMeshでまんま、行われてますね。
g_pd3dDevice->SetMaterial() ですね。
デバイスに設定している以上、この辺はMeshも
DrawPrimitiveも変わらないんでしょうね。

928 :デフォルトの名無しさん:2009/01/01(木) 18:02:36
メタセコのX出力はテクスチャの位置があれなんで、
直接テキストエディタで開いて確認、修正する必要があるかも。

929 :デフォルトの名無しさん:2009/01/01(木) 18:06:13
ちゃんとUVマッピングにしてあれば問題ないはず
平面とか筒とか球ではってあるとおかしくなるかもしれんが

930 :デフォルトの名無しさん:2009/01/01(木) 22:30:38
D3DXCreateMeshFVF(
2500000,
10000000,
D3DXMESH_MANAGED,
D3DFVF_CUSTOMVERTEX,
g_pD3DDevice, &g_pMesh );

これだと、D3DERR_INVALIDCALLが返ってきます。
MSDNによると引数の与え方がマズいことなんかが原因らしいです。
そこで、最初の二つのパラメータを小さくするとエラーが出なくなりました。

数値の境を探したところ2の16乗-2である65534でした。

MSDNを見ると、引数の型はDWORDとなっているのに、なぜ16ビットまでになのでしょうか??

931 :デフォルトの名無しさん:2009/01/01(木) 22:52:07
ID3DXMeshがデフォでは16bitインデックスバッファで作成されてんじゃねーの?
D3DXMESH_32BITフラグでも追加すりゃ動くんかもわからんね

932 :930:2009/01/01(木) 23:03:35
>>931
できました!
どうもありがとうございました!

933 :デフォルトの名無しさん:2009/01/02(金) 00:21:45
座標+色の頂点を頂点バッファに書いて表示させました。
頂点の並びは、TRIANGLESTRIP方式でうまく表示されるようにしています。

しかしこれだと、法線情報がないので、ライティングを施せず、立体的に見えません。

そこで、Meshオブジェクトに変換して、ComputeNormalで法線を生成しようと考えました。
そしてまず、D3DXCreateMeshFVF()でメッシュを作りました。
そのメッシュから頂点バッファ、インデックスバッファのポインタを取り出して、
それぞれを埋めようとしました。
しかし、頂点数が多いこともあって、インデックスバッファをうまく埋められず困っている状況です。

この問題の解決に向けて取り組んではいるのですが、
もし、この方針以外で法線を作成する方法があるようでしたら、検討したいので
教えてくださいますよう、よろしくお願いします。

934 :デフォルトの名無しさん:2009/01/02(金) 00:46:03
D3DXCreateMeshFVFじゃなくて
もとのMeshからCloneMeshで法線情報を追加したコピーを作成して
その後でComputeNormal

935 :デフォルトの名無しさん:2009/01/02(金) 00:54:11
そもそも何でそんな苦労をしてD3DXを使おうとするのか理解できない。

936 :933:2009/01/02(金) 01:01:06
>>934
もとのMeshはなく、3DCGとは関係のない、あるデータ列を頂点として頂点バッファに
書き込んで表示するという用途なんです。

インデックスバッファが厄介なので、これを絡めないで表示する方法が欲しいところです・・・

>>935
ほんと、悲しくなります T_T

937 :デフォルトの名無しさん:2009/01/02(金) 01:08:06
そもそもデータ内容を変更するなら、インデックス自体も重複頂点を集計して再構成するだけの話。
やっかいも何もない。

938 :デフォルトの名無しさん:2009/01/02(金) 01:53:39
インデックスはべつに厄介なものじゃないし、自分で法線計算しても
大した手間じゃないだろう。
たしかD3DXの計算は、単純に同じ頂点を共有する面の法線を足して
正規化してるだけだよ。

939 :933:2009/01/02(金) 01:57:42
ありがとうございます。
がんばってみます。

940 :デフォルトの名無しさん:2009/01/02(金) 02:23:45
たとえばボタンとかリストボックスを裏で作って
操作するとそれに送って処理させて
表示だけDirec3Dにうつす事は出来ますか?

941 :デフォルトの名無しさん:2009/01/02(金) 02:32:28
>>940
何言ってんのかさっぱりわからねぇ・・・
とりあえずDirect3D上でUI機能つけたいなら
下手にWindowsの機構を流用せずに
全部自前で用意した方が苦労は少ないゾ?

942 :デフォルトの名無しさん:2009/01/02(金) 03:00:52
>>940
PrintWindowでHBITMAPにウインドウイメージを描画させることはできるが、
リアルタイムで毎フレーム呼ぶのは厳しい速度。

GUIコントロールは自作してみると、意外と簡単だよ。
自作しなくてもDirectXのSDKにソース付きで入ってるが。

943 :デフォルトの名無しさん:2009/01/02(金) 12:14:26
スレ違いかもしれませんが、

境界球による衝突判定を勉強してるのですが、
D3DXComputeBoundingSphereで中心と半径を計算するのと
自分で半径を勝手に決めちゃうのはどちらがいいのですか?

他にいいやり方があったら教えてください

944 :デフォルトの名無しさん:2009/01/02(金) 13:03:29
>>943
どっちでもいい
自分のライブラリがD3DXMeshベースなら
D3DX使った方がいいだろうし、
そうじゃないのなら自分のでもOK
やり方は、特にバリエーションがある訳じゃないので
考えなくてOK

945 :デフォルトの名無しさん:2009/01/02(金) 13:22:52
>>944 ありがとうございます!

自分のを使うことにします。






946 :デフォルトの名無しさん:2009/01/02(金) 17:05:22
D3DXは使うなって常識じゃん?

947 :デフォルトの名無しさん:2009/01/02(金) 17:07:16
それを突き詰めるとカーネルから作れという話になるわけだが
システム弄りに熱を上げるよりゲームに精を出そうぜ

948 :デフォルトの名無しさん:2009/01/02(金) 18:19:24
>>946
まぁそんな常識もないけどな

949 :デフォルトの名無しさん:2009/01/02(金) 18:21:53
配布が楽ならなぁ

950 :デフォルトの名無しさん:2009/01/02(金) 20:11:09
今はDXUTマンセ〜

951 :デフォルトの名無しさん:2009/01/02(金) 20:30:51
>>943
D3DXComputeBoundingSphereが返す球は全頂点の平均を取っただけで
あまり質がよくないから、自分で計算できるなら自分でやった方がいい。

952 :デフォルトの名無しさん:2009/01/02(金) 22:21:06
DXUTはIDがうざい

953 :デフォルトの名無しさん:2009/01/02(金) 22:57:09
ID3DXEffectを作成するのってD3DX系の関数しか無いんですか?あと、D3DXCreateEffectFromFileなどが
提供する、コンパイルエラー一覧というのは、ID3DXBufferで受け取るようになってますが、使うときは何にキャストすればいいんですか?

954 :デフォルトの名無しさん:2009/01/02(金) 23:00:09
>>953
ただのバイナリデータだから好きにキャストすればいいと思うんだ

955 :デフォルトの名無しさん:2009/01/02(金) 23:22:51
それでは分かりません・・・。

956 :デフォルトの名無しさん:2009/01/02(金) 23:49:30
普通に文字列として格納されているだけだが。
あぁちなみにUnicode版でもここに入るのはascii文字列な。

957 :デフォルトの名無しさん:2009/01/03(土) 00:28:07
>>956そうだったんですか。親切にありがとうございます(^ー^)
深度バッファの内容を画面に色つけて表示しようと思ってるんですが、現状
・D3DUSAGE_DEPTHSTENCIL,D3DFMT_D16,D3DPOOL_DEFAULTを組み合わせてテクスチャを作成。
・SetDepthStencilSurfaceにて、テクスチャのサーフェイスを設定
・普通に描画
・HLSLで深度テクスチャの内容を画面に反映
と考えてるんですが、D3DFMT_D16のテクスチャをHLSLで描画するときって何か特別なことする必要あるんでしょうか?
float4 pixelS(float2 tex : TEXCOORD0 , float4 src : COLOR0) : COLOR
{
return src;
}
これですら画面が真っ白になるだけでした。

958 :デフォルトの名無しさん:2009/01/03(土) 18:34:09
>>957
射影行列は、それなりにシーンとマッチしたものじゃないと
深度バッファの値に偏りが出て、目視では差がわかりづらいケースがある。
その場合、出力色を適当に累乗してやるとわかるようになったりする。
また、本当に深度値が出力されているか疑わしい場合は、
ピクセルシェーダで自分で深度値を作って出力してみるのも手。
こんぐらい。

959 :デフォルトの名無しさん:2009/01/03(土) 19:22:05
俺はシーンなんてメンドクサイことはしないで
すべての物をオブジェクトと見なし、ゲームの中に唯一つ存在する
タスク構造体配列の中にぶち込んで、ぶん回している

タイトル表示オブジェクト、メニューオブジェクト、PAUSEオブジェクト
ゲーム終了しますか?はいorいいえオブジェクト
プレイヤーオブジェクト、マップ表示オブジェクト、戦闘オブジェクトなどのように
利点は並列が可能なことだな
欠点は排他処理がちとメンドクサイかも
たとえばメニューオブジェクトとプレイヤーオブジェクトやマップ表示オブジェクトが
同一タイミングで存在する事はまずあり得ない
メニューオブジェクトでゲーム開始を選択したら
メニューオブジェクトを殺して、プレイヤーオブジェクトやマップ表示オブジェクトを生成する
フィールド移動中にメニューを呼び出した時は、プレイヤーオブジェクトやマップ表示オブジェクトを殺して
メニューオブジェクトを生成する

960 :デフォルトの名無しさん:2009/01/03(土) 19:54:48
誰もそんな事聞いてねーよ

961 :デフォルトの名無しさん:2009/01/03(土) 20:22:19
>>958
シェーダは色を出力できてるし、Zバッファへの書き込みも実際できているようです。
ちなみに2Dでレンダリングしていて、深度0.25出書き込んでる部分、0.75出書き込んでる部分などがあるので
わかりづらいということは無いと思います。

問題はシェーダでD3DFMT_D16のテクスチャから、画素値を読み込む方法が分からないんですが
tex2Dじゃ無いんでしょうか?

962 :943:2009/01/03(土) 21:21:55
質問です。
モデルの描写にD3DXMeshを使ってるなら
D3DXComputeBoundingSphereで境界球が計算できますが

DrawPrimitiveで描写してる場合は自分で計算させる関数などを作らなければいけなのですか?



963 :デフォルトの名無しさん:2009/01/03(土) 21:35:33
配列から距離の最大値をとるだけなんだから、ぐだぐだ言わずにとっとと作れよ。
返事を待っている時間で作り終わる内容なんだから。

964 :デフォルトの名無しさん:2009/01/03(土) 21:58:48
ヒントをあげよう、itaertorで配列を一個ずつ取り出してD3DXVECTOR3の値が
一番大きいやつをD3DXVec3Lengthで距離にする。
これだけいえば分るよな・・・・






ソートのアルゴリズムが分からないとかないよな?

965 :デフォルトの名無しさん:2009/01/03(土) 22:06:05
ただの配列にイテレータなんかいらねーしスペルはiteratorだし

966 :デフォルトの名無しさん:2009/01/03(土) 22:08:39
>>964
そのやり方じゃできないだろ・・・
嘘教えるなよ

967 :デフォルトの名無しさん:2009/01/03(土) 22:58:54
int polygon;
D3DXVECTOR3 pos:

for(int i = 0; i < polygon; i++) {
if(polygon_mesh[i+1] > polygon_mesh[i]) {
pos = polygon_mesh;
}
}
D3DXVec3Length(&pos):

でいけるだろ。

968 :デフォルトの名無しさん:2009/01/03(土) 23:07:23
せめてpolygonじゃなくてnpolygonにしろよ

969 :デフォルトの名無しさん:2009/01/03(土) 23:21:22
PolygonCountかiPolygon派

970 :デフォルトの名無しさん:2009/01/03(土) 23:52:01
変数の名前の前方に型を付けるコーディングは、広めたMS自体が採用をやめたスタイルなんだが。
.NETを広めておいて自分では使わないのと同じ。
MSというだけで盲目的に踊らされ、座ろうとした途端に椅子を引かれる馬鹿が
後を絶たないのは哀れとしか言いようがない。

971 :デフォルトの名無しさん:2009/01/03(土) 23:54:18
型よりもメンバか引数かローカルかグローバルかを書いてくれたほうが俺は好き

972 :デフォルトの名無しさん:2009/01/03(土) 23:57:45
初期のスタイルで書かれているWin32API関連のヘッダと、
新スタイルで書かれているGDI+関連のヘッダを見比べると、
凄まじいほどの方針転換が見てとれる。

973 :デフォルトの名無しさん:2009/01/04(日) 00:01:11
>>970
たった一文字のプレフィクスを見つけただけで
思わずそこまで書いてしまうお前が怖い

んで、今スレの流れはどこに向かってんのかしら

974 :デフォルトの名無しさん:2009/01/04(日) 00:15:33
>>967
全体的におかしいよそれ

>>961
nVidiaのサイトから、HWShadowmapの資料でも探してみたら?
俺のGPUはATIなもんで、その確認が出来ないのは残念だが

975 :デフォルトの名無しさん:2009/01/04(日) 00:18:59
っていうか、いつのまにかレンダリングターゲットが
D3DFMT_A1なんてフォーマットが追加されてるし
スゲーな俺のRadion9600は

976 :943:2009/01/04(日) 09:52:41
>> 974

大まかな流れ教えていただけませんか

977 :デフォルトの名無しさん:2009/01/04(日) 15:43:10
D3DXComputeNormalsがエラーを返すので困っています。

流れとしては

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 (オーバーしたデータ分の三角形番号)
というデバッグメッセージが出てきたので、これが出ないところまで面数、頂点数を減らしました。
このようなバッファの使い方も影響しているかも?

978 :デフォルトの名無しさん:2009/01/04(日) 16:46:04
だからD3DXに頼らず普通に計算して結果を格納した方がどれだけ楽だと。
なんでしなくていい無駄な苦労をしてまでD3DXを使い続けるんだろう?

979 :デフォルトの名無しさん:2009/01/04(日) 18:50:56
質問させてもらっても良いでしょうか。
DirectXでエフェクトファイルを扱おうと、読み込み関数を実行したのですが、読み込みに失敗します。
パスの指定ミスかと思い色々試してみたのですが・・・。

実行環境
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 で帰ってきます・・・。
なにか悪いところがあるのでしょうか。

980 :デフォルトの名無しさん:2009/01/04(日) 19:06:57
質問する前に最低限、エラーの値のチェックぐらいしたんだろうな?

981 :デフォルトの名無しさん:2009/01/04(日) 19:47:43
単にHLSLにコンパイルエラーがあるだけじゃね
とりあえずSDKのサンプル付属のfxファイルで読み込みまでを試してみれば?
それでもダメならそれこそパスの指定ミスだろ
DXUTFindDXSDKMediaFileCchで一度ファイルの検索して合ってるかチェック

982 :977:2009/01/04(日) 19:53:43
>>978
計算して格納できました。

ありがとうございました。

983 :デフォルトの名無しさん:2009/01/04(日) 23:51:05
射影行列の算出には一般的に
D3DXMatrixPerspectiveFovLH()関数を使いますが、
このようなパースが付くものではなくて、近くのものと遠くのものが同じ大きさになる
平行投影の射影行列はどのようにして作成するのでしょうか?

984 :デフォルトの名無しさん:2009/01/04(日) 23:53:36
D3DXMatrixOrthoXX

985 :983:2009/01/05(月) 00:02:01
>>984
ありがとうございました!

986 :デフォルトの名無しさん:2009/01/05(月) 00:02:06
なんでヘルプを確認しないんだろう?

987 :デフォルトの名無しさん:2009/01/05(月) 00:05:50
>>986
自動ヘルプ参照さんがいるからだろ
俺みたいな
答えている方は、答える前に必ずヘルプで確認を取っているはず
そう考えると滑稽な話だな


988 :デフォルトの名無しさん:2009/01/05(月) 00:10:23
氏ねばいいのに

989 :デフォルトの名無しさん:2009/01/05(月) 02:01:39
空気を読まずに質問させてください。
今作っているゲームをちょっと古いグラボ(Geforce FX5600)が乗ったPC
でテストしたところ、処理落ちが激しすぎて困っています。
具体的に、通常のテストで2D(32×32頂点4つ)板ポリゴン40枚表示で処理落ちし、
シェーダ(HLSL使用)を通さない時は80枚、DrawPrimitiveをしない時800枚(?)で
処理落ちし始めます。市販のゲームでは、CPU使用率が100%にならない限り、目に見えて
処理落ちしないのですが、このプログラムでは、CPU使用率は関係無く処理落ちする
ようです。この違いは何なのでしょうか・・・?ちなみにDXUTを使用しています。


990 :デフォルトの名無しさん:2009/01/05(月) 03:30:17
DXUTもバージョンによって動作が変わるからなぁ
特にDirectX9とDirectX10が統合されてからのバージョンは
どうも古いVGAだとなんか微妙に重くなったりすることもある
9と10が別々で提供されてた頃のUT使ってみるとか
後はPresentationインターバルを
D3DPRESENT_INTERVAL_DEFAULTから
D3DPRESENT_INTERVAL_ONEに変更したら改善したとかもあったな

991 :デフォルトの名無しさん:2009/01/05(月) 04:28:14
GPUのほうのメーターとかないんかね

992 :デフォルトの名無しさん:2009/01/05(月) 04:33:55
PIXでもPerfKITでも好きなの使え

993 :989:2009/01/05(月) 06:50:24
回答ありがとうございます。肝心なことを書き忘れておりました。
開発はDirectX9でSDK2007Aprilで行っています。重いのはDXUTの影響なんでしょうか?
どう考えてもDrawPrimitiveが重過ぎるので…。グラボ乗っててファミコンレベルのものも
動かせないってのはちょっと。
>>990
D3DPRESENT_INTERVAL_ONEには設定してあるんですがダメです。。
>>992
何故かPerfKITの導入中にエラーが起きるので今のところすぐにGPUを調べる手段はありませんが、
おそらくGPUの方はいっぱいいっぱいなんだと思います。ですがCPUの方は余っています。
PIXというのはどこを探せばよいでしょうか?見つかりませんでした、申し訳ありません。

994 :デフォルトの名無しさん:2009/01/05(月) 07:02:21
http://www.google.co.jp/search?hl=ja&safe=off&q=pix+d3d&lr=

995 :984:2009/01/05(月) 08:42:25
>>994
ありがとうございます。
PIX for Windows普段から使ってました…恥ずかしい。
GPUメーターの見方は良くわからないのでもう少しいじってみます。
てか、そろそろ1000行きそうですね。

996 :デフォルトの名無しさん:2009/01/05(月) 10:41:26
DXUTは結構挙動が変わるな
めんどくさくて放置してたDXUT部分を最新版に更新したら
開発マシンでは速度上がってすげーって思ってたら
別マシンでデバックしたときに速度ガタ落ちで結局元に戻したぜ

997 :デフォルトの名無しさん:2009/01/05(月) 18:11:40
997 !!!!!!!!!!!!!!!!!!!!

998 :デフォルトの名無しさん:2009/01/05(月) 18:55:10
そういえばDirectXを使うプログラミングをするときの開発環境で

999 :デフォルトの名無しさん:2009/01/05(月) 20:12:30
バナナはおやつに入るんですか?

1000 :デフォルトの名無しさん:2009/01/05(月) 20:22:25
入るのはおっぱいだけです。

1001 :1001:Over 1000 Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。

228 KB
★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)