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

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
※回答する人も、質問する人も必ず読んでください

これらに当てはまる人のための質問スレです。
1.C/C++は多少理解している。
2.最近DirectXを始めたばかり
3.SDKを見ても、Googleで検索しても、いまいち理解できない人

【 回答してくださる方 】
・ できるだけ優しく質問に答えてあげてください。
・ 優しく教えるのが嫌でしたら、解決するためのヒントだけでも結構です。
 「ググれ」「SDK見れ」以外の回答でおながいします。
・ 神ですら理解不能な質問は無視して下さい。

【 質問する香具師 】
・ どんな事で躓いているのか明確にしる。
・ 長くならないなら躓いている部分のコードを晒してみれ。
・ 解決した場合、お礼を言うのは当然だが、何をどうしたら解決したかを明確に書け。
2デフォルトの名無しさん:05/02/21 21:13:19
よくわからんけど、即死阻止で2get。
本日、「DirectX9 実践プログラミング」買って来ますた。
これからマターリと勉強します。
3デフォルトの名無しさん:05/02/21 22:49:21
乙カレーライス
4デフォルトの名無しさん:05/02/22 00:48:11
>>2

あれ意外とやくにたたない部分あるから注意
WEBサイトと比較しながらやったほうがいいかも
5デフォルトの名無しさん:05/02/22 00:57:11
皆さんのようなDirectXによる3Dプログラミングマスターになりたいのですが
どれくらいの時間をかけてどのような勉強をすれば、皆さんのような凄腕になれるのでしょうか?
6デフォルトの名無しさん:05/02/22 00:59:47
こんな質問する奴いねーよ。あやしい奴め。
7デフォルトの名無しさん:05/02/22 01:33:22
視錐台の近平面までの距離って0にしてもいいんですか?
なんでサンプルなどでは大抵1など0より大きくしているのは
何か理由があるんですか?
85:05/02/22 01:48:26
俺妖しいっスカね
9デフォルトの名無しさん:05/02/22 02:09:29
>>7
駄目だよ。射影行列の式を睨んでりゃわかるけど、
頂点のwを正規化するとzの情報が死んじゃうの。
10デフォルトの名無しさん:05/02/22 02:16:07
不特定多数の匿名相手に「皆さんのような凄腕」とか言うか?
ageて言うから怪しさ爆発。
マジレスするならプログラム作るのもいいが情報収集も重要。
海外も含めてニュース系、ブログなどで新技術の情報も毎日チェック。
それを続けて会社に入って3Dの仕事して10年も経てばそこそこの腕前。
参考書片手にプログラムしかしない奴はだいたい技術力低い。
11デフォルトの名無しさん:05/02/22 06:44:45
ここはプロプログラマが来るとこだったのか
全員趣味プログラマかと思ってたorz
12デフォルトの名無しさん:05/02/22 06:55:21
>>11
同人・投稿・フリーソフト作者はこちらへ

DirectX総合スレ (Part3)
http://pc5.2ch.net/test/read.cgi/gamedev/1105333209/
13マイク ◆yrBrqfF1Ew :05/02/22 10:30:23
有能なゲームプログラマは忙しいからこんなとこにはこれんな。
14デフォルトの名無しさん:05/02/22 19:51:49
>>最近DirectXを始めたばかり
これってそれなりに理解してるヤツは自力でなんとかしろ
ってことか?
15デフォルトの名無しさん:05/02/22 19:59:31
中上級者の愚痴
鬱だ氏のう DirectX (Part 15)
http://pc5.2ch.net/test/read.cgi/tech/1096649788/

DirectXに留まらない3Dテクニック
出し惜しみせずに3Dの技術を誰かが答えます Part4
http://pc5.2ch.net/test/read.cgi/gamedev/1021171809/

ゲームとDirectXに密接に関連した質問
DirectX総合スレ (Part3)
http://pc5.2ch.net/test/read.cgi/gamedev/1105333209/
16デフォルトの名無しさん:05/02/22 20:35:52
Xファイル(テキスト形式)についての質問。
Mesh なんとか {
12;
-319.000000;251.000000;546.000000;,
..(.略)

2;
3;2,1,0;,←ここ
3;5,4,3;;
..(略)
}

面の頂点の保存される順番って、モデリングツールによって様々なんでしょうか?
ツールで書き込んだ順番に保存されるということでしょうか
直線と平面の交点 と 面の3頂点それぞれの外積によって向きを取得したいんですが。
カリング判定も同様。
17デフォルトの名無しさん:05/02/22 21:28:09
XFileはあくまでコンテナ。
中の座標系もカリングもこうしなければならないという規約はない。
18デフォルトの名無しさん:05/02/22 21:30:13
がーん。
>>17 ありがと。
19デフォルトの名無しさん:05/02/22 21:44:36
20デフォルトの名無しさん:05/02/23 23:01:26
描画エンジンについて質問です。

DirectXを使ったシステムで、ゲーム進行処理と描画処理を平行に行うには
どのような方法が一般的なのでしょうか?
21デフォルトの名無しさん:05/02/23 23:39:55
22デフォルトの名無しさん:05/02/23 23:57:33
>>21
レスありがとうございます
Windows嬢でなら、やはりスレッド作るしかないですよね
リンク先を熟読し、熟考してみます
ありがとうございました
23デフォルトの名無しさん:05/02/24 00:47:28
24デフォルトの名無しさん:05/02/24 03:39:32
gccでDirectXは使えるの?borlandの無料コンパイラでもいいのですが、最適化機能が弱そうなので、gccを使いたいのですが。
25デフォルトの名無しさん:05/02/24 03:42:00
cygwinならどう?
26デフォルトの名無しさん:05/02/24 07:29:46
可能です
27デフォルトの名無しさん:05/02/24 08:01:01
mingwでも可
28デフォルトの名無しさん:05/02/26 05:48:44
DirectX学ぶなら先にWin32APIをマスターしたほうがよさげ?
29デフォルトの名無しさん:05/02/26 08:08:04
マスターの意味するところによる
30デフォルトの名無しさん:05/02/26 09:23:23
実際にはDirectXAPI+Win32APIでプログラミングするので
Win32APIを知らないと話にならない
31デフォルトの名無しさん:05/02/26 16:05:18
>>30
そんなわけねぇだろアホ。
実際はいらない。
SDKのサンプルに必要なものがすべてのってるので知らなくてもとりあえず
ゲームを作ることはできるはず。
後は、時間が解決してくれる。
32デフォルトの名無しさん:05/02/26 16:11:10
お前、時間が解決してくれる言いたいだけちゃうんかと。
33デフォルトの名無しさん:05/02/26 16:55:07
>>31
時間が解決してくれるわけねぇだろアホ。
ということも、時間が解決してくれるさ。
34デフォルトの名無しさん:05/02/26 18:35:58
アホとか言う厨房がいるスレは荒れる。
35デフォルトの名無しさん:05/02/26 20:05:14
>>31
そのサンプルでWin32APIを使ってるんだが
36デフォルトの名無しさん:05/02/26 20:42:01
>>35
べつに知る必要はないよね。
37デフォルトの名無しさん:05/02/26 20:44:05
>>28
まあ、会話読んでてわかると思うけどマスターする必要は無い。
特に本腰いれて勉強する必要も無い。
でも、ちょっとだけ出てくる。
そんな感じ。
38デフォルトの名無しさん:05/02/26 20:51:44
はっきりいってwin32はウィンドウ作ることぐらいしか使わない

一度骨格作ればあとはすべてDirectXだからはっきりいって
win32勉強する必要なし
もし必要になってもMSDN見れば分かる程度のことだけ

win32必要だおりゃ〜とかいってるやつ 本当にDirectXやってるのかw?
39デフォルトの名無しさん:05/02/26 21:05:07
釣りにしては、
ちょっと威力が足りない気がする…


しかしそうかー、
ファイルの読み書きもしないのかー。
SaveDataとかどーすんだろー。
40デフォルトの名無しさん:05/02/26 21:05:32
こうやって不勉強の言い訳しかしないからスレッド一つまともに使えなくなるわけだ。
41デフォルトの名無しさん:05/02/26 21:27:42
AdvancedWindows くらいは読んどけ
42デフォルトの名無しさん:05/02/26 21:33:58
>>40

スレッド使うときにMSND見ればいいだけの話
そもそも別スレッドたててうんぬんなんか普通のゲームプログラムじゃやらん
わざわざ最初に勉強する必要なんかまったくないぞ

ストリーミングやるときに勉強しなはれ
43デフォルトの名無しさん:05/02/26 21:42:23
>>42
MSDNを見ただけで、スレッドを使う場合の注意点や危険性ががわかるあなたは天才ですね。
44デフォルトの名無しさん:05/02/26 21:50:45
>>42
自爆するにしても早すぎます、閣下w
45デフォルトの名無しさん:05/02/26 23:05:39
>>43

MSDNでわからなければネットで調べればいい

俺が思うのはDirectXでゲームを作りたいのに、なぜ余分な勉強をしなければならないのか
別にスレッドなんか知らなくてもDirectXでゲーム組むことできるんだけどさぁ?

そうやっていろんなこと沢山取り入れようとすると、時間ばかりかかってしまって
全然効率的ではない

そのぐらいのことはわかるだろう

46デフォルトの名無しさん:05/02/26 23:15:40
関係ないが、ゲームで意味もなくマルチスレッド使いたがるヤツは勘弁
47デフォルトの名無しさん:05/02/26 23:18:44
言い忘れたけど、win32勉強するにしても、DirectX勉強するにしても
どこまで勉強したいのか明確にしなければ時間ばかり費やす結果になる

つまり、自分が実現したいシステム上で何が必要で、今何が足りなくて
何の勉強をする必要があるのか を把握する必要がある

今使わないけどいつか使いそうな機能なんだよなーと勉強してると
いつまでたっても先へすすめない
48デフォルトの名無しさん:05/02/26 23:25:04
>>45
> MSDNでわからなければネットで調べればいい
無知なら無知で構わないが、こういういい加減な発言を垂れ流すのはやめるべき。
スレッドを使ったプログラムでどこに不具合が出るか、ネットで調べるだけで分かったら苦労しない。
これは実際にやってみて経験を積むしかない。
で、この程度のことも分かっていないということは、まともにスレッドを使ったことが無く、
使った場合の利点と欠点を知らず、必要に応じて使い分けることも出来ないということになる。
つまり非効率なプログラムを組んでいることも認識できていない。
なぜ自分が無知なのを大声で叫び続けるのか、さっぱり理由が分からない。
49デフォルトの名無しさん:05/02/26 23:33:19
>>45は、とりあえず動くものは作れるってことが
言いたいだけなんじゃないの?バカに変わりないけど
50デフォルトの名無しさん:05/02/27 00:05:07
そんなことだからCPU使用率100%でも恥ずかしくないんだろうな。
51デフォルトの名無しさん:05/02/27 00:13:54
45は、そこまで非道いこと言ってないと思うんだが、
誰かの触れてはいけない所に触れたのか?
52デフォルトの名無しさん:05/02/27 00:20:56
余分な勉強は必要ないと学校の勉強をおろそかにして、
初歩的な高校数学で出来るような計算が出来ずに
途方に暮れている奴が3Dをやっているような状態。
53デフォルトの名無しさん:05/02/27 00:30:26
コンシューマ機をメインでやっているから
CPU使用率100%使っちゃう俺は恥ずかしいヤツだな…orz
他アプリとの共存めんどくせー
54デフォルトの名無しさん:05/02/27 01:07:43
>>48

スレッドの利点、欠点をしらずにっつーか
そんなこと 必要なければ勉強する必要ないんだよ
そこんとこ理解しろやw

あんたら無駄に勉強して知識付けすぎで、話がわけわからなくなってるぞ
自分にとって必要なものだけ勉強すればいいんだよ

そんなに時間無駄にしたいのかorz

つまり、ゲーム作りたいってやつにスレッドどうこうのいってる時点でおかしいってことにきづけ
55デフォルトの名無しさん:05/02/27 01:09:03
>>52

3Dの勉強と 学校の数学は 似てるようで違う
3Dの勉強はそれでまたやればいいだけ
学校の数学やってれば3D組めるわけがないだろ
56デフォルトの名無しさん:05/02/27 01:10:36
>>52

学校の数学やってれば >> 学校の数学やっているだけで
57デフォルトの名無しさん:05/02/27 01:18:41
>>54
使ったことがないのに勝手に必要ないと判断している時点で終わっている。
自分が使うかどうかはそれこを勝手だが、
自分が理解していない物に関して、他人に必要ないと説くのは有害でしかない。
58デフォルトの名無しさん:05/02/27 01:36:39
>>53
他アプリ関係なし。あなたまだ問題を理解してないね。

>>54
知らないけど必要ないことは知っている、なんて滅茶苦茶だよ。話にならない。
あんたプログラムの知識がゼロだった時に必要な知識がどれだかわかったのかい?
わかったならいいや。あんたエスパーだよ。

>>57
スレッドが有効な場面を説明してみなさいよ。
ないなら無駄な知識といわれても仕方ないね。
生かせない程度の知識だってことだから。
59デフォルトの名無しさん:05/02/27 01:46:52
>>58
何が問題なの?
60デフォルトの名無しさん:05/02/27 01:51:46



      Windows上でのゲームプログラミングにWin32の知識は必要ですか?

61デフォルトの名無しさん:05/02/27 02:02:12
必要です。
62デフォルトの名無しさん:05/02/27 02:39:34
>>60
ほとんど必要ない。
DirectXSDKのサンプルをコピーして終了で十分と言えます。
63デフォルトの名無しさん:05/02/27 02:43:18
なんか誰か必死になってるみたいだけど
基本的には>>45に書いてあることは正しいと思っていいと思うよ。(俺は>>45じゃないけど)
必要ならそのつどMSDNでも調べればOKだよ。
64デフォルトの名無しさん:05/02/27 03:26:55
>>63に同意
初心者スレだし、まずは何か作りたいと思う人ならそれでいいんじゃないかな
65デフォルトの名無しさん:05/02/27 03:57:23
とりあえず小さなものを一度作れば自分に足りないものが見えてくるんでは?
その上で改めて勉強した方がきっと頭に入りやすいと思うよ。

で、足りないものを補って次を作って、また足りないものを補って・・・と繰り返すことで
徐々に身についていくと思う。

そういう意味で、WinAPIの知識がいずれ必要になってくることはあるんじゃないかな?

まっ、こんなところで油売ってる暇があったら何かしらさっさと取り組むべきだね>ヲレモナー
66デフォルトの名無しさん:05/02/27 04:11:08
なんだか少し前からこのスレ、精神論とかマナー論議とか
誰でも参加できる簡単な話題でばかり盛り上がるのな

昔は新規のレスが多いと嬉しかったのに…
6766:05/02/27 04:20:13
すまん、鬱だスレと間違えてた、こっちじゃしょうがない
68デフォルトの名無しさん:05/02/27 04:30:04
>>58

>知らないけど必要ないことは知っている、なんて滅茶苦茶だよ。話にならない。
>あんたプログラムの知識がゼロだった時に必要な知識がどれだかわかったのかい?
>わかったならいいや。あんたエスパーだよ。

確かに勉強しはじめたころ何が必要かなど分からないことがたくさんあるが
その状態でwin32すべて理解しろというのか
ごくわずかな人を除くほとんどの人はwin32を理解することを目的とするのではなく、
ソフトウェアを作る過程においてwin32を利用したいのだろう(あるいは利用せざるおえない)

ならば、そのソフトウェアでどういったことを実現したいのかを明確にして
それにはどういった機能が必要なのかを調べ、それの勉強したほうが
いいにきまっている

なぜなら、それは自分にとって必要だと判断した情報であり、必要だと判断した勉強だからだ

勘違いしているようだが、スレッドはまったく必要ないといいたいのではない
俺がいいたいのは、スレッドがなくてもソフトウェアは作れるということだ

普通はスレッドを勉強することを目的とするのではなく、自分が達成したい目的のために
スレッドを勉強するのだろう
必要ないと自分で判断すれば利用する必要はない


69デフォルトの名無しさん:05/02/27 10:02:57
自分で勝手に判断して使わないのは勝手だが、
自分は無能のままでいいから、他人も無能のままでいても問題ないというのは間違っている。
少なくとも他人に対して馬鹿のままでいいと触れ回るのはやめるべき。
70デフォルトの名無しさん:05/02/27 10:12:53
>>68
君の発言はまるで中身がない。
一番不要なのは君だ。
71デフォルトの名無しさん:05/02/27 10:43:56
>>68
> 俺がいいたいのは、スレッドがなくてもソフトウェアは作れるということだ
残念ながらスレッドがなかったらWindows上でプログラムが動かせませんよ。
72デフォルトの名無しさん:05/02/27 10:46:21
その書き込みは敗北宣言に等しい
73デフォルトの名無しさん:05/02/27 11:11:41
つまり勝つとか負けるとかいうことに意味を見いだしている人なのか。
74デフォルトの名無しさん:05/02/27 11:18:21
で、DirectXの質問はどこ?
75デフォルトの名無しさん:05/02/27 11:29:57
>>71
残念ながらWindows上でプログラムのメインの処理自体がスレッドだというのは後から分かるので最初は意識しなくても動かせますよ。
76デフォルトの名無しさん:05/02/27 11:53:46
そして分かっていない人がCPUを無意味に使い切ったりするわけだが。
77デフォルトの名無しさん:05/02/27 12:06:30
CPU使用率100%が嫌われるのはそれが空ループかそれに近い形で実装されているから。
78デフォルトの名無しさん:05/02/27 12:50:57
>>68

ここでいうスレッドというのはマルチスレッドのことを言っている
79デフォルトの名無しさん:05/02/27 12:53:40
>>77
CPU100%とかそういう程度の低い内容やめてくれよ
話している内容はそういうことではないだろう?
80デフォルトの名無しさん:05/02/27 13:10:09
>>79
え、違うんですか?
81デフォルトの名無しさん:05/02/27 13:34:55
SetRenderStateメソッドはペナルティが大きいようですが、
SetVertexShaderConstantFメソッドのペナルティはどれくらいですか?
82デフォルトの名無しさん:05/02/27 13:47:21
>>81
マニュアルの[Direct3D API 呼び出しの正確なプロファイル]に
平均サイクル表とか載ってるよ。
83デフォルトの名無しさん:05/02/27 14:09:40
>>82
ヘルプのバージョンが古かったようでした。
最新のヘルプを入れたら載っていますね。
ありがとうございました。
84デフォルトの名無しさん:05/02/27 14:28:51
フリーのものだけで、DirectXプログラミングをやりたいのですが、何をそろえればよいのでしょうか?
85デフォルトの名無しさん:05/02/27 14:33:32
フリーのものだけで、DirectXプログラミングをやりたいのですが、何をそろえればよいのでしょうか?
86デフォルトの名無しさん:05/02/27 15:47:28
質問です。環境は XP、VC++6.0 です。

LPDIRECTSOUNDBUFFER 型 buffer、
LPDIRECTSOUNDNOTIFY 型 notify を用いて、

HRESULT result = buffer->QueryInterface(IID_IDirectSoundNotify, (LPVOID *)¬ify);
if (FAILED(result)){
 return false;
}

とすると、result に E_NOINTERFACE が返され、失敗してしまいます。

マニュアルには、QueryInterface は
「オブジェクトが特定のコンポーネント オブジェクト モデル (COM) インターフェイスをサポートしているかどうかを判別する」
とあるのですが、これをサポートしていないということでしょうか?
また、サポーしていない理由として、何が考えられるでしょうか?

よろしくお願いいたします。
87デフォルトの名無しさん:05/02/27 16:23:44
>>85

とりあえず初めてならHSPをやってみて
本格的に作りたいと思っているのであれば
visual studio .net spoke(学生割引 定価4980ぐらい アマゾン価格3980)を
買ってC++でやったほうがいい
88デフォルトの名無しさん:05/02/27 16:33:57
>>85
この世界ただより高い物は無いよ。
VC(5000円ぐらいのある)とDirectXの入門書ぐらいは買わないと一歩進むたびに
誰かに頼らなければ前へ進めないので非常に効率が悪い。
89デフォルトの名無しさん:05/02/27 16:35:04
>>88
どの入門書がいいですか?
90デフォルトの名無しさん:05/02/27 16:37:35
>>89
DirectXの入門書
91デフォルトの名無しさん:05/02/27 17:08:26
ハード系の板で聞くよりこちらの方がご存知の方がいそうなので伺いたいのですが、
ビデオカードのスペックとかのデータベースがかなり充実してる
MSDNっぽい見た目のサイトってなかったでしたっけ?
知ってる人いたらURL教えて下さい。お願いします。
92デフォルトの名無しさん:05/02/27 17:33:56
93デフォルトの名無しさん:05/02/27 17:41:02
>>92
ああ!ここです。ありがとうございました。
94デフォルトの名無しさん:05/02/27 19:49:27
DirectXってDebugモードとRetailモードを切り替えたときに
再起動しなきゃ適用されないと聞いたのですが、本当ですか?
再起動する間の時間が手持ち無沙汰であまり好きではないのですが。

環境:
SDK: DirectXSDK 9.0 (Update October 2004)
OS: WindowsXP Home (SP none)
Compiler: Borland C++ Builder 5.5
9586:05/02/27 23:19:15
どなたかお願いできないでしょうか……。

ストリーミング再生を行なうため、再生の途中の通知が必要となってます。
96デフォルトの名無しさん:05/02/27 23:52:38
>>95
SoundBuffer作成時にDSBCAPS_CTRLPOSITIONNOTIFY指定してないなんて
間抜けなオチだったら死ね。
97デフォルトの名無しさん:05/02/28 03:26:45
>>96
お前みたいなやつが一番むかつくんだよ
簡単にシネとか口にしてんじゃねーよ

>>95
とりあえず >>86 の bufferがどのように作られたか書いてくれないと
サポートの使用がないよ
98デフォルトの名無しさん:05/02/28 06:48:27
ここは大した実力も無いヤツが、初心者を罵倒して優越感に浸るスレだよ
99デフォルトの名無しさん:05/02/28 10:21:14
1から98まで読んできたけど俺もそう思った。
誰でも返信できそうな話題では盛り上がる。
でも技術的な話には、触れない。
俺も初心者だから楽しみにしてたのに。。。
100デフォルトの名無しさん:05/02/28 10:27:39
確かにな、こんなに初心者に罵倒するんだったらこんなスレを立てるん
じゃねーよって感じだね。
101デフォルトの名無しさん:05/02/28 10:28:50
2chも終わったな。 結局どこでもこんな感じになってる。
102デフォルトの名無しさん:05/02/28 10:35:31
なんというか、住人の若年化してるんじゃなかろうか。
漏れももうオサーンだしなあ。
103デフォルトの名無しさん:05/02/28 10:44:26
誰でも返信できそうな話題では盛り上がる。
104デフォルトの名無しさん:05/02/28 11:24:13
2Dの場合、ポリゴンを使うよりスプライトの方が高速に処理されるのですか?
105デフォルトの名無しさん:05/02/28 13:56:39
>>104
単純にスプライトを転送するだけならDirectDrawの方が高速

しかしスプライトをアルファ値を使って綺麗に抜きたい場合、及びスプライトを
拡大縮小したり、任意の角度へ回転する場合は、ポリゴンを使った方が一般的に速い
106デフォルトの名無しさん:05/02/28 13:58:30
・丁寧に答える
・くだらなすぎる質問なのでスルーする(催促されても一切無視)

この二択でいいね
107マイク ◆yrBrqfF1Ew :05/02/28 14:24:48
>>101
早く終わってくれればいいがそんな感じでもう6年目じゃないのか・・・?
108デフォルトの名無しさん:05/02/28 19:39:29
音関係は気合入れてやってる人が少ないんでないのか?
ここにいる人たちがヘタレとか関係なしに
109デフォルトの名無しさん :05/02/28 20:04:21
>>106
下段は自分がそうしたいならすればいいけど、
「下らない質問だからスルーね」とかいうやつは性質が悪い。
お前がスルーするのは勝手だが周りを誘うなと。
答えたい人だけ答えてくれりゃよし。答えたくなきゃ黙っとけと。
110デフォルトの名無しさん:05/02/28 21:25:42
>>109
いや、だからそれが>>106の下段の話だろ。
どんな受け取り方をしたのかいまいちわからんな。お前。
111106:05/02/28 22:21:24
いや分かる分かる。確かに分かりづらいが。
つまり言うなれば「スルー対象指定厨」が出てこないように釘を刺しているんだよね?
112デフォルトの名無しさん:05/02/28 23:57:07
>>107-111はスルーよろ
11386:05/03/01 00:09:30
ええと……

>>96
回線吊って首切って死んできます ∧ ||∧
114デフォルトの名無しさん:05/03/01 05:29:45
2Dで尾を引くようなミサイルの表現の仕方を教えてください
115デフォルトの名無しさん:05/03/01 10:39:31
>>114
尾を引けばよい。
ミサイルの過去の軌道を数点記憶しておいて、その情報を利用して描画。

DirectXにWin32は必要か?って必要に決まってるんだが、どの程度って
問題はあるよな。最低限のWin32関数10個もあればDirectXのフレームワークは
作れるし、それ以上のことをしたければ「猫でも〜」を参考にしつつMSDNを
読む程度でもそれなりに作れると思う。

スレッド話が出たところでついでに聞きたいのだが、ファイバの使いどころって
どういうところにあるんだろう。
116デフォルトの名無しさん:05/03/01 11:46:52
>>114
マイクロソフトのアカデミックなんちゃらってページにある
ゲーム制作のチュートリアルで、
花火みたいなののサンプルがあった。たしか。
そこでのサンプルは、
軌跡の進行方向のベクトルを計算して、それに直行する方向ベクトルで「幅」を作って
その連続でポリゴンのリボンを「尾」を作成していくみたいな方法だったと思う。
117デフォルトの名無しさん:05/03/01 12:01:19
ボリュームレンダリングの仕方を教えてください
118デフォルトの名無しさん:05/03/01 13:34:26
>>114>>117
自分で少しは調べたのかよ基地外
119デフォルトの名無しさん:05/03/01 14:15:51
>>118はやり方もわからないアホ
120デフォルトの名無しさん:05/03/01 14:43:15
>>115
ないんじゃないの? ファイバーの使いどころなんて。
ちっこいFSMなら独自で書いたタスク、経路探索なんかはスレッド使った方が
スッキリ書ける場合がほとんどでしょう。

>>119
釣れましたね(棒読み)
121デフォルトの名無しさん:05/03/01 21:09:28
タスクもスレッドも独立性を保つためなら結構いい感じに動くが
他との関連があるととたんに糞一色に染まるな(笑)
俺はどっちも使ってねぇけど。
そういう奴っている?
122デフォルトの名無しさん:05/03/01 21:58:19
それって自分が使いこなせないと
なんでもクソ扱いにしちゃう奴って事?
123デフォルトの名無しさん:05/03/01 22:12:22
わざわざなんでもかんでもスレッドにしたり、クソって言ったことを、使いこなせないことにしたりするのは、やめて 
もらえませんかね。 
自分がスレッドを使いこなせていて他者を卑下したい気持ちは、 
わかります。 
だからといってちょっとクソって言っただけで、>>121がスレッドをスレッドを使いこなせていない
とか考えているんでしょうが、 
そういう馬鹿げた事はやらないでもらえませんかね。 
貴方の思考回路は一体どうなってるんですか?ほんと障害児の見本と言っ 
ても、過言では無いですよね。 
スレッドを読む側としても、何のためのスレッドなのかよくわからなくなってしまったりするの 
でやめて頂けませんか? 
とりあえず個別ぼ〜んさせて頂きましたので、これ以上続くような 
ら「ひろゆき」とかいう引き篭もりキモヲタに、通報して、 
アクセス制限という厳重な処置を取らせて頂きますので。では。 
124デフォルトの名無しさん:05/03/01 22:44:57
>>121がスレッドをスレッドを使いこなせていない

なんで二回言うんだ
125デフォルトの名無しさん:05/03/01 22:47:32
>>121
とりあえずどういう理由でスレッドがクソなのか書いてくれ。
126デフォルトの名無しさん:05/03/01 22:54:30
悪魔の証明ってわけじゃないがスレッドの有用性を主張してるほうもプレゼンして欲しいぞ。
127デフォルトの名無しさん:05/03/01 23:31:54
「俺はどっちも使ってねぇけど。 」で知れてるんじゃない?
>121が不勉強っていうことでDirectXの話題キボンヌ。
128デフォルトの名無しさん:05/03/01 23:35:39
>個別ぼ〜ん
129デフォルトの名無しさん:05/03/02 00:11:26
>>115
ファイバはUnixからの移植用に用意されたもので、
新規のアプリケーションがこれを利用する意味は
ほとんど無いよ。
130デフォルトの名無しさん:05/03/02 00:55:20
ファイバとスレッドって、どっちが細かいですか?
なんとなくファイバが細かそう。
131デフォルトの名無しさん:05/03/02 01:22:49
よこやり失礼。
.NET2003にて、DirectX9SDKをインストールし、ヘルプファイルをインストールしました。
directx9_c.chmファイルは日本語なのですが、.NET上から閲覧できるDirectX9JpnDoc.msiが、
どうも日本語じゃないのです。.NET上からも日本語ヘルプが見れたほうが便利なのですが、
日本語化されているのは独立したdirectx9_c.chmファイルだけなのでしょうか?

SDKはDirectX 9.0 Summer 2004、ヘルプファイルは2002/12/19公開版です。
132デフォルトの名無しさん:05/03/02 01:39:23
日本語のほうが読みやすいけど、日本語のヘルプは
随所に間違いや昔のままの記述が残っていて、結局
英語のヘルプを読まざるを得ないところが困りもの。
133デフォルトの名無しさん:05/03/02 01:57:16
>>131
DirectX 9.0 SDKをVS.NET2003で使う
http://c-production.com/special/03092801.html
134デフォルトの名無しさん:05/03/02 04:39:14
>とりあえず個別ぼ〜んさせて頂きましたので、
>とりあえず個別ぼ〜んさせて頂きましたので、
>とりあえず個別ぼ〜んさせて頂きましたので、
135デフォルトの名無しさん:05/03/02 04:39:56
こいつスレッドの前に日本語勉強したほうがいいな
136デフォルトの名無しさん:05/03/02 07:39:49
>>135
俺は>>121以降発言してないけど?
137デフォルトの名無しさん:05/03/02 07:58:51
結局スレッド使ってもCPU100%のままってこと?
138131:05/03/02 08:18:38
>>133
d。日本語_なわけやね・・・(´・ω・`)
139デフォルトの名無しさん:05/03/02 10:38:11
>>137
無能な奴がマルチスレッドを使っても、状況が悪化するだけ。
ある意味使わない(使えない)という判断は正しい。
140デフォルトの名無しさん:05/03/02 14:06:32
ところでもまいらスレッドはどうしてる?
直で_beginthread?boost::threadとか?

漏れはboost::threadだけどJavaに比べて激しく使いにくい感じだ
141デフォルトの名無しさん:05/03/02 16:00:09
マルチスレッドプログラミング相談室 その3
http://pc5.2ch.net/test/read.cgi/tech/1098268137/
142デフォルトの名無しさん:05/03/02 19:42:13
>>141
お前を待っていた!
143デフォルトの名無しさん:05/03/03 18:33:51
メッシュと四角形プリミティブのアルファブレンドの仕方教えてください。
メッシュを半透明にし、四角形は不透明にしたい。
四角形の4頂点の色のアルファ値を0xffにして
SRCを1.0そのままで、
DESTをINVSRC(1.0-SRC)にしたんですけど、ダメでした
144デフォルトの名無しさん:05/03/03 20:22:50
リフレッシュレート60Hzのとき更新される間隔って

1000ms/60 =
A: 16.6666... ms
B: 16.0 ms
C: 17.0 ms
D: その他(    ms)

どれ?
145デフォルトの名無しさん:05/03/03 20:31:53
何でこの馬鹿はmsになおすんだ?
msで教えて欲しかったら円周率を最後まで出してから出直してこい。
146デフォルトの名無しさん:05/03/03 20:34:53
整数じゃないならPresentで待つしかないからマルチスレッド必要じゃん
147デフォルトの名無しさん:05/03/03 20:54:34
閏年は何のためにあるのかを問うているのか?
148デフォルトの名無しさん:05/03/03 20:57:08
そう
149デフォルトの名無しさん:05/03/03 21:05:53
グランドクロスがなければ閏年もないわけだが。
150143:05/03/03 23:01:18
解決しました。
151デフォルトの名無しさん:05/03/04 01:33:17
>>144
ハードウェアメーカーに聞いたら?
プログラマとしては次の更新までに描画が終わってれば無問題だから
そこまで細かく考えなくていい
と漏れは思っているが
152デフォルトの名無しさん:05/03/04 01:35:25
>>144
59.94
153デフォルトの名無しさん:05/03/04 01:57:00
>>151
いや、だから、
154デフォルトの名無しさん:05/03/04 02:52:34
>144
答えでてるじゃん
1000ms/60
なんでわざわざmsにしたいの?
無限小数点知ってるか?

どうせアレだろ
タイマー使ってフレームレート固定にしたいけどタイマーがmsで返すからってことだろ
それならそういう質問しろよ
なんでわざわざ遠回りな聞き方するわけ?
てかゲ製作池
155デフォルトの名無しさん:05/03/04 03:57:05
"無限小数点" の検索結果のうち 日本語 と 英語のページ 約 9 件中 1 - 8 件目 (0.38 秒)
156デフォルトの名無しさん:05/03/04 04:07:08
循環小数 の検索結果のうち 日本語のページ 約 6,830 件中 1 - 10 件目 (0.30 秒) 
157デフォルトの名無しさん:05/03/04 04:10:36
循環小数かどうかは全然関係ないことだが
158デフォルトの名無しさん:05/03/04 04:50:57
1000ms/60 なんて表現はコンピュータの内部で表現できないんだから
実際はもっとキリのいい数字なんじゃないの?
159デフォルトの名無しさん:05/03/04 08:25:38
>>158
お前のビデオカードのRAMDACはマルチメディアタイマで動いているのか?
160デフォルトの名無しさん:05/03/04 09:01:08
キリのいいとかワケのワカランことを言ってる異常者は
プログラムやめて小学生レベルの勉強からしなおしたら?

普通の脳ミソだったらそんな意味不明なことは言わないんだけどな。
最近はなんでこういう頭の弱いキチガイが多いのかね。
これがム板のレベルか?
161デフォルトの名無しさん:05/03/04 09:15:59
釣りだろ、釣りじゃなかったらヤバいぞこれは。

だってこの思考回路で高校行って弧度法習っても、
テストのときにπ/2[rad]とか出てきたら必死で計算するんだぜw

1.57075・・・・・・・・・・


友達「問5の答えって何だった?」
>>158「いや、分からない、ずっと割り切れなくて・・・」
友達「え?そうか?俺はπ/2だったけどな」
>>158「テストなんだからもっとキリのいい数字なんじゃないの?」
友達「・・・?」
162デフォルトの名無しさん:05/03/04 09:25:44
>>161
面白くない
笑いのセンスがないことを自覚しなよ。
163デフォルトの名無しさん:05/03/04 09:34:34
リフレッシュレートが円周率ってのはなんとなくわかったけど
でもコンピュータが処理するんだから最終的にはデジタルになるんじゃないの?
円周率だってコンピュータだと無限じゃないじゃん
164デフォルトの名無しさん:05/03/04 10:54:11
頭が頭痛で痛む。
165デフォルトの名無しさん:05/03/04 17:12:11
>>162
自覚ならしてるがそれがどうかしたのか?
今面白いかどうかの話題なの?
だったら面白いコピペいっぱい貼ってやるが。

ちょっくら探してくる。
200レス分もあれば十分か?

>>163
だからコンピュータ関係じゃなくて学校の勉強してから出直せつってんだよ。
166デフォルトの名無しさん:05/03/04 17:16:09
廊下のカーテンを開け閉めする時に何となく包まってみる。 
で、「むいむい、むい?むい!」と言いながらウネウネ動く。 

ついヒートしてしまい、「むぃぉぉぉ!」と盛り上がっていると「何してんの?」と姉の声がした。 
息を殺し、動きを止めてやり過ごそうとしたら、無言でカーテンを剥ぎ取られた。 

おどけたフリをしながら「OH、見ーつかっちまったか!バッデム!」と言ってヒザを叩いた。 
すぐさま、「ガッデムの間違いじゃないの?」と言われた。俺は逃げた。 
167デフォルトの名無しさん:05/03/04 17:19:15
俺は小学生だった。 
友達に借りたドラクエ1。 
友達はまだクリアしていなかったが、貸してくれた。 
優しい男だ。 
一週間後、俺はクリアし、貸してくれた友達にその様子を詳しく話して自慢した。 
友達は泣いた。 
感動の涙ではなく、物語の終わりを聞いてしまったから。 
その日の夜、その友達の親が俺の家に来た。 
次の日学校、朝の会、担任の先生が生徒達に言った。 
「ファミコンのカセットの貸し借りは禁止します」と。 
俺は小学生だった。 
168デフォルトの名無しさん:05/03/04 17:22:06
169デフォルトの名無しさん:05/03/04 17:28:23
コピペ探しててふと思ったんだけど、
これはどこで笑えばいいの?
 ↓

162 名前: デフォルトの名無しさん [sage] 投稿日: 05/03/04 09:25:44
    >>161 
    面白くない 
    笑いのセンスがないことを自覚しなよ。 
170デフォルトの名無しさん:05/03/04 18:17:21
----------------------------------------------------------

           ここまで読み飛ばした。

----------------------------------------------------------
171デフォルトの名無しさん:05/03/04 18:52:03
今日も技術的な話題で盛り上がってますね
172デフォルトの名無しさん:05/03/04 22:45:48
>161の新作はまだか?
173デフォルトの名無しさん:05/03/04 23:17:37
>>161
( ´,_ゝ`)プッ

お前、π/2が割り切れるのも知らねーの?
ここでも見てこい。
http://www.f7.dion.ne.jp/~moorend/news/2005020901.html
174デフォルトの名無しさん:05/03/04 23:22:32
西岡さんワロタ
175デフォルトの名無しさん:05/03/04 23:35:16
>>173
俺は小学生でπを習った時にすでに発見していたけどね☆
176マイク ◆yrBrqfF1Ew :05/03/05 00:27:20
千葉電波大学ってネラが沢山いそうだな(▽
177デフォルトの名無しさん:05/03/05 01:01:16
>>173
!?
178デフォルトの名無しさん:05/03/05 01:36:51
>>173
虚構新聞社なかなかネタがおもしろいなw
179デフォルトの名無しさん:05/03/05 05:15:15
相変わらず、誰でも参加できる易しい話題だとスレが進むな
180デフォルトの名無しさん:05/03/05 05:20:44
>>179
しかもこの程度の話で凄い大げさになるのがここのスタイル
181デフォルトの名無しさん:05/03/05 07:36:22
頂点シェーダで法線ベクトルに拡大行列を掛けて変換すると、
元は面に垂直だった法線が垂直ではなくなってしまうんですが、
こうならないような何かいい方法はありませんか?
182デフォルトの名無しさん:05/03/05 09:31:41
法線ベクトルを非直交行列で変換する場合は
その行列の逆行列を転置した行列を使う。
詳しくは『ゲームプログラミングのための3Dグラフィックス数学』を参照せぃ。
183デフォルトの名無しさん:05/03/05 14:52:33
DirectPlayの質問。
CoCreateInstanceでIDirectPlay8Addressインターフェイス作成に失敗します。
調べてみると、ルータで接続してる事に問題有ると推測できました。
ルータでDirectPlay使ってる方、すんなりデバイス作成できました?
184デフォルトの名無しさん:05/03/05 15:03:03
できた。
185デフォルトの名無しさん:05/03/05 15:09:26
>>183
逆に質問。DXPlayのサンプル試してみたら。
186デフォルトの名無しさん:05/03/05 16:12:05
DrawPrimitiveUPメソッドに頂点シェーダは適用できますか?
187デフォルトの名無しさん:05/03/05 19:23:25
>>182
ありがとうございます。
良本っぽいので買って読んでみました。

にしても法線用に逆転置行列を与えるようにしたら
スキン処理のシェーダで定数レジスタの
使用量がすごいことになりますね…
188デフォルトの名無しさん:05/03/06 15:55:12
頂点テクスチャでマトリクス送ればレジスタ空くよ。
189デフォルトの名無しさん:05/03/06 18:42:28
DXSDK9 2005 Febをインストールしていままでビルドできたフィルタをビルドしたら
C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\atlmfc\include\atlcomcli.h(799) : error C2059: 構文エラー : 'catch'
というのが出てきます。
これはどうすればいいのでしょう。。
190デフォルトの名無しさん:05/03/06 23:52:06
ちゃんと製品を買う
191デフォルトの名無しさん:05/03/07 04:16:11
は?意味不明。
192デフォルトの名無しさん:05/03/07 08:01:55
>>189
何でビルドしてます?
193デフォルトの名無しさん:05/03/07 10:50:07
DirextXのバージョンを取得するgetdxver.cppってサンプルがあったのですが、
これって新しいバージョンが追加されるたびに
自分でコードを追加していかなければダメな仕様ですよね?
今のところ9.0までしか取得できないようなのですが。
追加しなくてもとれるようにできる、うまい方法ないですか?

194デフォルトの名無しさん:05/03/07 11:09:11
ここのどこからDirectXはダウンロードできるのでしょうか?
クイックヒントの右にダウンロードボタンがないのですが・・・
http://www.microsoft.com/downloads/details.aspx?FamilyId=77960733-06E9-47BA-914A-844575031B81&displaylang=en
195デフォルトの名無しさん:05/03/07 11:11:48
>>194
continue を押して先に進め。
196デフォルトの名無しさん:05/03/07 12:41:04
>>193
レジストリ調べる方法があるがこの先どんなキーを埋めるかなんて予測できない

ドラえもんにタイムマシン借りるしかない
197デフォルトの名無しさん:05/03/07 16:49:02
↓ドラえもん出現
198デフォルトの名無しさん:05/03/07 19:40:04
地球破壊バクダ(ry
199デフォルトの名無しさん:05/03/07 20:15:36
>>192
以前は
VC++6.0
DXSDK8.x
で今は
VC++7.0
DXSDK9.0 Feb 2005
です。
フィルタはTransformFilterです。
200デフォルトの名無しさん:05/03/07 20:21:49
原子核破壊砲!!
201プリミティブたん:05/03/07 20:31:49
俺はBCC(しかもコマンドライン)でDirectXによるソフトウェアを開発してる希少種だぞ。
さぁおまえら、俺にハァハァしやがれ。
202デフォルトの名無しさん:05/03/07 22:38:04
>>201
D3DXのDLLっていつから不必要になるの?
203プリミティブたん:05/03/08 01:39:41
>>202
不必要なものが必要になったところを見ると、
不必要になる望みはあまりないような気がするな。
俺はとりあえずずっと必要だという覚悟をしている。
204デフォルトの名無しさん:05/03/08 03:49:50
>>203
Febのおかげで不必要になったんじゃないの?
205デフォルトの名無しさん:05/03/08 18:13:11
202の書き方が悪いな。
最新のSDKでD3DXが.libから.dllになったから、
BCC用のラッパーdllは必要なくなった。
206デフォルトの名無しさん:05/03/08 23:59:38
D3DXを使う場合、いままでは
VC=スタティックリンク
BCC=ラッパーが用意したDLL

だったのがこれからは
VC=MS製DLL
BCC=MS製DLL
になったってこと?VCの場合はスタティックリンクも選べるようだけど
207デフォルトの名無しさん:05/03/09 02:26:03
208デフォルトの名無しさん:05/03/09 06:04:52
WGF では OnResetDevice だのなんだのをやらなくて
済むようになるといいな
209デフォルトの名無しさん:05/03/10 03:22:15
3,5,9,17 一般項は
210209:05/03/10 03:26:10
やっと、分かった。解くの遅すぎ... (--;
&すれ違いで、ゴメン。
211デフォルトの名無しさん:05/03/10 11:53:37
馬鹿な質問で申し訳ないんですが
DirectX9.0SDKをインストールしても
<d3d8.h>をインクルードすればDirect3DCreate8などの関数を使うことはできるんでしょうか?
212デフォルトの名無しさん:05/03/10 11:55:53
何故質問する前に試そうとしないのか?
213デフォルトの名無しさん:05/03/10 12:22:14
>>211
使うことは可能だがおまえには無理
214デフォルトの名無しさん:05/03/10 12:29:28
全くお前ら煽るばかりだな
DirectXはバージョンダウンが出来ないから、このくらいの質問は許容範囲だろ
215デフォルトの名無しさん:05/03/10 13:20:41
SDKの話をしているのに、何故ランタイムについて語り出すのか、
馬鹿の思考は微塵も理解できない。
216デフォルトの名無しさん:05/03/10 15:29:38

>馬鹿の思考は微塵も理解できない。
217デフォルトの名無しさん:05/03/11 10:12:48
深度バッファシャドウで、ライトの射影行列の
near と far の値をギリギリまで詰めてやらないと
影がキレイに落ちないんですが、near と far の
値をあんまり考えなくてもそこそこいい影に出来る
何かいい対処方はないでしょうか?
218デフォルトの名無しさん:05/03/11 19:57:20
デプス情報は何bitで格納してる?
biasを適切に設定すれば、精度はそれほど問題にならないけどねぇ。
219デフォルトの名無しさん:05/03/11 20:46:15
http://www.microsoft.com/downloads/details.aspx?FamilyID=9226a611-62fe-4f61-aba1-914185249413&displaylang=ja
DirectXをいじろうと思うのだけど開発はこのページのをダウンロードすればいいの?
220デフォルトの名無しさん:05/03/11 21:05:25
曖昧すぎる
221デフォルトの名無しさん:05/03/12 04:05:10
222デフォルトの名無しさん:05/03/12 11:57:20
VS.NET2003を使っています。
雑誌やネットを見ると、DirectX9 SDK Updateをインストールすると、
プロジェクトの新規作成のときに、DirextXの項目が出ると書いてあります。
http://www.humo.vis.ne.jp/directx/00/00.html

だけど、自分の環境では出てきません。
原因はなにが考えられますか?

サンプルのビルドと実行はできているので、インストールはうまくいってると思います。
223デフォルトの名無しさん:05/03/12 12:02:55
出ないのが正常です。
何の問題もありません。
224デフォルトの名無しさん:05/03/12 21:24:34
225デフォルトの名無しさん:05/03/13 12:04:39
DirectXの仕方を教えてください
僕ゲームが作りたい思います
C++言語はgoodです
宜しくお願いします
226デフォルトの名無しさん:05/03/13 12:21:58
>>225
初心者なら素直にC#から始めとけ
http://www.microsoft.com/japan/msdn/directx/japan/dx9/winform1.asp

どうしてもC++でやりたいならここから始めろ
http://www.microsoft.com/japan/msdn/academic/Articles/DirectX/05/
227デフォルトの名無しさん:05/03/13 12:50:19
>>226
ありがとうございます
C++コンパイラはすでに持っているので下のリンクから始めようと思います
228デフォルトの名無しさん:05/03/13 18:58:59
みなさん、auto_ptrってどのくらい使ってますか?

メンバ変数をコンストラクタで初期化中に例外が発生すると、
デストラクタが発動しない。だからスマートポインタを使え・・・
ってのはよく聞きますが、実際どのくらい使われているのかと思って。
229デフォルトの名無しさん:05/03/13 19:02:58
RAIIは必ず使う。
auto_ptr, boost::shared_ptr, boost::move_ptr 等可能な限り使うよ
230デフォルトの名無しさん:05/03/13 20:29:29
>>228
それがDirectXとどう関係してくるんだ?
231デフォルトの名無しさん:05/03/13 20:49:48
たぶんスレタイのDirectXの部分が見えていないんじゃないかな。
232228:05/03/13 21:00:07
すいません、書き込む先間違えました。ここってDirectXスレでしたね・・・・
C++本スレで再度質問してみます。

>>22
回答ありがとうございます。
ゲーム系プログラミングだと業務系より多用するものなんでしょうかね。
233デフォルトの名無しさん:05/03/13 23:30:46
なんで例外が発生するような処理をコンストラクタに書くのかわからんね。
まあ、こんなところでC++の質問しちゃうようなのだからしょうがないか(苦笑
234デフォルトの名無しさん:05/03/14 06:04:56
>>233がアフォなのはよく分かった
235デフォルトの名無しさん:05/03/14 07:51:10
>>234
理由ぐらい書いてアフォって言わないと指示は獲られないよ。
236デフォルトの名無しさん:05/03/14 07:56:04
インスタンスの数を制限したいとか色々あるだろうに。
237デフォルトの名無しさん:05/03/14 07:57:30
>>236
ねぇよ。
8年近くプログラム組んでるけど、そんなアホな位置で制限なんて絶対つけない。
238デフォルトの名無しさん:05/03/14 07:58:34
あとコンストラクタで不変条件を確立したりとか。
まあこれはEssenceパターン適用する方がいいかもしれないけど。
239デフォルトの名無しさん:05/03/14 08:00:45
>>237
おまいもどうアホなのか説明しろよと
240デフォルトの名無しさん:05/03/14 08:01:40
>>238
なんでそんなしょーもない処理をわざわざ変な手法使ってまでコンストラクタでやるんだ?
241デフォルトの名無しさん:05/03/14 08:04:22
>>239
だって>>236って自分以外のインスタンスの数を知っていなきゃできない芸当でしょ?
でも、クラスってさ、プログラムの影響範囲を自分自身だけに限定してナンボの機能なわけじゃん。
そもそも設計が腐ってるといいたい。
242デフォルトの名無しさん:05/03/14 08:15:00
そこでC#ですよ!

といいたい所だがクラス変数を持ってないのはC++ぐらいだな
おまいらいい加減に新しい言語を覚えるのが嫌だとか我侭やめろよ
243デフォルトの名無しさん:05/03/14 08:43:18
>>241
じゃあ数を制限するときはどうすりゃいいの?
244デフォルトの名無しさん:05/03/14 08:52:13
>>242
C++でもstaticをつけたやつはクラス変数ではないの?
245デフォルトの名無しさん:05/03/14 11:20:16
Direct3Dのワールド座標ってさ、その空間全体の位置を変えるみたいだよね?
だから3DRPGのようなものでキャラの移動をさるときには、

@ワールド座標を中心に設定
A注視点を原点に
B自分のキャラを原点に配置
Cワールド座標を、マップ上のキャラの位置に変換
D地面やその他世界を描画

でいいんだよね?
246デフォルトの名無しさん:05/03/14 11:49:13
カメラの位置だけ適切に設定すれば、
キャラを原点になどという訳のわからないことをする必要はない。
カメラを固定して世界の方を動かすつもりなのか?
247デフォルトの名無しさん:05/03/14 12:07:32
まぁ原点だと利点もあるし、別に245の方法でもOKでしょ
それが全てと思ってたら危ういけど
248247:05/03/14 12:08:49
これじゃ245を支持しているみたいだな
要するに表現方法はシステムによると
249デフォルトの名無しさん:05/03/14 12:32:40
Perspective Shadow Maps の説明を
分かりやすく書いてるサイトってないですか?
t-pot のは良く分かりませんでした…
250デフォルトの名無しさん:05/03/14 12:57:01
DirectX で 使用されるSprite というのは端的に言うとどういう意味でしょうか?

某Web辞書によると
sprite : 妖精、小人、霊魂、精霊、お化け

とあるのですが…。
251デフォルトの名無しさん:05/03/14 13:40:19
:妖精、小人、霊魂、精霊、お化け、という意味です
252デフォルトの名無しさん:05/03/14 14:13:18
ゲームスレみたいな所なのでここで質問。
RPGやパズル、シミュレーションなどで、
独特なキー入力(十字キー)のやり方がありますよね。
キーを軽く押したら、1マス動いて、
しばらく押しっぱなしにしたら、そのままスムーズに押した方向へカーソルが
動くやつ。あれはどう実装すればいいのでしょう?
できればアルゴリズム or コードでお願いします。
253デフォルトの名無しさん:05/03/14 14:43:35
そんな事も自分で出来ないなら諦めた方がいいよ。
254デフォルトの名無しさん:05/03/14 14:44:49
>>250
語源は知らんが、二昔前くらいのPCにはスプライトウィンドウという機能があっての。
そこから来ていると思うんじゃよ。
255デフォルトの名無しさん:05/03/14 14:54:05
スプライトの起源
ttp://d.hatena.ne.jp/hally/20041010
256デフォルトの名無しさん:05/03/14 14:55:40
>>254
どう考えても業務用ゲーム機のスプライトの方が古いぞw
257デフォルトの名無しさん:05/03/14 17:38:53
DirectX9を使ってフォントを扱おうとしています。

ID3DXFont* pFont
があるとして、

pFont->Begin();
というコードを書くとBegin()はID3DXFontのメンバーではないと出るのですが、
どのように解決したらよいのでしょうか?ヘルプをみるとID3DXFont メンバに存在するはずなのですが。

258デフォルトの名無しさん:05/03/14 17:50:59
>>257
ヘルプとSDKのバージョンが合ってない。
259253:05/03/14 17:53:42
流された...(泣
260デフォルトの名無しさん:05/03/14 17:54:24
↑名前252の間違い
261257:05/03/14 17:55:26
http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/directx9_c/directx/graphics/reference/d3dx/interfaces/id3dxfont/_id3dxfont.asp
が間違っていると言うことでしょうか?
とすると、どのように表示すればよいのでしょうか?
何かヒントをください。
http://rina.jpn.ph/~rance/index.html
ここにある方法も試したのですが、同様なエラーが出てコンパイルできませんでした。

262デフォルトの名無しさん:05/03/14 18:15:48
俺はTIが起源という話しか知らなかったけど、アタリの方が先なのか。

>>250
元々は透明色を持ったキャラクタ表示用にハードウェアに備わっていた機能。

プログラムからは座標とパターン番号を指示するだけで、背景との合成は
勝手にやってくれる。実際にフレームバッファが書き換えられるのではなく
CRTに出力する段階で合成されるので、移動のたびに消去等をする必要がない
とっても楽ちんな機能。
ただし、サイズが16*16や32*32と限定されていたり、水平方向に8枚程度しか
表示できないような制限があった。

今のPCにそんな機能は無いのでフレームバッファを毎回書き換えることで
同じ効果を表現している。
(実際にはマウスカーソル用にスプライトの機能は持っている)

ぶっちゃけ、今はスプライトっていうと透過blit程度の意味しかない。
もうちょい厳密に言うと、キャラクタ毎に任意に表示座標を指定できる透過blitの
ことかな。背景用にタイル状に表示する場合は、透明色があってもスプライトとは
呼ばないのが普通。
263デフォルトの名無しさん:05/03/14 18:31:13
>>257
>>258

Dx9SDKの初期と今では、D3DXライブラリのインターフェースが違う。
最新の日本語ヘルプ(Oct 04)を落とすと良い。
264デフォルトの名無しさん:05/03/14 19:51:01
>>243
別のクラス用意しなさいよ。
っつかそんな状況ってよっぽど設計が腐ってなきゃないでしょ。
265デフォルトの名無しさん:05/03/14 20:36:33
>>264
いみわからん
266デフォルトの名無しさん:05/03/14 21:00:58
>>265
だってこのインスタンスの個数を制限するってどういう用途で使うの?
普通は管理クラス作るよね?
しかも、クラスに自分の生成個数の制限をつける思想が理解できない。
別に理解できないってのは俺が不勉強だからじゃなくて
すごくセンスが悪いと思うって意味ね。
267デフォルトの名無しさん:05/03/14 22:19:07
>>244
調べてみたけどやっぱりC++にクラス変数ないじゃん
268デフォルトの名無しさん:05/03/14 22:45:26
>>267
あなたのおっしゃる「クラス変数」ってどういうものですか?
269デフォルトの名無しさん:05/03/14 22:49:26
>>268
C++でクラス変数が使えるという証拠をあげれば終了だ
話をややこしくすんな
270デフォルトの名無しさん:05/03/14 22:59:16
>>255, 262
なーるほど、勉強になりました。
271デフォルトの名無しさん:05/03/14 23:01:23
>>269
>>244 で既出なわけだが?
272デフォルトの名無しさん:05/03/14 23:04:19
269にレスをしなければ、269が馬鹿なままで一生を終えるわけだ
その方がいいならレスをしないことだ
273デフォルトの名無しさん:05/03/14 23:12:50
>>271
そもそもどこにstaticつけるんだよ
274デフォルトの名無しさん:05/03/14 23:17:48
もしかして素人?
275デフォルトの名無しさん:05/03/14 23:23:14
じゃあ、今までstaticつけてたのは何だったんだよw
本当にあると思ってるならC++でクラス変数を扱ってるページ出してみ?
仕様書でも個人サイトでもなんでもいいぞ
276デフォルトの名無しさん:05/03/14 23:24:38
>>269 はC++初心者スレへGOですな。つか全くスレ違いでワロタ。
277デフォルトの名無しさん:05/03/14 23:31:43
ん?静的変数とクラス変数を勘違いしてるのか?
278デフォルトの名無しさん:05/03/14 23:44:04
>そもそもどこにstaticつけるんだよ
>そもそもどこにstaticつけるんだよ
>そもそもどこにstaticつけるんだよ
279デフォルトの名無しさん:05/03/14 23:48:31
クラス変数はない、staticをつけてもクラス変数にならないという主張に対して
ほんの数行のソースを書けばいいものをいつまで粘るつもりなんだ?
>>269で指摘してやったのに無駄になったな
広げた風呂敷を早くたたんでくれ
初心者スレという性格上、間違ってるからといって放置するわけにもいかんからな
280デフォルトの名無しさん:05/03/14 23:53:49
クラス変数ってJAVAの方言じゃないのか?
漏れはクラス属性と呼んでる
どっちが一般的なの?
もちろんstaticで宣言されたメンバ変数な
281デフォルトの名無しさん:05/03/14 23:54:16
だから静的メンバ変数がJavaのクラス変数だろ。
ここは初心者スレと言ってもC++の初心者スレじゃないだろ。
282280:05/03/14 23:59:41
なんか気になってググったらクラス・スコープ属性というのもでてきた
漏れ間違ってた?
クラスのすべてのインスタンスで共有される変数のことは
オブジェクト指向的には何て呼べばいいんだ?
283デフォルトの名無しさん:05/03/15 00:03:18
C++神の俺がバカなお前達に教えてやるよ。

クラス変数=クラスメンバ変数
284デフォルトの名無しさん:05/03/15 00:04:12
別なバカきちゃった?
285デフォルトの名無しさん:05/03/15 00:24:26
>>284
いや、苦し紛れの自作自演かと。
なんというか、春だなぁ…。(遠い目)
286デフォルトの名無しさん:05/03/15 00:39:52
class A {
public:
 static int a;
}


クラス変数ってこういうのとは違うの?
287デフォルトの名無しさん:05/03/15 00:41:41
>>286
それはフィールド
クラス変数というのは

class A {
public:
 static int a;
}

void main(){
A obA=new obA();←これ
}
288デフォルトの名無しさん:05/03/15 00:53:30
>287
ちょっとまて
class A {
public:
 int a;
}
これがフィールドだろ
289デフォルトの名無しさん:05/03/15 00:53:51
>>286
クラス変数またはスタティックフィールドとも呼ばれる
290デフォルトの名無しさん:05/03/15 01:05:20
だんだん何のスレだかわかんなくなってまいりました
291デフォルトの名無しさん:05/03/15 01:07:18
あのー、そろそろC++スレあたりに移ってもらえませんか?
292デフォルトの名無しさん:05/03/15 05:03:38
DirectX Audioは8と9で何か違うのですか?
9でもプログラムの中で8という数字になっているのは、何も変わっていないと言うことですか?
293マイク ◆yrBrqfF1Ew :05/03/15 06:28:09
ああ、そうだ何にも変わってない。
294デフォルトの名無しさん:05/03/15 09:45:22
クラス変数=静的メンバ変数

静的メンバ変数
http://www1.kcn.ne.jp/~robe/cpphtml/html02/cpp02028.html
295デフォルトの名無しさん:05/03/15 14:08:53
その辺の本だと
メンバ変数とプロパティとフィールドの説明がごっちゃになってます
その辺で勉強した方は気を付けませう
296デフォルトの名無しさん:05/03/15 16:57:40
早く実装しる
297デフォルトの名無しさん:05/03/15 17:50:12
とりあえず>>228は例外やエラーが発生するような処理は別にメソッドを作ってコンストラクタから呼べってこった。
298デフォルトの名無しさん:05/03/15 23:02:26
DirectDrawCreateはどのバージョンのIDirectDrawを返すのですか?
たとえばIDirectDrawとIDirectDraw7は違いますよね。
もし返却されたのがIDirectDraw7だったとしてアプリケーションが
IDirectDraw::SetDisplayMode(DWORD, DWORD, DWORD)を呼び出したら引数は3つしか与えないですよね?
ところがIDirectDraw7::SetDisplayMode(w, h, bps, ref, mode)では5つですね。
ということはどのバージョンか判断してSetDisplayMode呼び出しを変えるのですか?
でもどうやって判断するの?dynamic_castするのですか?

299デフォルトの名無しさん:05/03/15 23:54:50
判断も何も互換性など無い。
阿呆なことをのたまっていないで早く寝ろ。
300デフォルトの名無しさん:05/03/16 00:17:33
ではDirectDrawCreateは何を返すの?IDirectDrawのみ?
その他はDirectDrawCreateExで作るの?
301デフォルトの名無しさん:05/03/16 00:26:45
おめ、そりゃ「バージョン定数」で決まってんじゃねーの?
よーしらんけど。
302デフォルトの名無しさん:05/03/16 03:29:01
スレッド作る意味がやっと分かった。気づくの遅すぎ。。。
303デフォルトの名無しさん:05/03/16 06:24:17
>300
QueryInterface()すると7のインターフェイスを貰えるかもしれない。でも貰えないかもしれない。
素人はヘルプにあるように
hRet = DirectDrawCreateEx(NULL, (VOID**)&g_pDD, IID_IDirectDraw7, NULL);
とでもしとけば。
玄人はCoCreateInstance()で華麗にゲット
304デフォルトの名無しさん:05/03/16 07:18:32
>>302
基本的には意味は無いよ。
何に気づいたの?(笑)
結局、はさんだメッセージループの処理にたどりつくまでは
別のスレッドにちょっかいを出すことはできないから。
305デフォルトの名無しさん:05/03/16 13:46:22
>>303
ありがとうございます。

実は今やりたいのは自作のDirectDrawラッパクラスを作って、
そこでたとえばCreateのような関数をつくり、その中でDirectDrawCreateを呼び出します。
(既存ソフトはDirectDrawCreateを使っていたのでそれを使うのは必須です。)
その結果得られたIDirectDraw*が実際にはIDirectDrawなのかIDirectDraw2なのか
IDirectDraw4なのかIDirectDraw7なのかを判断することなのですが、
それはできない、というのが結論ですか?
QueryInterfaceしてもわからない、dynamic_castしてもわからない、ということですか?
306デフォルトの名無しさん:05/03/16 13:59:04
画像やテキストがたまに、ファミコンのバグった時みたいに変になるのはPCの問題?
307デフォルトの名無しさん:05/03/16 16:21:44
>>252
pseudoコード書きかけたけどめんどくさくなって消した。
状態遷移図でも書いてよく考えたら分かる。
308デフォルトの名無しさん:05/03/16 17:01:16
>>305
ttp://msdn.microsoft.com/archive/default.asp?url=/archive/en-us/ddraw7/directdraw7/ddref_6oxj.asp
第2引数にIDirectDrawが取得される、って書いてあるんだからIDirectDrawなんだろう。

>その結果得られたIDirectDraw*が実際にはIDirectDrawなのかIDirectDraw2なのか
>IDirectDraw4なのかIDirectDraw7なのかを判断することなのですが
>それはできない、というのが結論ですか?

なんでそういう結論になるのかな。
QueryInterfaceしてみればわかるって買いてあるじゃん。
309デフォルトの名無しさん:05/03/16 18:11:20
>>306
設定によっては
presentの後クリアーしないで描画もしないでもっかいpresent呼ぶと
そんな画面になることがある
そういうことじゃないならPC(つーかビデオカード)の問題でしょ
310デフォルトの名無しさん:05/03/16 18:15:07
通常のWindowsプログラムは理解しているが、DirectXは初めてという人に最適な本はどれですか?
311デフォルトの名無しさん:05/03/16 18:44:24
>>308
>QueryInterfaceしてみればわかるって買いてあるじゃん。
そうは書いてない。

312デフォルトの名無しさん:05/03/16 18:49:57
>>311
いや、MSDNじゃなくて>>303はそう言ってるよ、という意味。
313デフォルトの名無しさん:05/03/16 20:20:05
>>309
多分ビデオカードが問題だと思います。
ありがとうございました。
314デフォルトの名無しさん:05/03/16 23:53:50
>>307
レスありがとうございます。
pseudoというのは知らないのですが、目的の動作に近い形で実現
出来ました。(完璧ではない)
何回やっても上手くいかなくてコードを何回見直して書き直しても
直らなくて、気づいてみるとキー動作は正しくてタイマーの動作が
おかしかったようで...。疲れました。
315デフォルトの名無しさん:05/03/17 05:04:12
>305
IDirectDrawはIDirectDrawでしかない。が、
IDirectDraw *が指している先の実体は、IDirectDraw7のインターフェイスを持っているかもしれない。
(というか、実行環境にDirectX7がインストールされているなら持ってるはず?)
で、その実体が持っている別のインターフェイスを貰う手段がQueryInterface()と言うわけ。

ついでに、IDirectDrawとIDirectDraw7の間に継承関係はないから、
dynamic_castすること自体間違ってる。
そもそもCOMというのはC++に依存するものじゃなくてだな、(以下略
316デフォルトの名無しさん:05/03/17 05:10:30
JPEG画像をテクスチャへ読み込むのはどうしたらよいのでしょうか?
317奈々 ◆Xl6OTFSLJ2 :05/03/17 11:01:43
>>316
DirectXはJPEG形式のファイルもサポートしていますので、
D3DXCreateTextureFromFileで読み込めます。
318デフォルトの名無しさん:05/03/17 11:15:32
DirectXがサポートしているというのは語弊がある気が。
319デフォルトの名無しさん:05/03/17 11:21:34
今、WinMEなんですが、Direct9.0b以上必要というゲームをやろうとしたときに、
「Direct3Dの作成に失敗しました。」というメッセージと共に、
強制終了してしまい、起動できません。
dxdiagにて、調べたところ、
「DirectXファイル」でdpnwsock.dllとdpnmodem.dllが見つからないという問題と、
「ディスプレイ」(デバイス:NVIDIA GeForce2 MX/MX400 
メインドライバ:nvdisp.drv)では、nvdisp.drvが認定されていないという症状、
それから、「ネットワーク」では、サービスプロバイダ
'DirectPlay8 TCP/IP Service Provider'の
レジストリ情報が見つからないか、壊れています。」、
「サービスプロバイダ'
DirectPlay8 IPX Service Provider'のレジストリ情報が見つからないか、
壊れています。」、
「サービスプロバイダ'DirectPlay8 Modem Service Provider'の
レジストリ情報が見つからないか、壊れています。」と表示されています。
DirectXの再インストールや、
ディスプレイドライバの再インストールなど何度も試したのですが、
状況は改善されませんでした。
どうか、ご存知の方いらっしゃいましたら、お力貸していただけないでしょうか。
よろしくお願いします。
320奈々 ◆Xl6OTFSLJ2 :05/03/17 11:58:01
>>318
すいません。
「D3DXCreateTextureFromFileがサポートしている」でした。
321デフォルトの名無しさん:05/03/17 14:27:28
>>319
Meの再インストールは当然やったよな?
322デフォルトの名無しさん:05/03/17 14:28:07
>>319
それはプログラミングに関係あるDirectXの質問なわけ?
323デフォルトの名無しさん:05/03/17 15:29:49
どなたか前スレのログ持ってる人いませんか。
いたらどっかに上げてくれませんでしょうか。
お願いします。
324デフォルトの名無しさん:05/03/17 15:42:34
>>323
かちゅーしゃのDATの状態ならあるが…
325デフォルトの名無しさん:05/03/17 15:53:54
やっぱいいです。勘違いでした。質問に答えてもらったのを
すっかりまた忘れたんでもう一回見ようと思ったんですが、
書いたのはここのスレじゃなかったみたいです。
ごめんなさい。そしてありがとう。さようなら。
326デフォルトの名無しさん:05/03/17 17:07:47
2Dゲームを作る際にフリーで使える素材とかはありますか?
327デフォルトの名無しさん:05/03/17 17:57:23
>>326
ゲームによるだろ。
ついでにここはゲ製作技術板じゃない。
厨房は帰れ。
328デフォルトの名無しさん:05/03/17 18:50:26
あると思うよ。
329デフォルトの名無しさん:05/03/17 20:02:28
>>323
にくちゃんねる 過去ログ墓場 # ゲーム
ttp://makimo.to/2ch/bbs31.html
330デフォルトの名無しさん:05/03/17 21:38:01
>>315
ありがとうございます。おかげさまで自分の勘違いに気がつきました。
継承関係があるとばかり思ってました。
331デフォルトの名無しさん:05/03/18 04:36:21
>>319
GeForce2はそもそもDX9に対応してないと思うぞ。
332デフォルトの名無しさん:05/03/18 05:58:51
DirectX9のマイナーバージョンはいくつあるのでしょうか?
333デフォルトの名無しさん:05/03/18 07:58:15
directshowでメモリ上にあるjpegデータを
windowに表示したいんだけど、
どんなフィルタを使えばいいの?
334デフォルトの名無しさん:05/03/18 11:00:29
>>332
9、9b、9s、9o、9d、来月9a、7月に9jの予定。
335デフォルトの名無しさん:05/03/18 17:05:00
同じメジャーバージョンのDirectXで仕様が変わるのは勘弁してほしい。
336デフォルトの名無しさん:05/03/18 19:51:08
初歩的な質問なのですが、ビュートランスフォーム、プロダクショントランスフォームはジオメトリ毎に掛けないといけないのでしょうか?
全てのジオメトリに適用されるのなら一回掛けるだけで良いような気がするのですが…
337デフォルトの名無しさん:05/03/18 20:04:29
>>336
たしかにそうだが大して早くならんぞ。
まあ、好きにしろって感じではあるな。
338デフォルトの名無しさん:05/03/18 23:47:33
>336
気がするんなら聞く前に試してみれ
339デフォルトの名無しさん:05/03/19 17:28:20
ヘルプを読んだのですがSetRenderStateの使い方がよくわかりません。何をどのようにセットすればよいのでしょうか?
340デフォルトの名無しさん:05/03/19 17:29:33
いろいろ
341デフォルトの名無しさん:05/03/19 17:31:47
サンプル嫁
342デフォルトの名無しさん:05/03/19 21:35:39
DirectX9のテクスチャーはサイズに制限は無いのでしょうか?

昔、フラグ見て256x256のみや2の累乗のみとかの制限を判別してた
様な気がするんですが、それらしい記述が見当たらないので・・・
343デフォルトの名無しさん:05/03/19 21:40:51
嘘ついて探したフリしてんじゃねーよ
ヘルプで検索するだけですぐ出てくる
じゃねーかボケが
344デフォルトの名無しさん:05/03/19 22:02:26
いやぁ探したよ。
CreateTextureの項には何も無いし、パフォーマンスの最適化の
テクスチャサイズは256x256が最速、できるだけ正方形テクスチャを
使用する等としか書かれてないし。
345デフォルトの名無しさん:05/03/19 22:14:00
つまり近所のドブさらいをして、ダイヤモンドの鉱山を探したと。
346デフォルトの名無しさん:05/03/19 22:52:23
>いやぁ探したよ。
>いやぁ探したよ。
>いやぁ探したよ。
347デフォルトの名無しさん:05/03/20 01:46:51
あん、だめぇ、えっちぃ
348デフォルトの名無しさん:05/03/20 05:16:18
答えを知ってる人が目星つけて探しに行くのと
知らない人が当てもなく探しに行くのはワケが違うでしょうよ。

でも「いやぁ探したよ」がムカツクからこの人はどうでもいいけど。
349デフォルトの名無しさん:05/03/20 11:47:08
「検索」とまで言われてるんだがなぁ
DirectX 初心者は歓迎だが日本語
初心者は帰れって感じだな
350デフォルトの名無しさん:05/03/20 14:35:46
DirectX中級者向けのスレはないのですか?
351デフォルトの名無しさん:05/03/20 14:55:16
そもそも中級者くらいになると大抵自分で調べて解決したりするから
必要ないんじゃないか?
352デフォルトの名無しさん:05/03/20 15:00:10
楽したい中級者向けのスレきぼん
353デフォルトの名無しさん:05/03/20 15:20:06
>>352

>楽したい

初心者以下だ。

血管にニードル刺せ。
354デフォルトの名無しさん:05/03/20 15:23:10
このスレ糞ガキしかいないのかよ。
355デフォルトの名無しさん:05/03/20 16:59:43
質問スレに必要なのは質問者と回答者。
もったいぶるくらいなら何も書き込まなきゃいいだけ。
他の質問者にとっても回答者にとっても邪魔。
356デフォルトの名無しさん:05/03/20 17:43:06
>>355は質問も回答もしていないわけだが、自分だけは例外君か。
厨房の考えることはさっぱり分からん。
357デフォルトの名無しさん:05/03/20 17:59:52
358デフォルトの名無しさん:05/03/20 18:05:43
>>344
D3DCAPS9な。

屑共が。
359デフォルトの名無しさん:05/03/20 21:09:49
>>355
教えてもらう立場の分際で偉そうだな。

どうすればキミの敬愛する偉大な先達の皆様が多忙の中わざわざこんな卑しい場所にご足労下さり
迷える愚民どもに道をお示しになるか、ちょっと考えてみてはどうよ。
360デフォルトの名無しさん:05/03/20 21:27:47
本当に質問がしたければID制のゲ製作板
高度な(というほどでもなくても)トピックについて
議論風なやりとりをしたければ鬱氏

それにしてもコミケ前になると何もかも否定したがる奴が
出てくるのはなぜだ
361デフォルトの名無しさん:2005/03/21 03:51:33(月)
>>356>>359はあほ?
来なくていいよ。
362デフォルトの名無しさん:2005/03/21(月) 07:36:10
>>355顔が真っ赤だが、そんなに悔しかったのか。
363デフォルトの名無しさん:2005/03/21(月) 10:04:53
DXlibってどうよ?
364デフォルトの名無しさん:2005/03/21(月) 19:09:42
>>363
萌え
365デフォルトの名無しさん:2005/03/21(月) 23:36:15
>>363
微妙
366デフォルトの名無しさん:2005/03/23(水) 19:53:44
DirectXAudioでソフトウェアmidiではなくハードウェアmidiを使いたいのですが、どのようにしたらよいのでしょうか?
367デフォルトの名無しさん:2005/03/23(水) 20:27:11
>>366
MIDIマッパーじゃダメか?
368デフォルトの名無しさん:2005/03/23(水) 20:37:21
>>366
列挙してハードウェア見つけたらそれを選択すればよろし
369デフォルトの名無しさん:2005/03/23(水) 21:09:23
ttp://www9.plala.or.jp/dequartet/directx_tips.htm
ここの最下段にある「霧がかかった様子を表現する」を組み込んで実行すると画面が真っ暗な状態で止まり、
Windowsシステムエラー
デバイスのエラーを検出しましたが回復しました。(ry
というエラーがでます。
このエラーが出た後プログラムは描画されない状態で動き続けます。
原因が分かる方いらっしゃいますか?
尚、SDKのサンプルMFCFogは正常に動作します。
370デフォルトの名無しさん:2005/03/23(水) 21:44:17
2Dのスクロール型アクションゲームを作っているのですが、
爆発など画面のエフェクトを学べる本とかサイトはありますか?
371デフォルトの名無しさん:2005/03/23(水) 22:10:56
>>369
グラボ何使ってんのよ?
372369 :2005/03/23(水) 22:40:25
>>371
ラデ9200です
373デフォルトの名無しさん:2005/03/24(木) 01:02:26
>>370

どの程度にもよらんか?画像のアニメパターンの連続表示程度でいいのか、シェーダ使って
熱による空気の揺らぎまでやりたいのか
とか。
374369 :2005/03/24(木) 01:21:44
絞った結果、D3DRS_FOGVERTEXMODEをD3DRS_FOGTABLEMODEにすれば動きました。
が、範囲のフォグでないと見た目に違和感があるためやはり前者を使いたいです。
GetDeviceCapsでは問題ないので非対応ってことはないのですが・・
375デフォルトの名無しさん:2005/03/24(木) 10:22:58
>>374
MFCFogが正常なら、自分のプログラムと異なる点を探せば解決するのだが。
376デフォルトの名無しさん:2005/03/24(木) 15:27:20
フォグの設定等は逃してないのですがなにかやっちゃいけないことでもしているのでしょうか。
デバッグを試すたびに半フリーズ+エラー+低解像度+8色→再起動を繰り返しているため効率が悪すぎ・・。
377デフォルトの名無しさん:2005/03/24(木) 16:10:22
>>373
体系的、もしくは辞典的に使える本があると良いのですが
378デフォルトの名無しさん:2005/03/24(木) 16:54:17
>>370
そういうのはソースから学べよ。
379デフォルトの名無しさん:2005/03/24(木) 16:55:58
>>376
>なにかやっちゃいけないことでもしているのでしょうか。
それがわかるのは自分だけ。
今あるプログラムで解決するのが厄介なら、もっと小さいプログラム組んで確認する。
380デフォルトの名無しさん:2005/03/24(木) 17:27:59
ありがとうございます。
どうやらTL頂点の描画が原因だったようです。
描画前にフォグの使用を無しにすれば問題は解決しました。
正しい理由は分かりませんが、3次元座標にフォグをかけるので2次元座標では不具合が発生したのでしょうか。
381デフォルトの名無しさん:2005/03/24(木) 18:16:50
>>380
「TL使うときはDirect3Dのフォグを使わず自前計算して頂点のスペキュラのアルファに埋めろ」
・・・とヘルプに書かれている。
382デフォルトの名無しさん:2005/03/25(金) 17:30:39
DirectX Audioでmp3は読み込めますか?
383デフォルトの名無しさん:2005/03/25(金) 17:40:31
DirectShowを経由すれば可
384デフォルトの名無しさん:2005/03/25(金) 17:49:47
>>383
ありがとう
385デフォルトの名無しさん:2005/03/26(土) 01:48:35
X3DAudioって何?
386デフォルトの名無しさん:2005/03/26(土) 12:00:58
質問になります。
現在Webカメラの映像をネット経由でWMPが再生する仕組みがあります。
既存のシステムはいじらず、WMPの画像の変化をみて、人が入ってきたなどの
動的な動きが発生したら、その動いている標的を赤丸で囲む様な事をやりたいと思っています。

そこで、WMPの映像を横取りと編集後の画像をWMPに送りつける作業には
DirectXを使用するのが手っ取り早いのか、そもそもそんな事出来ねーよって事になるのか
教えてください。
関数名など、ググる為のキーワード的な情報でも分かればもう一度調べてみたいと思います。
387デフォルトの名無しさん:2005/03/26(土) 14:30:52
DirectXのWizardで作ったプログラムを解説してるサイトとかあるでしょうか?
MSDNのチュートリアルはなんとか分かったものの、
Wizardで作ったスケルトンがあまりに膨大で難解で困ってます。
388デフォルトの名無しさん:2005/03/26(土) 16:37:57
VS2003でWizardが出ないのは仕様ですか?
389387:2005/03/26(土) 16:55:36
>>388
出ますが何か
390デフォルトの名無しさん:2005/03/26(土) 17:13:58
>>387
CMyD3DApplication見れば判るでしょ。
391デフォルトの名無しさん:2005/03/26(土) 17:30:36
>>389
それは2002からアップグレードしないと駄目ですよね?
2003+9.0cを新規インストールしてWizardを出す方法ってあるんですか?
392デフォルトの名無しさん:2005/03/26(土) 17:36:56
今現在DirectDrawに
ハードウェアに依存することなく
アルファブレンドをしながら転送するような機能は
実装されているのでしょうか?
393387:2005/03/26(土) 18:09:05
>>390
ある程度は分かるんですが分からないところも多いです。
修行が足りんって事ですかね。
片っ端からコメント付けながら読んでみます…

>>391
ファイル→新規作成→プロジェクト→Visual C++ プロジェクト→DirectX 9 Visual C++ Wizard
で出来ないの?
394デフォルトの名無しさん:2005/03/26(土) 18:14:14
>>393
それが無いんですよ…
2003とFeb2005の組み合わせなんですが。
さっきググってみた所9.0b以前のwizardを2002から手動で持ってこないと駄目みたいです。
395デフォルトの名無しさん:2005/03/26(土) 18:38:53
今更Winzardを使う必要も無いでしょ。
EmptyProjectの方が使い易い。
396デフォルトの名無しさん:2005/03/26(土) 18:39:31
×Winzard
○Wizard
397387:2005/03/26(土) 19:28:55
>>394
失礼。そいつは初耳です。
自分にはちょっと分からんです。

>>395
何が今更なのか分からないけれど、
今読んでるプログラミングの本がwizardで作ってるので、理解したいなと思って勉強してます。
その本自体にはwizardの解説がほとんどないので。
398デフォルトの名無しさん:2005/03/26(土) 20:15:04
>>397
だったらその本の付録のDirectXをインストールしろよ
399387:2005/03/26(土) 23:19:01
>>398
レス番間違え?
wizardが使えなくて困ってるのは自分じゃなくて>>388=>391=>394です。

…良い加減ウザいと思うので名無しに戻ります
スレ汚しすいませんでした。
400デフォルトの名無しさん:2005/03/26(土) 23:23:36
>>399
あんたもWizardで困ってるんだろうが・・・
401デフォルトの名無しさん:2005/03/26(土) 23:29:05
ワラタ
402デフォルトの名無しさん:2005/03/27(日) 00:28:21
640x480で60fpsで毎フレーム1000-2000polyほど必要なgameで
DrawPrimitiveUpで1枚ずつちまちま描くのって一般的ではない?
403デフォルトの名無しさん:2005/03/27(日) 01:21:08
ちまちまの意味がわかんね。詳しく説明してみ
404デフォルトの名無しさん:2005/03/27(日) 01:48:07
Indexとか使わずに、その場で一枚一枚て事でしょ。
やってる人も居るかも知れないけど、糞重い。
405デフォルトの名無しさん:2005/03/27(日) 02:46:48
DirectInputを利用する利点を教えてください。
通常のキーボードとかでも処理が高速化されますか?
406デフォルトの名無しさん:2005/03/27(日) 03:38:26
描画が画面外だった場合、if文で描画命令を送らないようにしているのですが、これって効果があるのでしょうか。
描画が画面外だった場合、DirectXは自動的に描画しないと判断してくれるのでしょうか。
407デフォルトの名無しさん:2005/03/27(日) 03:46:51
DrawPrimitiveUPを使って2Dを表示しているのですが
表示している画像がどうもボケてしまいます。
いろいろ調べてSetTextureStageStateでフィルターを云々という方法と
頂点をX成分Y成分においてそれぞれ値を-0.5するという方法があることは分かったのですが
どれもうまくいきません。
ソースは
ttp://www.twin-tail.jp/contents/vsdx9/d3d/02/index.htm
ここのを少しいじったものです。
DirectXは9.0cです。よろしくお願いします。
408デフォルトの名無しさん:2005/03/27(日) 04:00:00
DrawPrimitiveを使え
409デフォルトの名無しさん:2005/03/27(日) 05:21:43
DirectXAudioでmidiとwavを再生しているのですが、wavの音量がmidiの音量に従って変化してしまうのですが、どうしたらよいのでしょう。
midiはプライマリセグメントで、wavはセカンダリで再生しています。ボリュームは両セグメントともいじっていません。
410デフォルトの名無しさん:2005/03/27(日) 09:29:11
>>405
デバイス直なぶん速い
WinAPIみたいにドライバ任せじゃないし
WMイベントみたいにモタモタしない

>>406
DirectXは視野の外に出ると自動的に処理しなくなる仕組み
ただし1つ1つやるので効率は悪い
自分で一気に不要なものを省けるならそのほうが効率いい

>>409
>midiはプライマリセグメントで、wavはセカンダリで再生しています
なぜこうしてしまったのか
411デフォルトの名無しさん:2005/03/27(日) 14:24:57
SampleBrowserからEmptyProjectをインストールして眺めています。
オブジェクト等の初期化は OnCreateDevice と OnResetDevice に分散しているみたいですが、
どちらで初期化(再設定?)するべきか、という判断基準はありますか?

カメラの設定はどちらにもあったりして、悩んでます。
デバイスがリセットされたら何がリセットされるのやら……。
412デフォルトの名無しさん:2005/03/27(日) 15:15:36
日本語のコメントがついたソースってありますか?
413デフォルトの名無しさん:2005/03/27(日) 15:22:35
>>411
デバイス配下のものは全部。
414デフォルトの名無しさん:2005/03/27(日) 16:06:26
3Dにテクスチャ張って2Dにする方法で
たとえば背景を800x600の画像にするときって、
画像のサイズは2のべき乗ということで
1024x1024じゃないといけない(きれいに表示できない)んですか?
415デフォルトの名無しさん:2005/03/27(日) 17:07:22
>>413
はあ、そうですか。。。
416デフォルトの名無しさん:2005/03/27(日) 20:29:44
>>414
テクスチャーは1024*1024で作成させ
左上800*600に読み込めば何の問題もない
417デフォルトの名無しさん:2005/03/28(月) 00:13:33
サーフェースのアルファブレンドなStretchBltってなんでサポートしてないかな?
418デフォルトの名無しさん:2005/03/28(月) 00:32:33
死ねば。
419sage:2005/03/28(月) 14:30:20
>414
どうもです。
話は変わるけど、DirectXってPNGのアルファチャンネルも使えたんですね。
それじゃ、ddsファイルの存在意義ってあるんですかね
420デフォルトの名無しさん:2005/03/28(月) 17:42:43
>>419
ミップマップとかDXT1〜DXT5の圧縮とかはPNGは対応してないべ?
421デフォルトの名無しさん:2005/03/30(水) 01:39:46
2Dの人みたいだからミップも圧縮も関係ないんだろ。
422sage:2005/03/30(水) 04:56:38
結局CPU100%なのはどうすれば・・・・_| ̄|○
(現在P4、60FPSで70%前後)
423デフォルトの名無しさん:2005/03/30(水) 04:57:06
しかも上げてるし・・・・_| ̄|○
424デフォルトの名無しさん:2005/03/30(水) 05:10:40
sleep(1)
をいれろ
425デフォルトの名無しさん:2005/03/30(水) 05:37:28
Sleep(0)だと意味なさそうだよね
マニュアルにはCUP時間をほかのスレッドにまわすみたいな事
書いてあるけど
本当のとこどうなの?
426デフォルトの名無しさん:2005/03/30(水) 06:22:39
>>425
本当のところそうだよ。どうだと思っているの?
427デフォルトの名無しさん:2005/03/30(水) 06:24:15
>>425
つまり他に誰も使ってなければ100%になるまでCPUを使うってこった
428デフォルトの名無しさん:2005/03/30(水) 06:28:56
>>427
なるへそ
マミュアルって抽象的だから
分かりにくいんだよね
429デフォルトの名無しさん:2005/03/30(水) 07:49:49
do{ } while(1)と、do{ NOP }while(1)は100%食いつぶす事で変わりない?
430デフォルトの名無しさん:2005/03/30(水) 09:15:45
NOP?
431デフォルトの名無しさん:2005/03/30(水) 14:31:52
>>430
アセンブラと勘違いしてるんじゃないか?
432デフォルトの名無しさん:2005/03/30(水) 18:42:51
UpとUpなしではどの程度速度に差が出るのでしょうか?
433デフォルトの名無しさん:2005/03/30(水) 18:57:29
SleepとかDirectXと関係ない。
434デフォルトの名無しさん:2005/03/30(水) 18:59:12
なんかよく分からないが、
SleepでFPSを調整しながら描画する関数を、スレッド内でループさせてたんだが
スレッドやめてタイマーにしたら
同じ60FPSで、70%前後から10%前後になった。
つまりあれか、素人がむやみにスレッド作るべきじゃないってことか。
435デフォルトの名無しさん:2005/03/30(水) 19:07:19
素人杉
436デフォルトの名無しさん:2005/03/30(水) 19:13:23
スレッド乱立アプリなんて使いたくないなあ
437デフォルトの名無しさん:2005/03/30(水) 19:14:03
>>434
ちゃんと60FPSになってるか?
タイマーは1秒に60回も呼べないぞ
438デフォルトの名無しさん:2005/03/30(水) 19:16:42
一体どう言う調整してるんだかさっぱり解らん。
Sleep(1)のループでも負荷数%程度じゃないか。
439デフォルトの名無しさん:2005/03/30(水) 19:33:51
いや、やっぱりダメだ。
特になにも変更してないのに、また70%に戻った。
ためしに、描画関数の描画部分を消してみたら
(つまり、画面更新はするが真っ黒の画面)
35%前後・・・・・_| ̄|○
最初からやり直します。
440デフォルトの名無しさん:2005/03/30(水) 22:02:36
>>440
そいつはバグじゃない、ウィルスだ
441デフォルトの名無しさん:2005/03/30(水) 22:51:40
ウィルスが混入したモヨリ
442デフォルトの名無しさん:2005/03/30(水) 22:58:26
DirectXの本でおすすめの本とか無いっすかね
443デフォルトの名無しさん:2005/03/30(水) 23:03:10
うーん、ノートン先生の監視下で
その可能性は低いかと。
444デフォルトの名無しさん:2005/03/30(水) 23:12:18
>>442
DirectXグラフィックスプログラミング
445デフォルトの名無しさん:2005/03/31(木) 09:41:12
>>444
できれば出版社など教えてもらえると・・・
446デフォルトの名無しさん:2005/03/31(木) 10:04:44
447デフォルトの名無しさん:2005/03/31(木) 10:13:18
ありがとうございます!
448デフォルトの名無しさん:2005/03/31(木) 10:53:09
田という形で1つ1つの四角に別々のテクスチャを張る場合、十の部分の頂点が2つ以上の四角と重なり別々のテクスチャを張ることができません。
用意する画像を調整する方法も1つですができれば避けたいです。
1つの頂点で2つ以上のテクスチャ座標を指定することはできるのでしょうか?
略->vertexbuffer[(左上の頂点)].vTexture=D3DXVECTOR2( 0.0f, 0.0f );
略->vertexbuffer[(上の頂点1)].vTexture= D3DXVECTOR2( 1.0f, 1.0f );←┐
略->vertexbuffer[(上の頂点2)].vTexture= D3DXVECTOR2( 0.0f, 0.0f );←┴現状は2つだけど1つにできるかどうか
略->vertexbuffer[(右上の頂点)].vTexture=D3DXVECTOR2( 1.0f, 1.0f );

449デフォルトの名無しさん:2005/03/31(木) 11:38:48
訂正:略->vertexbuffer[(右上の頂点)].vTexture=D3DXVECTOR2( 1.0f, 0.0f );  です
450デフォルトの名無しさん:2005/03/31(木) 17:30:25
>>448
たとえ同じ座標にある頂点でも、1つでも要素が違うものは
別の頂点として定義するのがこの世界の決まり。
451デフォルトの名無しさん:2005/03/31(木) 17:56:00
返答ありがとうございます。
つまり488のように田を描画させるには、正方形を表現するための頂点4つ x 正方形4面分 = 16でいいのでしょうか。
452デフォルトの名無しさん:2005/03/31(木) 18:38:29
>>451
そのとおり。テクスチャ座標が共有できないのであればすべての頂点を
非共有にしなければならない。
ただし、マルチレイヤー・テクスチャの方法を使えば、頂点を共有できる。
シェーダ前提だけど。
453デフォルトの名無しさん:2005/03/31(木) 20:26:21
>>450,452は神
454デフォルトの名無しさん:2005/03/31(木) 23:36:15
ああ、>>450,452は神だ
455デフォルトの名無しさん:皇紀2665/04/01(金) 09:58:14
皆の者、頭を下げよ。
>>450,452のお通りじゃ。
456デフォルトの名無しさん:皇紀2665/04/01(金) 15:46:02
見よ!!>>450,452は赤く燃えているッッッ!!!
457デフォルトの名無しさん:皇紀2665/04/01(金) 16:25:04
>>453-456
邪魔
458デフォルトの名無しさん:皇紀2665/04/01(金) 17:39:23
ジサクジエンは見苦しい
459デフォルトの名無しさん:皇紀2665/04/01(金) 17:55:49
IDも出ない板でジサクジエン判定かよ('A`)
460デフォルトの名無しさん:int 2ch =05/04/01(金) 20:17:29
IDが出ないからジサクジエンできるんだろ

最近スレが変な方向に向かっている件について
461デフォルトの名無しさん:int 2ch =05/04/01(金) 20:26:02
D3D8 でハマってしまったので質問させて頂きます。

サンプルを参考に組んでみたのですが、
陰面処理がされないのです
(サンプル自身ではちゃんと処理されます)。

追加した処理は以下の3つです。

・ Z バッファを使うよう、デバイスを作成
 param.EnableAutoDepthStencil = true;
 param.AutoDepthStencilFormat = D3DFMT_D16;

・ 毎フレーム Z バッファをクリア
 dev->Clear(0, NULL, D3DCLEAR_TARGET | D3DCLEAR_ZBUFFER,
         D3DCOLOR_XRGB(0, 0, 0), 1, 0);

・ Z バッファを有効にする
 dev->SetRenderState(D3DRS_ZENABLE, true);

これ以外に何か注意することはありますか?
462デフォルトの名無しさん:int 2ch =05/04/01(金) 20:26:52
ここは>>98なスレなので
たまに出来そうな人が来ると叩かれます!
463デフォルトの名無しさん:int 2ch =05/04/01(金) 20:43:13
特に>>462みたいなヤツがな
464デフォルトの名無しさん:int 2ch =05/04/01(金) 21:27:36
>>462
それはフルスクリーンの場合ですか?
465464:int 2ch =05/04/01(金) 21:29:40
>>461
462サンと間違えました
それではもう一度
それはフルスクリーンの場合ですか?
466461:int 2ch =05/04/01(金) 21:33:54
>>465
ウィンドウモードです。

どうやっても、後に描いた方が上に描かれてしまうのです...。
467デフォルトの名無しさん:int 2ch =05/04/01(金) 21:45:01
>>466
追加したコードは間違いではないと思いますが...

D3DFMT_D16をD3DFMT_D32に換えてみてください
私の場合は、フルスクリーン時のみ起こりましたが
それで解消しました
どうしてなのかはよくわかりません(Direct3Dの仕様かもw)
お役に立てるか分かりませんが...

もっと詳しい方がいらっしゃったら教えていただきたいものです
468461:int 2ch =05/04/01(金) 22:37:08
>>467
Present でアクセス違反... orz
インデックスの方も 32 にしてみるも、同じでした。
469デフォルトの名無しさん:int 2ch =05/04/01(金) 22:50:52
   人(上)
    ↓

[次描画するもの](Zバッファ)
[] ここが抜けているからだめぽ
[描画されたもの]

ひたすらレイヤーを重ねていくだけだから、背景を(ry
470461:int 2ch =05/04/02(土) 01:28:50
うーん。良く分かりません。
サンプルではこれ以外に
特に特殊なことはしてないように見えるんですけどね...。
色んなサイトを見て回るも、
やってることは皆同じですし...。

FVF やカリングモードとかの他の条件も
できるだけサンプルに合わせてます。
でも、視点をくるくる回しても、
遠近は変わるものの、描画順は影響を受けません。
丁度サンプルでZバッファを無効にした時と同じ感じです。
471デフォルトの名無しさん:int 2ch =05/04/02(土) 02:02:37
ソースあげれば?
暇な誰かが見てくれるかもよ
472461:int 2ch =05/04/02(土) 02:14:43
あー、D3D だけのプログラムじゃないですし、
気軽に上げていいプログラムじゃないんですよね...。
それがもどかしい所で。

単純なプログラムで実験してみますかね...。
473デフォルトの名無しさん:int 2ch =05/04/02(土) 02:21:43
>>472
話がちがうじゃん。
サンプルに3つ追加しただけって逝ってたのに・・・これだよ。
お前はどっかの会社の営業マンか?w

サンプル(DXのサンプルかと思ってた)に追加しただけじゃないんなら
これだけの情報じゃ判断できないな。
474461:int 2ch =05/04/02(土) 02:33:38
サンプルに3つ追加したとは言ってませんけど...。
サンプルを参考にして、
陰面処理してない自分のプログラムに
3箇所追加したということです。

情報が少ないのは分かってますが、
分かりやすいミスであれば、
これだけでも分かるかと思いました。
これで分からないバグとなると、
結構根が深いのかもしれませんね...。
475461:int 2ch =05/04/02(土) 02:51:04
そういうわけなので、
これで質問を終わりにしたいと思います。
色々いじってどうしてもダメだったら、
その時はまた質問するかもしれません。
476デフォルトの名無しさん:int 2ch =05/04/02(土) 03:42:05
そもそも何のサンプルを入れたのか、入れる前はちゃんと動いたなど書かれて騎士
477デフォルトの名無しさん:int 2ch =05/04/02(土) 04:26:33
今C言語の入門書を読破して、次にC++をやるか、DirectXをやるか悩んでいます
個人的には、今直ぐにでもDirectXなんですけど、知り合いにはC++を推されました

微妙にスレ違いかもしれないですが、アドバイスおながいします_| ̄|○
478461:int 2ch =05/04/02(土) 04:55:49
解決したのかしてないのか分からない状況ですが、
とりあえずちゃんと動くようになりました。

どうやら、D3DXMatrixPerspectiveFovLH の第4引数(近くのビュープレーンの z 値)が
小さすぎると変になるみたいです。

ただ、友達に実行してもらって分かったことですが、
環境によってちゃんと見えたり見えなかったりすることもあり、
どのあたりの値を選べば問題ないのかが今ひとつ分かりません。
とりあえず色んなところで動かしてみるしかないんでしょうかね?
479デフォルトの名無しさん:int 2ch =05/04/02(土) 05:29:42
>>477
DirectXってC++といってもいい希ガス
C++がわからない状態でDirectXを始めようとすると危険鴨
>>478
つ[OpenGL]
480461:int 2ch =05/04/02(土) 06:10:31
色々値を変えてみた結果、
カメラと焦点の距離 と 第4引数 の比があまりにも大きいと変になるようです。
よくよく意味を考えてみたら確かにそうかなと思いますね。
おそらくはドライバに、
そういう状況はないとする近似を使った高速化がなされてるのだと思います。

これにて完全解決です。
第4引数を、カメラと焦点の距離の何分の1かで指定するようにして、
その比例係数もある程度の余裕をもって指定するようにしたいと思います。

情報が少ないにも関わらず回答してくれた方々、ありがとうございました。

>479
興味はあるんですけどね。<OpenGL
GLUT 使ってマルチプラットフォームとか。
でも、今は遠慮しておきます。
481デフォルトの名無しさん:int 2ch =05/04/02(土) 10:41:16
小規模板でMMO作ってるらしいよ。
いそげ!!おまえら。
力あるものは、来い!陸、海、空なんとかっていう
MMOだよ。
482デフォルトの名無しさん:int 2ch =05/04/02(土) 10:48:14
ゲーム作成g
483デフォルトの名無しさん:int 2ch =05/04/02(土) 11:11:16
>>477
いきなりDirectXはハードル高いからWindows APIあたりをやってみるといいよ

>>481
企画厨乙
484デフォルトの名無しさん:int 2ch =5,2005/04/02(土) 14:48:31
>>477
その知り合いをどれだけ信頼しているかがよくわかりますた
485デフォルトの名無しさん:2005/04/02(土) 23:34:12
>>480
GeForceでハマったか?
near planeとfar planeの距離が大きすぎるとZバッファ精度が落ちるぞ。
486461:2005/04/02(土) 23:43:14
>>485
そうです! GeForce です。
なるほど。GeForce で特徴的なんですか...。
487デフォルトの名無しさん:2005/04/02(土) 23:49:03
ウチの息子はSL好きなのでSLを見に行くことにしました。

中略

息子は「こんなのSLじゃなーい」といって泣き出しましたがSLには違いないはずです
私は父親として何を間違えましたか。
488デフォルトの名無しさん:2005/04/02(土) 23:51:01
「ホラー 大二郎(仮名)の好きなSLだぞーう」


float4x4 WorldViewProj;
float4 VertexShader_Tutorial_1(float4 inPos : POSITION) : POSITION
{
return mul(inPos, WorldViewProj);
}


「うえーんこんなのSLじゃなーい」


「ええっ」
489デフォルトの名無しさん:2005/04/02(土) 23:51:35
またおまえか
490デフォルトの名無しさん:2005/04/03(日) 00:02:23
SL が見たければ sl コマンド入れればいいじゃない。
491デフォルトの名無しさん:2005/04/03(日) 00:44:13
>>485-486
頭大丈夫か?お前等・・・(いやマジで)
492デフォルトの名無しさん:2005/04/03(日) 00:53:02
>>487-490 じゃねーの?
493デフォルトの名無しさん:2005/04/03(日) 17:32:20
バックバッファ付きでプライマリサーフェイスを作成してフリップするのは
協調レベルがウィンドウモードでもできるんですか?
それともフルスクリーンモードだけ?
494デフォルトの名無しさん:2005/04/03(日) 21:50:25
>>492
お前も>>485-486のお仲間かい?
495デフォルトの名無しさん:2005/04/03(日) 23:23:43
すごい粘着がいますね
496デフォルトの名無しさん:2005/04/04(月) 07:47:34
>>493
試せばわかるがFull/Winどちらでも使える。
497デフォルトの名無しさん:2005/04/04(月) 17:28:00
シェーダプログラムって対応しているビデオカードじゃないと
実行するのは不可能なんだっけ?

ソフトウェアエミュレーションで動かしているのもあるらしけど、
単純にDirectX7世代とかのものでは動かなくて、
ソフトウェアでDirectX9に対応させるように設計してあるビデオチップじゃないとムリポ?
498デフォルトの名無しさん:2005/04/04(月) 19:09:21
MSDNライブラリのD3DXMatrixLookAtLH 関数の注意にある公式

zaxis = normal(At - Eye)
xaxis = normal(cross(Up, zaxis))
yaxis = cross(zaxis, xaxis)

xaxis.x yaxis.x zaxis.x 0
xaxis.y yaxis.y zaxis.y 0
xaxis.z yaxis.z zaxis.z 0
-dot(xaxis, eye) -dot(yaxis, eye) -dot(zaxis, eye) 1

のnormalとcrossとdotが何の処理なのかが分からないのですが教えてもらえないでしょうか
499デフォルトの名無しさん:2005/04/04(月) 20:44:08
normal 法線
cross 外積
dot 内積
500デフォルトの名無しさん:2005/04/04(月) 21:20:39
>>497
ソフトウエアエミュレーションで動くけど、遅いよ。
ハードウエアの10分の1以下。
あと、プログラムがCreateDevice時にソフトウエアエミュレーションでの生成に
対応していないとならない。
501デフォルトの名無しさん:2005/04/04(月) 21:41:03
normal ノンケ
cross バイセクシャル
dot 幼女趣味(一点買い)
502デフォルトの名無しさん:2005/04/05(火) 15:36:46
>>497
頂点シェーダはソフトウェアで処理が可能。
ピクセルシェーダは無理。

頂点シェーダだけしか使わなければ、GeForce2とかでも動く。
速度はCPU依存だが、普通は問題ない。
俺の環境だと、ソフトウェア処理の方が速いシェーダもあるくらい。
503デフォルトの名無しさん:2005/04/05(火) 20:19:54
アルファブレンドを使ってみたのですが、
例えば

 .          | | |
<() …………> | | |
視点.        | | |
           1  2  3

となっていた場合、
2より上にある1がα値を持っていても、
1の後に2を描画指定すると、
2が1に「隠れて」しまいます(ブレンドされません)。

描画指定順を変えればうまくいくものの、
描画指定順の管理はなるべくならしたくありませんし、
三すくみが起こった場合にはどうしようもありません。
これはどうにもならないのでしょうか?
504デフォルトの名無しさん:2005/04/05(火) 20:36:01
>>503

基本的にアルファブレンドの場合は視点から奥にある
ポリゴンから描画しないといけません(このように描画の
順番を入れ替えることをZソートという)。

昔はZソートしなくても正常に描画される機能をもった
ビデオカードもありましたが、今はないのでこのあたり
はあきらめるしかありません。

アルファブレンドでなく、加算描画で代替可能なものであれば
それでやる手もあります。加算描画は描画順は関係ありません。
505デフォルトの名無しさん:2005/04/05(火) 20:37:24
基本的に3すくみについてはZソートには必ずついてまわるので
ある程度あきらめないといけません。
506デフォルトの名無しさん:2005/04/05(火) 20:38:32
というか後ろにあるものから描画していくのは2Dの頃から基本なんだがな
507504:2005/04/05(火) 20:42:59
>>506

3Dの場合(というかZバッファ)はできるだけ前から描いていくほうが
フィルレートを消費しないので効率いいんだけどな。

こっちのほうが3Dの基本だと思うんだけど。
508503:2005/04/05(火) 20:49:35
>>504-507
なるほど...。ありがとうございます。
諦めるしかないんですね。

あと、背景は 3D で、キャラを 2D スプライトで、
ということをやろうと思っているですが(ラグナロクみたいな感じ)、
こういう場合に特化した代替案とかはありますか?
なければ描画順を手動ソートですかね...。
509504:2005/04/05(火) 21:00:32
>>503

自分は2D、3Dの混合に特化した方法に関しては知らない。
知らないだけでそういうノウハウがあるのかもしれないけど。

あと、もしかしてアルファブレンドで2Dのキャラの画像を
切り抜こうとしているだけであれば、かわりにアルファテスト
をつかえばいいけど。この場合は描画順は関係ない。
もしかして違う?
510503:2005/04/05(火) 21:39:56
>>509
あぁ、これです!
こんなものがあったとは...。

結論としては、

1. スプライトはアルファテストで
2. ブレンドは加算処理

ということですね。
ありがとうございました。
511デフォルトの名無しさん:2005/04/05(火) 23:56:41
もれは描画するメッシュなりビルボードなりそのたもろもろを毎フレーム、リスト構造でつなげる
リストは不透明用と透明/半透明用があって
不透明用はカメラから近い順に並ぶようにつなげていき、
透明/半透明用はカメラから遠い順に並ぶようにつなげていく
で不透明リストを先頭から描画
続いて透明/半透明リストを描画
これでもカバーできないパターンもあるが、とりあえずこの方法を基本にやってる
みなさんはどう?
512デフォルトの名無しさん:2005/04/06(水) 06:21:55
D3DXLoadMeshFromX関数でxファイルを読み込んで描画してるのですが何故か透明部分が透明にならずに描画されてしまいます
xファイルには問題なく、マテリアルもちゃんと設定してるはずなのですが透明部分がまったく透明になりません
原因がまったく分からずに困っています、どなたか教えていただけないでしょうか
513デフォルトの名無しさん:2005/04/06(水) 07:55:54
>>512
ステート変えてないでしょ
514デフォルトの名無しさん:2005/04/06(水) 10:38:34
3D用語を記載したサイトはありませんか。
機能は分かりますが字だけ見ると

NoPowerTexture

何が力やねん


ノーマルマップ

どこがノーマル、普通やねん


といった感じで、わけがわかりません。



演劇部用語でコンパネというとベニヤ板を張り合わせたものなんですが
ゲーマーの間ではコントロールパネルのことです
頭の中では似たようなことになってます
515デフォルトの名無しさん:2005/04/06(水) 10:51:00
どうでもいいが、コンパネを演劇部用語だと思っている辺りが世間知らず。
516デフォルトの名無しさん:2005/04/06(水) 12:25:21
>>514
学校の教科書じゃねぇんだから疑問に思った用語だけ調べればいいだろ
517デフォルトの名無しさん:2005/04/06(水) 15:26:16
>>516
だからそういうサイトを探しているんじゃないか?
518デフォルトの名無しさん:2005/04/06(水) 16:17:18
>>517
何も全部纏めて載ってる必要はないだろうから、個別に検索すればいいだろ。
519デフォルトの名無しさん:2005/04/06(水) 17:07:49
だが全部まとめて載ってるところがあれば御の字だろう
それくらい自分で探せよって感じだが
520デフォルトの名無しさん:2005/04/06(水) 17:25:54
行ったり来たりのインターネッツですね
521デフォルトの名無しさん:2005/04/06(水) 19:02:33
ttp://www.h6.dion.ne.jp/~t-falcon/Lexicon/Lexicon.htm

大したサイトじゃないけど、こんなノリ?
522デフォルトの名無しさん:2005/04/07(木) 01:51:33
normalにしろpowerにしろ、普通の英和辞典に載ってる言葉なんだから
英和辞典見てくれよ…
523デフォルトの名無しさん:2005/04/07(木) 02:42:17
normal は法線だが、辞書だと後ろの方に書いてるだけっぽいんで、
辞書だけでどうにかってのも酷かもしれんの。
524デフォルトの名無しさん:2005/04/07(木) 06:17:49
だが載ってる

それを探し出すしつこさも必要だ
525デフォルトの名無しさん:2005/04/07(木) 13:24:20
行ったり来たりのインターネッツですね
526デフォルトの名無しさん:2005/04/07(木) 14:31:47
FVFから頂点データのサイズを得る方法が知りたい。
メッシュをDrawSubsetではなくDrawPrimitiveで描画したいのです。
527デフォルトの名無しさん:2005/04/07(木) 14:49:37
>>526
FVFのマスクをif判定しながら、sizeofの結果を加算していく。
528デフォルトの名無しさん:2005/04/07(木) 14:51:10
FVFに対応するサイズは明確に定義され、ヘルプにもきちんと載っているのに、
それを得る方法が知りたいとは意味不明。
もしかして足し算すら出来ないのか?
529デフォルトの名無しさん:2005/04/07(木) 15:03:15
>>527 >>528
サンクス。
馬鹿には思い付かん事なので、許して
530デフォルトの名無しさん:2005/04/07(木) 15:13:10
GetSysFrmTimeを使って画像をX倍から縮小・回転させているのですが、
等倍の大きさまで縮小したら止めるにはどうしたら良いでしょうか?
もしくは他に良いやり方があればお願いします。
531デフォルトの名無しさん:2005/04/07(木) 15:22:25
>>530
大きさが等倍になったら縮小をやめればいい
532デフォルトの名無しさん:2005/04/07(木) 15:28:32
>>531
なるほど!なんで気づかなかったんだろう・・・
ありがとうございます。
533デフォルトの名無しさん:2005/04/07(木) 15:35:51
>>527-528
普通D3DXGetFVFVertexSizeを使うだろ。
偉そうだけど片手落ちって奴多いよな。
534デフォルトの名無しさん:2005/04/07(木) 16:25:36
別に使わなきゃいけないものでもないのに偉そうに説教たれるヤツ多いよな
535デフォルトの名無しさん:2005/04/08(金) 15:59:18
メッシュビューアでXファイル(自作:単純なもの。アニメーションとかボーンとか一切無し)のメッシュが見れるのに、自作プログラムは何も表示されない。

自作プログラムの方で、
他のXファイルはDrawSubset関数で表示できます。
(DrawPrimitiveでも大体表示されます:TRIANGLELIST←どういう形式で保存されているか分からない為...)
メッシュビューアみたいなのが作りたくて。
DirectXサンプルの「エンハンスドメッシュ」を見てみたら、全てDrawSubsetで描画してる
ようですが。

表示させたいXファイルは、
Mesh 名前 {
頂点数;
頂点配列;

面の数;
面の配列;

MeshVertexColors {
(略)
}
MeshNormals {
(略)
}
}
ビューアで表示できるので、詳細は(略)しました。
長文スミマセン。アドバイスよろしくお願いします。
536デフォルトの名無しさん:2005/04/09(土) 08:03:53
>>535
いや、だから・・・・・答えは自分の書き込みの一行目に書かれているじゃん。
ソース付きの答えがあるじゃん。
なぜ見ない?
なぜそこから得ようとしない?
なぜ人に答えを聞く?
「どうしていいのかわかりません」は質問じゃない。
やる気がないだけ。
「ソース見てわからないから聞いてるんだ」と言うのなら、
まだあなたのスキルがそこまで達してないだけ。
吸収できないから答え教わっても忘れる。

まずはMeshViewと自分のプログラムの異なる点を見極める。
537デフォルトの名無しさん:2005/04/09(土) 09:07:16
質問ですが、
リスナが同じでも、音源ごとにオーディオパス作る必要があるんでしょうか?
あと、リスナや音源を開放するとエラーになるようですけど、
これはオーディオパスの開放とともに
自動的に開放されると考えていいのですか?

よろしくお願いします。
538デフォルトの名無しさん:2005/04/09(土) 17:15:48
290 名前: デフォルトの名無しさん 投稿日: 2005/04/04(月) 10:53:15

「言語の仕様的には、やればできる」が、

「そういう方法を習っていない」から楽な方法しか思いつかないんだよ。
ここにいる連中は。

結局学校で先生に懇切丁寧に手取り足取り教えてもらわないと
プログラムの手法ひとつも思いつかないし、やれない。


291 名前: デフォルトの名無しさん 投稿日: 2005/04/04(月) 10:58:38

一例では

今あるAPIでは、シェーダ内でアルファブレンディングができない
それでもどうしてもしたい,必要である

そういう状態のときに、ここで聞いても「諦めろ」としか言われないのと同じこと。

できないなら自分で作るしかない、言語の仕様も自前のシェーダを許容しているからと
これを自前のアセンブラシェーダでやったのがジョン・カーマックなわけで

Cにしてもそう
自分でライブラリつくろうとかヘッダ作ろうとか思いつかないのは
先生に教えてもらってないから。
先生に教わらないと靴も履けない。
539デフォルトの名無しさん:2005/04/09(土) 17:17:18
まあ「自分で考えろ」という奴ほど
じゃあお前はどうやって知ったんだよ

と問うと結局は先生に丁寧に丁寧に教えてもらったから

ってオチがつくもので
540デフォルトの名無しさん:2005/04/09(土) 17:20:30
「人のソース見た」とか。

おまえそりゃ自分で考えたんじゃねえだろ、みたいな
541デフォルトの名無しさん:2005/04/09(土) 17:39:54
まぁ人のソース見て勉強するのは一手だけどな
542デフォルトの名無しさん:2005/04/09(土) 17:46:37
つーか何行もの説教レスは
誰の為にもならない資源の無駄。
無視しろや。
543デフォルトの名無しさん:2005/04/09(土) 17:47:11
ビル・ゲイツも大学のゴミ箱に捨ててあったソースコードを読んで勉強したって言うぜ。
544デフォルトの名無しさん:2005/04/09(土) 17:59:43
先生に教えてもらわなきゃ何もできなかった馬鹿ほど吠えるもの。
545デフォルトの名無しさん:2005/04/09(土) 19:53:44
>>539
ということにしたいのですね。:P
546デフォルトの名無しさん:2005/04/09(土) 20:02:16
別にいいんだよ、そんなに必死に隠さなくても(^ω^)
547デフォルトの名無しさん:2005/04/09(土) 20:04:40
>>539
> 結局は先生に丁寧に丁寧に教えてもらったから

お前と一緒にすんな。

>>540
「学ぶ」という言葉は「真似ぶ」から来てるわけだし、真似ることにはなんら問題ないだろ。
叩かれてるのは、真似る気がないヤツであって。

だいたい今プログラミングなんて、ちょっとぐぐれば真似る対象がドカドカ出てくるのに、
誰かにテトリス足トリス教えてもらうなどという非効率な手段を採るやつは初心者。
羽生善治四冠の言うところの「高速道路」に乗れない、
そもそも高速道路を探そうとすらしない愚か者。

まあ、ここは初心者スレだが。
548デフォルトの名無しさん:2005/04/09(土) 20:10:03
必死だな
549デフォルトの名無しさん:2005/04/09(土) 20:11:18
>>547
いいわけばっかり長くて結局自分で考えたんじゃないでしょ?
人のパクリしかできないのに自分の努力と勘違いしてみっともないよ。
550デフォルトの名無しさん:2005/04/09(土) 20:11:28
まぁこの程度のことで、長文説教してる奴は見苦しい
551デフォルトの名無しさん:2005/04/09(土) 20:14:19
今日も技術的なレスでいっぱいだあ
552デフォルトの名無しさん:2005/04/09(土) 20:15:33
煽り技術ですな
553デフォルトの名無しさん:2005/04/09(土) 20:22:48
初心者向けの良いサイトを教えてください
554デフォルトの名無しさん:2005/04/09(土) 20:27:27
初心者はサイト見るより本買っとけ
555デフォルトの名無しさん:2005/04/09(土) 22:05:30
本やサイトより、ヘルプが一番分かりやすいよ
556デフォルトの名無しさん:2005/04/09(土) 23:16:12
質問ですが、directx9.0 sdk をインストールをしてVisualC++6.0で
プログラムを作っていたところ、コンパイルしたところでエラーがでてしまいました。
どうやったら直るのかわかりません。どうやらSDKに問題があるようなのですが、
なんどインストールしなおしても直りません。どなたか教えてくれませんか?
下は出たエラーです。

\include\dsound.h(305) : error C2146: 構文エラー : ';' が、識別子 'dwReserved1' の前に必要です。
\include\dsound.h(305) : error C2501: 'DWORD_PTR' : 識別名を宣言するのに、型が指定されていません。
\include\dsound.h(305) : error C2501: 'dwReserved1' : 識別名を宣言するのに、型が指定されていません。
\include\dsound.h(306) : error C2146: 構文エラー : ';' が、識別子 'dwReserved2' の前に必要です。
\include\dsound.h(306) : error C2501: 'DWORD_PTR' : 識別名を宣言するのに、型が指定されていません。
\include\dsound.h(306) : error C2501: 'dwReserved2' : 識別名を宣言するのに、型が指定されていません。
fatal error C1903: 直前のエラーを修復できません; コンパイルを中止します。
cl.exe の実行エラー

template.obj - エラー 7、警告 0
557デフォルトの名無しさん:2005/04/09(土) 23:54:08
>>556
最新のPlatformSDK入れてないだろ。
VC6付属のSDKにはDWORD_PTRが定義されてない。
558デフォルトの名無しさん:2005/04/09(土) 23:58:56
頂点2000強、面5000弱の物体を10個表示させると350fpsから70fpsに落ちました。
平行光源を使うと40fpsまで。
これらの原因は単純に頂点や面の多すぎなのでしょうか?

559デフォルトの名無しさん:2005/04/10(日) 00:11:54
>>558
はぁ?
350fpsのときはどんなモデルをいくつ表示してたんだよ。
560デフォルトの名無しさん:2005/04/10(日) 00:14:06
>>559
背景と地表だけです。
561デフォルトの名無しさん:2005/04/10(日) 00:19:15
>>557

マイクロソフトのホームページいって、directX SDK 9.0c update(Apri 2005l)
をインストールしましたが直りませんでした。
562デフォルトの名無しさん:2005/04/10(日) 00:20:03
>>556,557
まぁ待て、VC6付属のIncludeファイル群にもDXのヘッダファイルあるんだよ
そっち見てんじゃねーの?
俺もVC6でDX9使ったが、完全な自分の構文ミス以外エラーなんか出なかったし(PlatformSDKの入れ替えとかしてないし)

あと>>556はちゃんとdxguid.libをリンクしてるのだろうか
563デフォルトの名無しさん:2005/04/10(日) 00:20:45
>>561
そいつぁDirectX9 SDKだ
PlatformSDKは別のもんだ
564デフォルトの名無しさん:2005/04/10(日) 00:22:43
>>560
それじゃもう何が原因なんだかこっちじゃわかんねーよ。ばーか。
画面に実際に表示してる物体の数にもよるだろ?(頂点数)
あと、画面に実際に描画されている各物体の面積。(ピクセルフィルレートの問題)
アルファ物はいくつ描画されているの。(アルファがある部分は2度塗りになるので主にピクセルフィルレートの問題)
で、ちゃんとクリッピングしてるの?とか、それがうまく動いてるのか?とかアルファ物以外のものはちゃんと手前から描画してる?とか
色々考えられるけど原因なんてこっちじゃわかんねぇよ。
ちゃんとクリッピングが動作してりゃ画面に表示されている物体しか処理されないはずだよな。
頂点数が多いからといって描画する物体の描画面積が少なければ軽くなるわけだし。
色んな問題が絡み合うだけに何が原因と断言できない。
565デフォルトの名無しさん:2005/04/10(日) 00:26:11

http://ponk.jp/el/index.php

ここで見たとおりにやってみましたが、できませんでした。

>>562
dxguid.libもリンクしたんですけど・・・。


>>563
PlatformSDKって何ですか?
566デフォルトの名無しさん:2005/04/10(日) 00:34:09
>>565
>PlatformSDKって何ですか?
訊く前にぐぐれよ。
567デフォルトの名無しさん:2005/04/10(日) 00:43:22
ググることすら出来ないからここで
バカみたいに聞いてんだろうよ

既に DirectX 関係品
568デフォルトの名無しさん:2005/04/10(日) 00:45:45
>>565
Windowsアプリ作成のためのSDK。
http://www.microsoft.com/msdownload/platformsdk/sdkupdate/XPSP2FULLInstall.htm
インストールしたら、VCのディレクトリの設定に、
PlatformSDKのincludeディレクトリを(上の方に)追加すればおk。

あとDirectXSDKは、VC6は (October 2004) までしか
サポートされていないので、そっちをインストールすべし。
569デフォルトの名無しさん:2005/04/10(日) 00:49:12
>>568

ありがとうございます。やってみます。
570デフォルトの名無しさん:2005/04/10(日) 01:08:36
>>564
スマソ。
変化のない部分をずらずら書き連ねても、そんな部分イラネーヨとか書かれそうなので書きませんでした。

グラボ在り(ラデ9200)。
xファイル、面積は0.2以下が大半。
変化前 物体数0個350fps → 変化後 10個70fpsです。
重ならないように画面内に全部表示。
離れようが近づこうが大きな変化はありません。
描画関連の処理をこの処理だけにした場合(他の計算等は残したまま)、
変化前 物体数0個600fps → 変化後 10個80fpsです。
物体の大きさは奥行き48 x 幅30 x 高さ8
重いのはDrawSubset(当然だろうけど)。

571デフォルトの名無しさん:2005/04/10(日) 02:34:38
>>570
とりあえず、俺なら、

1.同じモデルを1個、2個、5個出してそれぞれの場合を測ってみる
2.頂点数を半分にしたモデルを用意してそれを10個出して測ってみる
3.頂点数を半分にした同じモデルを用意してそれを1個、2個、5個出してそれぞれの場合を測ってみる
4.同じモデルを10個、20個、30個出してそれぞれの場合を測ってみる。
5.頂点数を半分にした同じモデルを用意してそれを10個、20個、30個だしてそれぞれの場合を測ってみる
6.ちょっと凝った背景モデル(できればアルファ込み)を用意して、その上で1〜5のテストをZバッファON・OFFの場合でそれぞれ測る

これぐらいのテストはする。
また、いまはピクセルフィルレートによる処理落ちが起きていないが、
頂点数での処理落ちに加えてピクセルフィルレートの処理落ちが出てくるとまたよくわからん処理落ちをする。
実際にゲームのシーンを組んだときと同じモデルを10個20個描画したときでは処理落ちの仕方が違うような希ガス。
572デフォルトの名無しさん:2005/04/10(日) 05:47:51
レスありがとうございます。
1、4はやってましたが半分サイズの表示はやっていなかったのでやってみました。
見事に地表が真っ黒に(ノ∀`)
ライト処理がされていないか異常があったためでしょうか、
ライト以外の描画関係をコメントアウトしてもやはり地表が真っ黒でした。
当然セットテクスチャは地表以外行っていません。
そもそもXファイルとそれに貼り付けるテクスチャの読み込みをコメントアウトしても真っ黒になったため、残りの半分のポリゴンで奇跡が起こっていたのかと。
プログラムの見直しをして見ます。

細かい条件にもよりますが、PM1.6 R9200では100万ポリゴン程度なら60fpsを維持できるのでしょうか?
573デフォルトの名無しさん:2005/04/10(日) 05:49:11
>>568
summer 2004から非サポートじゃなかったか?VC++6.0
非サポートっつっても、使えるようにするものがMSページにあるけどな
574デフォルトの名無しさん:2005/04/10(日) 13:13:52
575デフォルトの名無しさん:2005/04/10(日) 14:13:49
October2004 Extras
http://www.microsoft.com/downloads/details.aspx?FamilyID=d6f237de-a6ee-4ded-8bb6-139536162eb8&DisplayLang=en
リンクがないけど一応残ってるね。(中のライブラリを
DirectXSDKのLibフォルダに上書きする)
VC6はもはや素人にはおすすめできない。
576デフォルトの名無しさん:2005/04/10(日) 16:35:03
VC6.0で関数を打ったら引数が自動で出るようにしたいんですがどうしたらいいでしょうか?
WinMain(HWND・・・・
ってでるやつなんですが
577デフォルトの名無しさん:2005/04/10(日) 16:36:43
>>576
スレタイも読めないの?
578デフォルトの名無しさん:2005/04/10(日) 16:55:30
いやですからdirectxの関数でも出来ないかなと
579デフォルトの名無しさん:2005/04/10(日) 17:07:05
出ないときは出ない。VCのバグだ。
580デフォルトの名無しさん:2005/04/10(日) 17:20:15
あと、入れてるverが最新版なんですがちょっと上のレスにあるように
vc6.0に対応している奴なら改善しますか?
581デフォルトの名無しさん:2005/04/10(日) 17:26:27
関係ない。IDE自身がダメダメだから。
VS2003とかならマシになってると聞くが完璧ではないらしい。
582デフォルトの名無しさん:2005/04/10(日) 19:33:46
最近借りた本がDirectX8.0の本なんですが
8.0をそれなりに理解すれば9.0も使えるんですか?
583デフォルトの名無しさん:2005/04/10(日) 21:02:51
>>582
使えるぞよ
584デフォルトの名無しさん:2005/04/10(日) 21:15:05
DirectXでベンツマークソフトを作りたいのですが、
言語はC++を習得済みとしたら
一般的にどれくらいの期間でDX9を習得できますか。


とりあえずDX9bのフィーチャーを一通り網羅できればいいレベルで。

ベンツマークをt種繰りたいんです!
585デフォルトの名無しさん:2005/04/10(日) 22:30:44
ワロタ
586デフォルトの名無しさん:2005/04/10(日) 22:36:51
ベンツマークなら、円を中心点から外周を結ぶ線で3等分すればできるよ
587デフォルトの名無しさん:2005/04/10(日) 22:52:09
質問失礼します。

64人同時対戦等のロビープログラム(名称あってる?)ってどうやって組めば良いのでしょう?
やっぱりWinInetとCGI使って組むのでしょうか?

とりあえず、sageときますね。
588デフォルトの名無しさん:2005/04/10(日) 23:53:59
>587
どういったものを作りたいのかさっぱりわからんが
とりあえず通信関係のプログラムの勉強しる
まずはsocketとかWinSockとか
589デフォルトの名無しさん:2005/04/10(日) 23:59:13
>>587
なんでDirectXスレに書いてんだ。
590587:2005/04/11(月) 00:44:37
返答ありがとうございます。

>>588
>どういったものを作りたいのかさっぱりわからんが
ですので、ロビープログラムです。
「検索」ボタン押したら、サーバーがズラーっと出てくるやつです。

>>589
できればDirectPlayで組みたいのです。
591デフォルトの名無しさん:2005/04/11(月) 02:12:19
>やっぱりWinInetとCGI使って組むのでしょうか?
>できればDirectPlayで組みたいのです。
('A`)

>「検索」ボタン押したら、サーバーがズラーっと出てくるやつです。
鯖が複数台無いとできんぞ。

とまぁ、そんな煽りは置いといて、
>64人同時対戦等のロビープログラム(名称あってる?)ってどうやって組めば良いのでしょう?
これは答えれないよ。
100という答えを出すのにどういう式を組めばいいのか聞いているようなもの。
とりあえず2人対戦を作り、そのあとサーバーを分けてそれぞれにアクセスできるようにする。
あとは人数増やしたりサーバーを増やしたりでOKなはず。

592デフォルトの名無しさん:2005/04/11(月) 04:00:27
>>590
DirectPlayにロビー機能あるぞ。
それ使えばロビー関係の機能は自分で実装する必要がない。

MSN Gaming Zone等の汎用のロビーを利用してマッチングできるよ。
この機能だけでもDirectPlayの存在意義はある。
593デフォルトの名無しさん:2005/04/11(月) 08:11:16
なんでDirectPlay無くなっちゃうんだろうな
594デフォルトの名無しさん:2005/04/11(月) 08:55:34
「DirectPlay」は、マルチプレーヤ用ネットワーク・ゲームをサポートする、
ネットワーク通信用の API です。
 しかし、現在では、DirectPlay は不適切で旧式のものとみなされています。
 現在の SDK では DirectPlay は引き続きサポートされていますが、
DirectPlay の「ヘッダー」「ライブラリ」「ドキュメント」は将来の SDK では削除されるでしょう。
そのため、既存のアプリケーションを修正するときは、
DirectPlay への依存性を削除することが強く推奨されています。


とのことらしい。
595587:2005/04/11(月) 09:05:30
返答ありがとうございます。

>>591
俺の文章力が足らない性ですね。
すいません。

>>592
そう、それ!
そんなの聞きたかったですよ。
あんた、最高!
っていうか、そういう情報何処から引っ張ってくるの?

>>593
そういう情報も聞きたかった。
え?無くなるの?。。。マジ?
だったらwinsock使おうかな。。。

ttp://www.paleface.net/domaindirect.html

DirectPlay sucks!
とか書いてあるしね。
英語読めないから内容わからんけど。
596587:2005/04/11(月) 09:11:44
>>594
ヽ(`Д´)ノ
やっぱ今後はwinsockかそれ以外の何かって事ですね。。。
597デフォルトの名無しさん:2005/04/11(月) 09:46:04
>>587
Updateではないヘルプには「DirectPlay のロビー」という頁がある
598デフォルトの名無しさん:2005/04/11(月) 13:44:48
>>587
まず、サーバ1対クライアント1の通信をするプログラムを作れ。
TCP/IPによるコネクション指向でいい。
次にサーバ1対クライアント複数のプログラムを作れ。サーバは
マルチスレッドになる。スレッド1対クライアント1となる。
サーバは各スレッドの情報を収集して、全スレッドを通してクライアントに
データを送信する。
ネットワークプログラムで一番大変なのはデータの遅配やロストだ。そして
それらをテストするための環境だ。まあ、がんばれ。
599587:2005/04/11(月) 14:03:36
返答ありがとうございます。

>>597
その使い方が、、、
いや、ありがとうございます。

>>598
>まず、サーバ1対クライアント1の通信をするプログラムを作れ。
できてます。
いや、私が作りたいのはサーバーの検索なのですが、、、

------------------------------------------------------------
色々悩んだ結果、WinInet と CGI で行く事にしました。
(ただし、WinSock に検索機能があればそちらを優先します)

あと余談ですが、通信部は DirectPlay から WinSock に乗り換える事にしました。

皆さん色々答えていただいて、ありがとうございました。
600デフォルトの名無しさん:2005/04/12(火) 03:38:40
DirectInput(DirectX 9.0c)でキーボードを直接データで取得しようとしてるんですが、
無理にクラスにしようとしてるからかなんだかうまくできません。
どうやったらいいんですかね?
char KeyState[256];とかにキー情報が入ればクラスでも問題ないですよね?

初心者で全然わかってませんがお願いします。
(問題のクラスの定義部分とかカキコしていいっすか?)
601デフォルトの名無しさん:2005/04/12(火) 03:46:43
もしかして
if(KeyState[i] == 0x80) とかやってないか?
char がデフォルトで signed char になってたら、
KeyState[i] が -128 になって 0x80 = (int)128 と等しくならない。
if((KeyState[i] & 0x80) != 0) だな。
602600:2005/04/12(火) 04:04:25
う〜ん、自分はよっぽどの初心者みたいでよくわかりません。
if(KeyState[DIK_RIGHT]&&0x80)のように使っていますが、
よくわからないのでとりあえず
if(KeyState[DIK_RIGHT]&&0x80)!=0)とやってみましたが
特に変わりありませんでした。
たぶん、もっと低レベルな馬鹿ミスだろうと思うのです。
603600:2005/04/12(火) 04:06:33
class CInput
{
private:
LPDIRECTINPUT8pDI;
LPDIRECTINPUTDEVICE8pKeyboard;
public:
CInput();
~CInput();
HRESULTInitInput(HINSTANCE g_hInst);//DirectInput8Createです
HRESULT InitKeyboard(HWND g_hWnd);//CreateDeviceとかAcquireとかです
VOIDGetKeyboardState(char KeyState[]);
};

VOID CInput::GetKeyboardState(char KeyState[])//ポインタとか配列とかの関係がわかってないみたいです
{
if(pKeyboard==NULL)return;
HRESULT hr= pKeyboard->GetDeviceState(sizeof(KeyState),(LPVOID)&KeyState);

/*ロストしたらもう一回Acquireとか*/

}
変なところありますか?お願いします。
604デフォルトの名無しさん:2005/04/12(火) 04:22:00
>>603
関数側では KeyState は char のポインタ(配列長の情報がない)だから、
sizeof(KeyState) は4になる。
とりあえず sizeof(char)*256 にしる
605デフォルトの名無しさん:2005/04/12(火) 04:28:50
"(LPVOID)&KeyState" も &つけずに "KeyState" やね。
DirectX以前の問題やね。
606デフォルトの名無しさん:2005/04/12(火) 04:36:15
>>602
&& じゃなくて &
607600:2005/04/12(火) 04:36:59
みなさんご指摘ありがとうございます。修正しました。
>DirectX以前の問題やね。
本当にそのとおりだと痛感してますが、
CとDirectXの勉強を並行してやっていくということで勘弁して下さい・・・。
608600:2005/04/12(火) 04:57:45
おかげさまで解決しました。
>>605
の部分が大問題でした。
(どっかのサイトを参考にしてたんだがなぁー)
ありがとうございました。
そしてこれからもよろしくです・・・へ(゜Д、゜)ノ
609デフォルトの名無しさん:2005/04/12(火) 05:19:31
そのサイトでは KeyState を引数にとらず、
配列のまま直接渡しているはずだ。
610デフォルトの名無しさん:2005/04/12(火) 07:42:29
己の読解力の低さではなく、
参考にしたところが悪かったと思い込んでいる。
凄いよあんた・・・。
二度と人のソース見るな。
611デフォルトの名無しさん:2005/04/12(火) 07:52:48
そんなことより
>へ(゜Д、゜)ノ
これ何だw
612デフォルトの名無しさん:2005/04/12(火) 09:44:03
馬鹿にしているに決まってるじゃないですか。
613600:2005/04/12(火) 11:07:51
>己の読解力の低さではなく
>参考にしたところが悪かったと思い込んでいる。

むしろ読解力の無さに嘆いてるんです。コピペ的になりがちだし。

>へ(゜Д、゜)ノ
この程度の質問を再度するかもしれない自分に対してのあきれ顔です。

誤解を招いてしまいすいませんでした。敵対心これっぽちもありません。
本当に感謝の気持ちでいっぱいですよ。
これからもご教授お願いします。
614デフォルトの名無しさん:2005/04/12(火) 11:09:01
おう! がんばれよ!
615デフォルトの名無しさん:2005/04/12(火) 17:58:10
D3DPRESENT_PARAMETERS構造体の
BackBufferCountってなんですか?
なんか最大3つまで確保できるらしいんですが
616デフォルトの名無しさん:2005/04/12(火) 17:58:31
バックバッファの数
617デフォルトの名無しさん:2005/04/12(火) 23:07:47
ゲームじゃない用途にDirectXを使いたいのですが
デスクトップ上にポリゴンキャラを描きたい場合どういうアプローチがよいでしょうか
618デフォルトの名無しさん:2005/04/12(火) 23:14:41
Windowモードでクリッピングせずに描画
619617:2005/04/12(火) 23:20:33
早速の回答ありがとうございます
やはりそれですか、エッジが立ってしまうのは仕方ないですかね
620617:2005/04/12(火) 23:36:57
ちなみにIDirect3DDevice9::Presentの対象にデスクトップが指定できれば楽ちんかと考えていました
621デフォルトの名無しさん:2005/04/13(水) 18:36:04
>>617
Longhornを待つ
622デフォルトの名無しさん:2005/04/13(水) 19:29:03
ヒント:α
623617:2005/04/13(水) 19:58:42
>>621さん
AvalonのSDKを調べればいけそうですか?
完成時期等を考慮すると今からつくるならそっちのほうがいいですか?

>>622さん
GDI+を使うのでしょうか?とても遅い気がしますが実用になりますか?

とりあえずAvalonを調べてみます・・・
624617:2005/04/13(水) 20:07:08
ttp://hitokuso.kicks-ass.org/progtips.html#4

発見しました、これですね
皆様お手数をおかけしました
これを見ながらAvalonと比較し、実装していきたいと思います
625617:2005/04/14(木) 04:42:39
書き始めて
GetBackBufferしたサーフェスからCreateOffscreenPlainSurfaceしたサーフェスへの
UpdateSurfaceが成功しない・・・

GetDescしてパラメータはあわせてるはずなんだけどなぁ・・・
626617:2005/04/14(木) 06:50:40
GetRenderTargetDataを使って何とかなりました
たぶんこれで質問スレッドは脱出できます

独り相撲すみませんでした
627デフォルトの名無しさん:2005/04/14(木) 17:17:00
はじめまして。DirectMusicのWAVEファイルの読み込みについて
質問させてください。

DirectMusicで、IDirectMusicLoader::LoadObjectFromFile()を使って
WAVEファイルからセグメントを作成して音を再生するようにしています。
ここでWAVEファイルを再生する際にIDirectMusicSegment8::SetLoopPoints()
を使ってループの開始位置、終了位置を指定して再生しようとしたところ
うまくいきません。いろいろ調べてみたところWAVEファイルからセグメント
を作成するとセグメントの長さが1に設定されてしまうらしいということは
分かりました。WAVEファイルからセグメントを作成した場合は
SetLoopPoints()を使ってループを制御することは出来ないのでしょうか?
もし解決方法を知っている方がいらしたら是非ご教授ください。
628628:2005/04/14(木) 23:11:26
>>627
それは無理。
正確に言うと、DirectMusicにWAVEを読ませると無理。
MSDNに書いてある方法を実践しても動かん。
解決方法は、「カスタムローディング」の項を参照。

ここまでするなら、DirectSound使えって話になるんだが・・・
629627:2005/04/15(金) 03:03:54
>628

返信ありがとうございます。

このままでは無理なのですね。ちらっとMSDNカスタムローディングの文章
を呼んでみたのですが恥ずかしながらさっぱりでした。まだDirectXいじり
始めたばっかりでWAVEファイルを再生出来るようにするのも一苦労だった
ので…

取りあえず時間かけながらカスタムローディング調べて無理っぽかったら
DirectSound使ってみようと思います。どうもありがとうございました。
630デフォルトの名無しさん:2005/04/15(金) 07:40:40
>>629
自分でWAVEの長さを計算してSetLength
631627:2005/04/15(金) 16:22:17
>>630

助言ありがとうございます。早速試して見ました。

WAVEの長さの計算方法が分からないので取りあえず適当な値(8000)を
SetLengthしてみました。その後GetLengthをするとセットした値(8000)が
返ってくるようにはなったのですがSetRoopPoints( 10, 0, 4000 )としても
普通に曲全部が10回繰り返されるだけでした。WAVEの長さを正確にセットしないと
ダメなのでしょうか…
632デフォルトの名無しさん:2005/04/15(金) 22:06:13
今からDirectXプログラミングをはじめようと思います。
VC++によるDirectX入門のサイトはありませんでしょうか?
ちなみに.NETを使っています。
633デフォルトの名無しさん:2005/04/15(金) 22:09:29
横着せんと本くらい買え
634デフォルトの名無しさん:2005/04/16(土) 01:23:21
>>632
.NETを使っててVC++?? ってことはManaged C++???

最近の初心者はなんでもありだな
635デフォルトの名無しさん:2005/04/16(土) 04:04:45
久々に見たら
妙に初心者に厳しいスレだなw
636デフォルトの名無しさん:2005/04/16(土) 06:25:56
まあ回答者が中学生並みしかいないからな。
637デフォルトの名無しさん:2005/04/16(土) 07:13:28
悔しいからってみっともないですよ^^;
638デフォルトの名無しさん:2005/04/16(土) 08:02:34
>>634
ごめんなさい。
開発環境がVisualStudio .NETということです。
639デフォルトの名無しさん:2005/04/16(土) 10:07:42
>>634
VC++.NETでもネイティブC++はデフォルトでできるだろうが、むしろそっちがメイン。
初心者がManaged C++をやると思っているお前の頭の方が何でもありだよ。

>>638
ttp://www.geocities.jp/toru_website/
ttp://www.plustarnet.com/aspil/Programming/
ttp://www.c3.club.kyutech.ac.jp/~sukiyaki/
とか。
この内容が物足りなくなったらSDKの日本語ドキュメントを読み漁れば十分だろ。
640デフォルトの名無しさん:2005/04/16(土) 14:40:11
ちょっと質問なんだけど
初期化のとこの、Direct3DCreate9メソッドは
Ctrl + Spaceで補完されないのですか?

他の所は補完されてるのですが。。
641デフォルトの名無しさん:2005/04/16(土) 15:00:48
スワップチェーンってのがよくわからないんですが
D3DPRESENT_PARAMETERS構造体のオブジェクトのことですか?
642デフォルトの名無しさん:2005/04/16(土) 16:09:47
ダブルバッファとかトリプルバッファとか、描画するまでに何枚切り替えるか
とかの説明でいいかな・・?<スワップチェイン
最初は気にしなくていいと思う

せっかく日本語のヘルプがあるんだから「プログラミングガイド」くらい全部よもーぜ
643デフォルトの名無しさん:2005/04/16(土) 16:11:51
いまどれくらいVRAM食ってるかって
GetAvailableTextureMemでしかわからないのかな・・・?
644デフォルトの名無しさん:2005/04/16(土) 16:24:49
>>
プライマリプレーンと、それにアタッチされたn個のバックバッファのつながりの事
645デフォルトの名無しさん:2005/04/16(土) 16:25:09
アンカー忘れた_| ̄|○i|i

>>641
646638:2005/04/16(土) 17:56:48
>>639
ありがとうございました!
参考にさせていただきます。
647デフォルトの名無しさん:2005/04/16(土) 19:40:27
>>643
今は完全にドライバ任せになったからな
648デフォルトの名無しさん:2005/04/17(日) 03:03:37
>>639
「.NET」と「VC++.NET」を混同してるお前の方が何でもありだよ。もう二度と来るんじゃないよ。
649デフォルトの名無しさん:2005/04/17(日) 06:04:46
Visual Studio .net 2003を使っているものです。
リソースにBitmapや、waveを追加しようとしてもリソースビューで
recorce*
となるだけでその下が出てきません。
これはどうしてでしょうか?
650デフォルトの名無しさん:2005/04/17(日) 06:48:34
ここはDXスレだ
651デフォルトの名無しさん:2005/04/17(日) 07:29:42
>>649
(;`Д´)・・・・・
652649:2005/04/17(日) 10:02:49
ああああ、す、すいませんでした。
653デフォルトの名無しさん:2005/04/17(日) 22:00:55
今日の情報処理試験のどれかに、Managed DirectXからの出題があったらしいぞ。
654デフォルトの名無しさん:2005/04/18(月) 03:14:34
ソフ開なんて毎回のようにゲ製作技術板から出題されてる。
655デフォルトの名無しさん:2005/04/18(月) 17:34:04
DirectSoundを使った、録音/再生について質問させて下さい。

最近のDVDレコーダに有る「追いかけ再生」の様な機能を作ろうとしています。
SDKのサンプルを見てLPDIRECTSOUNDCAPTUREBUFFERを使った録音処理は出来たのですが、
このバッファをそのまま使って、指定した時間分だけさかのぼって再生させる事は出来ないでしょうか?
ファイルから読み込んでの再生処理はサンプルを見て分かるのですが、
LPDIRECTSOUNDCAPTUREBUFFERからLPDIRECTSOUNDBUFFERへの変換方法が分かりません。
DXは8を使っています。
656デフォルトの名無しさん:2005/04/18(月) 19:15:01
>655
録音したデータを順次ファイルに書き込んでいく→
そのファイルを再生する
657デフォルトの名無しさん:2005/04/18(月) 21:17:44
DirectXの質問じゃなさそうですが・・・

ゲームとかの画像ファイルって大体纏められてますよね。
アレはどうやるんでしょうか?

というより、用語も何もワカランもので、ググるコツとか
書籍とか、URLなどを教え頂けると幸せです。
658デフォルトの名無しさん:2005/04/18(月) 21:39:49
全部のファイルを順番に繋ぐだけ
659デフォルトの名無しさん:2005/04/18(月) 22:47:47
画像の読み込みを自前で一度でも作れば理解できる
660デフォルトの名無しさん:2005/04/18(月) 23:58:03
>>657
画像 連結 ソフト
でググってみてはどうかなあ
661デフォルトの名無しさん:2005/04/19(火) 00:57:37
なるほど・・・繋ぐだけなのかぁ

zipとかにするもんだと思ってたけど・・・
662デフォルトの名無しさん:2005/04/19(火) 03:06:59
そりゃー、速度や圧縮性、暗号化、パッチ当てとか凝りだしたらきりがないけど
そんなにしてもしかたない

まぁきになるならzlibくらいは通しておけば?
663デフォルトの名無しさん:2005/04/19(火) 06:26:10
繋ぐ前の単体をzlibやLZSSで圧縮することはあるが、
結合データを圧縮するのはあまりない
あんな何百Mというデータを一変に圧縮してたらしゃれにならん
664デフォルトの名無しさん:2005/04/19(火) 09:35:37
>>656

ありがとう御座います。
型の変換にばかり気が行ってました。視点を変えて考えてみます。
665デフォルトの名無しさん:2005/04/19(火) 14:14:27
ゲーム製作技術の方に良いスレがないので、こっちに。
これからDirect3Dを学び始めて、半年をめどにフリーウェアゲームを作り始めたいのですが、
VC++とVC#+MDB、どちらでいくべきでしょうか。
また、OSは2000を捨ててXPにすべきですか?
666デフォルトの名無しさん:2005/04/19(火) 17:23:39
VC++じゃなきゃだめだ!て思えるようになるまでVC#で
XPじゃなきゃだめだ!と思えるようになるまで2000で
667デフォルトの名無しさん:2005/04/19(火) 17:30:59
>>665
マジレスするとVC++。OSはまだXPでも2000でもどっちでも良いと思う。

それは良いんだが、多分半年ではゲーム製作は無理だと思う。
作る対象が3Dならなお更。
もちろん何にも言語を習得してないって前提で。
665の文章を見る限りではCorC#を習得してるようには見えなかったので。
668デフォルトの名無しさん:2005/04/19(火) 17:34:07
>>667
最近のアップデートで2000のサポートが切れなかったっけ?
VC++.NETを使えるようなマシンスペックがあるなら、XPを軽量動作で使った方が後々良いと思う。
669デフォルトの名無しさん:2005/04/19(火) 17:43:22
>>668
ん?そうだったっけ?
最新ってVS.net2005?それとも2003?
今VS.net2003は今2000で使ってるけど普通に動くよ。
まぁ、さっきのは「XP使うに越した事は無いけど態々OS変えてまではどうかな?」って書いてみただけ。
670デフォルトの名無しさん:2005/04/19(火) 17:51:41
>>669
いや、DirectXのアップデート。
Feb2005からはXP以降の開発環境しかサポートされてないよ。
だから、継続してやるならともかく、これからやるならサポートされてるXPでやった方が良いでしょと思って。
671デフォルトの名無しさん:2005/04/19(火) 17:51:47
開発環境のサポートとランタイムの問題をはき違えている人間が出るのは、
MSの説明が悪いせいなのか?
672657:2005/04/19(火) 20:02:48
>>662
目的といえば、一つのファイルにして適度にわからない程度の暗号化でいいんですが
結合するのだと画像以外のファイルも扱う時にムリが出て来そうです。

zlibありがとうございます。
理解するのに時間がかかりそうですが・・・
673デフォルトの名無しさん:2005/04/19(火) 22:04:02
zlib、リンクするだけで実行ファイルのサイズが600KBくらい増えるんだが・・・

なんとかならんものだろうか。
674デフォルトの名無しさん:2005/04/19(火) 22:08:09
それ昔libpng使ったときに思ったなぁ
結局ddsにしたよ
675デフォルトの名無しさん:2005/04/19(火) 22:08:52
何か勘違いしてるっぽい。
画像として結合するんじゃなくてファイルとして結合する。
たいてい先頭にインデックスを置く。
要するに普通のアーカイブ。
676デフォルトの名無しさん:2005/04/19(火) 22:45:02
>>673
まじで?
ラッピングしてdllにした時は100k行かなかったんだが。
677デフォルトの名無しさん:2005/04/19(火) 22:45:30
ファイルの読み込みすら理解してない感じだな
copyコマンドでくっつけて元のファイルのサイズ分づつ読めばいい
あとはオンメモリで操作
678デフォルトの名無しさん:2005/04/19(火) 23:02:57
>>673
んなこたーないとおもうが
679665:2005/04/19(火) 23:05:51
MDBじゃなくてMDXでしたね・・・(恥)
>>666,>>667
お答え有り難うございます。
書きそびれましたが、言語経験が無いわけではなく、一応Javaをかじってはいます。
オブジェクト指向は全然活用してませんし、UMLとか読み書きできないですが。
まあ、まずはご指摘の通り、DirectX SDK(2004年以前)+VisualC++でやってみます。
680デフォルトの名無しさん:2005/04/20(水) 00:27:31
>>673
600Kじゃなくて600Mの間違いじゃないのか?
681デフォルトの名無しさん:2005/04/20(水) 01:52:21
600k位キニスルナ
682デフォルトの名無しさん:2005/04/20(水) 20:27:24
パソコンゲーなら600kbくらい増えても気にもとめんけれどなぁ。
683657:2005/04/20(水) 20:50:13
>>675
画像 連結 ソフト
でググったら画像を結合するソフトが当たったもんでそういうもんなんだと思ってしまった。
それなら最初にzipとかにするもんだって思ってた方が近いですね。

>>677
仰る通り理解してないっぽです。
なるほど・・・D3DXCreateTextureFromFileInMemoryとか使うんですね。
684デフォルトの名無しさん:2005/04/20(水) 20:59:13
>>683
面倒だったら、zip展開ルーチンを自アプリに組み込めば?
ファイル作るの楽だし。
最低限の暗号化はしておかないと展開も楽になってしまうけどw

>>675
zipってインデックスだっけ?
私の知る限りlzhもtarもインデックスは持たないのだけれど。
685デフォルトの名無しさん:2005/04/20(水) 21:09:09
そのへん面倒見てくれるライブラリどっかで公開されてそうだけどなぁ
686675:2005/04/20(水) 22:44:13
>>684
zipが何してるかは知らないが、ゲームに使うならその方が楽。
(下手するとGB単位になるアーカイブをいちいちスキャンしてられないし)
少なくとも俺はそうしてる、という意味で書いた。
別にインデックスファイルを持つ方法もある。
687デフォルトの名無しさん:2005/04/21(木) 02:02:02

zip って暗号化は出来ますが、ファイルの内容を見ても
そのファイルがzipファイルであること自体分からなくすることは出来ますか?

もし出来るのであれば、ゲームのデータ用にzlibを使おうと思っているのですが・・・
688デフォルトの名無しさん:2005/04/21(木) 03:32:48
zipとzlibにどういう関係があるんだ?
689デフォルトの名無しさん:2005/04/21(木) 03:38:57
zlib は Zip や gzip に使われている圧縮アルゴリズムをライブラリ化したものです。
作者は Zip や gzip 同様 Jean-loup Gailly と Mark Adler です。
ライセンスは BSD 類似です(詳しくは zlib 配布に含まれる zlib.h のコメントをご覧ください)。

zlib の圧縮アルゴリズムは PKZIP 2.x の deflate アルゴリズムで,
もともとは奥村晴彦と吉崎栄泰が LHA のために開発したものをハッシュで高速化したものです。
その後,LHA もハッシュを使うようになりましたので,
LHA と gzip/zlib/Zip の実質的な相違はなくなりました。
690デフォルトの名無しさん:2005/04/21(木) 03:59:22
688が言いたいのは、zlibを使ったからといって扱うのが
zipファイルである必要は無いってことジャマイカ?

zlibはzipファイルを読み書きするコードも含まれてはいるが、
zipファイルを読み書きするためのライブラリでは無くて、
むしろzipファイルの読み書きはオマケ。
691デフォルトの名無しさん:2005/04/21(木) 05:33:52
>>689
ちょっとDirectXの話題とはそれてしまいますが、zipもgzも基本的には同じってこと?
692デフォルトの名無しさん:2005/04/21(木) 11:10:52
zipもgzもlzhも圧縮アルゴリズムは同じってこと。
ファイル構造は全然違う。
693デフォルトの名無しさん:2005/04/21(木) 13:21:00
gzip は後段シャノンファノって聞いた覚えがあるけど。
他はハフマン。
lha って今はトライとか使ってないの?
694デフォルトの名無しさん:2005/04/21(木) 13:45:10
まぁ、
圧縮:データの冗長性を減らしてサイズ削減
アーカイブ:複数ファイルを一つにまとめて取り扱うことができる
は区別しようね、ということで
.tar.gzの例を見ればわかりやすいか?
695デフォルトの名無しさん:2005/04/21(木) 14:46:19
>奥村晴彦と吉崎栄泰が LHA
前者はLarc、後者はLHarc。LHarcはその後LHを経由してLHAと言う名前になった。
#老婆心ながら念の為。
696デフォルトの名無しさん:2005/04/21(木) 16:00:11
吉崎栄泰は今いずこへ?
697デフォルトの名無しさん:2005/04/21(木) 16:21:39
本業は医師ではなかったか?
698デフォルトの名無しさん:2005/04/21(木) 16:22:48
lh8を開発したいのだが、どうしたらいい。なんと許可を得る方法はないものかねぇ。
699デフォルトの名無しさん:2005/04/21(木) 16:36:44
解凍という言葉を定着させた張本人は本業は医師ですね。
勝手にやっちゃっていいと思いますが、コモンアーカイバープロジェクトで聞いた方がいいかも。
ttp://www.madobe.net/archiver/index.html
700デフォルトの名無しさん:2005/04/21(木) 17:18:36
展開という言葉だってほぼ同時期に勝手に割り当てられた言葉であって
それほど正当性があるとは思えない
701デフォルトの名無しさん:2005/04/21(木) 17:30:26
ゲーム中で、3Dモデルのコンパス(方位磁石)を表示したく思っています

コンパスは、ワールド座標の任意の位置(床の上など)に置かれます
この時、コンパス自体の大きさを、一定にするにはどうすれば良いのでしょうか

コンパス描画時のみ、Viewの距離を固定すれば
楽勝かなと思っていたのですが、位置との兼ね合いが難しくて・・・・
702デフォルトの名無しさん:2005/04/21(木) 17:38:36
DirectInputでキーを押した瞬間を検出することはできますか?
Win32APIのGetAsyncKeyStateの最下位ビットのような機能を探しています
GetDeviceStateでGetAsyncKeyStateと同様にできないかと思って試したのですがダメでした
703デフォルトの名無しさん:2005/04/21(木) 17:40:10
>>701
別のテクスチャにレンダリングした後に合成
704デフォルトの名無しさん:2005/04/21(木) 18:52:14
>>702
バッファ入力すればいい
705デフォルトの名無しさん:2005/04/21(木) 19:58:41
本当に初心者みたいなことをきいてすみません。
directinputでジョイスティックを使えるようにしたいのですが、
色々なホームページを参考にしたのですが、未だに初期化できなくて
困っています。参考にさせてもらったページは
ttp://www.geocities.jp/toru_website/index.html
なのですが、directx9sdkを入れているためか、うまくサンプルを
ビルドすらできません・・・・。どなたかわかりやすく教えてくれませんか?
お願いします
706デフォルトの名無しさん:2005/04/21(木) 20:03:02
>>705
エラーとか症状とか書かないとわからんだろ
ソース丸投げするならゲ製作技術板でな
707デフォルトの名無しさん:2005/04/21(木) 20:07:46
>>706
ゲ製にこれ以上ゴミを持ち込まないでください。
708デフォルトの名無しさん:2005/04/21(木) 20:10:22
9の参考書を一個買えば解決するっしょ
やっぱ一冊はもっとけ
709デフォルトの名無しさん:2005/04/21(木) 20:12:25
>>701
やり方忘れたけど射影変換いじれば出来た希ガス
710デフォルトの名無しさん:2005/04/21(木) 20:19:26
DirectInputの初期化なんてSDKのサンプル見ればいいだけじゃないの?
711デフォルトの名無しさん:2005/04/21(木) 20:29:23
DirectInputの初期化はコールバックを使うので
初心者にはワケワカランかもしれん。
が、MSDNのヘルプに書いてあるとおりにコーディングすれば
動くので、ガンバレ。
DirectInputを使わない、という方法もあるよ。そっちのがいいんじゃね?
712デフォルトの名無しさん:2005/04/21(木) 20:37:35
ところがjoyGetPosやJOYINFOでググってもほとんどヒットしないんだよな
713701:2005/04/21(木) 20:51:29
>>703
>>709
レスありがとうございます

結構他も数が多いので、その都度プリレンダーっぽい感じだと一気に遅くなってしまって・・・
難しそうですが、なんとか射影変換の方で頑張ってみます
714デフォルトの名無しさん:2005/04/21(木) 21:07:10
>>713
ごめん射影変換じゃなかったも
詳しい人にまかせる↓
715デフォルトの名無しさん:2005/04/21(木) 22:34:07
難しいことはGDNJで聞けよ
716デフォルトの名無しさん:2005/04/21(木) 22:40:22
>>707
ゲ製作に板違いなし!
なんでも引き受ける懐の広さが魅力だと聞いたが
717デフォルトの名無しさん:2005/04/21(木) 23:13:07
彼女へのINSERT権限がありませんと怒られました
どうすればいいですか?
718デフォルトの名無しさん:2005/04/21(木) 23:36:59
>>701
コンパスを描画するときだけ、カメラを変更すればいいんじゃないか?
要は常に画面の一定の場所に配置したいってことだろ?
719デフォルトの名無しさん:2005/04/21(木) 23:46:38
>>717
頑張って取得してください
720デフォルトの名無しさん:2005/04/21(木) 23:48:19
一定の場所じゃなくて任意の位置じゃない?
721デフォルトの名無しさん:2005/04/21(木) 23:58:46
コンパスに騙されて問題を読み違えてるヤツがいる悪寒
722デフォルトの名無しさん:2005/04/22(金) 00:04:03
コンパスはコンパスで 3D なのかな?
723デフォルトの名無しさん:2005/04/22(金) 00:12:41
みなさんありがとうございます。
上の、zlibのzip機能はオマケ、みたいな情報はどこで仕入れればよいのでしょうか。
てっきりzipを出力するためだけのライブラリと思っていたのですが・・・
またzlibは暗号化はできますか?
724デフォルトの名無しさん:2005/04/22(金) 01:43:15
>>717板違い

彼女にINSERT権限がありません
http://pc8.2ch.net/test/read.cgi/db/1057289721/
725デフォルトの名無しさん:2005/04/22(金) 05:03:12
>>723
ttp://www.zlib.net/zlib_faq.html#faq11
ttp://www.zlib.net/zlib_faq.html#faq37

独自フォーマットの圧縮ファイルなら展開できるソフトなんて世の中に
出回ってないから、暗号化なんてしなくていいよ。
まぁ、それなりに人気のあるゲームだと、独自フォーマットでも解析
されてしまったりするが。

っていうか、いい加減にスレ違いだ。
726デフォルトの名無しさん:2005/04/22(金) 14:39:14
どうでもいいけど>>690から水曜夜はジャマイカ戦的なにおいがする
スレ汚しスマソ
727701:2005/04/22(金) 17:17:55
>>714 >>718 >>720-722
皆さんレスありがとでやんす

そうなんです、任意の位置への表示方法で困っています
コンパスと言う誤解を招きやすい表現でしたが、実際はパズルゲームのパネルです

コンパスはコンパスで3Dです

View位置を固定すれば、向きと大きさは大丈夫なので、
あとは位置だけなのですが・・・・簡単そうなだけに、もどかしいです
728デフォルトの名無しさん:2005/04/23(土) 00:22:02
知らんけど、カメラからの距離を大きさにかければいいんじゃないの?
729デフォルトの名無しさん:2005/04/23(土) 00:46:18
>>727
viewportで描画場所を変えればうまくいかないかな?
730デフォルトの名無しさん:2005/04/24(日) 00:10:13
>>728-729
お付き合い感謝っす、早速やってみました

ビデオカードによるのかもしれませんが、Viewportでは負の値が
入れられない(右下にしかずらせない)みたいです、惜しいだけにすごく残念です

手探りで728さんの方法を試し中です
数学出来る人は一発で拡大率分かるんだろうなぁ・・・・
731デフォルトの名無しさん:2005/04/24(日) 01:24:51
ウィンドウモードで作成中なんだけど
SetWindowPosをしても、すぐ引き戻されてしまう・・・
(元の位置に戻り、結果としてちらつく)

PreTranslateMessageでメッセージを除いても何も着ていないんだが
なんか掟でもあるん?
732デフォルトの名無しさん:2005/04/24(日) 08:04:25

ヤバイ超ヤバイ。不動産のチラシマジヤバイ。
まず。築五分。これだけでもやばいのに
築五分なんてもんじゃない。
駅から五年。
何処の駅からだよ。
とにかく不動産はチラシだす前に推敲したほうがいいとおもいます
733731:2005/04/24(日) 13:10:25
ごめん、自分で他の場所で移動させてた・・・自爆
なかったことに
734デフォルトの名無しさん:2005/04/25(月) 07:37:55
コールバックを使わずにDirectInputでジョイスティックを使う方法ありますか?
735デフォルトの名無しさん:2005/04/25(月) 08:21:38
あります
736デフォルトの名無しさん:2005/04/25(月) 22:55:55
>>734
あるでげす
737デフォルトの名無しさん:2005/04/25(月) 23:37:27
>>735-736
詳しく!
738デフォルトの名無しさん:2005/04/26(火) 09:05:11
ゲーム作ったことのある方が多そうなのでこちらのスレで聞きたいのですが、
下のような処理だとメインウィンドウや子ウィンドウをドラグしたりすると
ゲームの処理が止まってしまうのですが、
止まらないようにすることはできるでしょうか?
リアルタイムに進行するゲーム内で使うウィンドウなどは、
自前で実装するしかないでしょうか?
APIというか、Windowsのウィンドウは使えないでしょうか?

while (!s_end){
if (PeekMessage(&msg, NULL, 0, 0, PM_REMOVE)){//ウィンドウのメッセージが来た時の処理
TranslateMessage(&msg);
DispatchMessage(&msg);
}else{
gameloop(hWnd);//ゲームのメインループ
Sleep(1);
}
739デフォルトの名無しさん:2005/04/26(火) 09:09:37
スレッドを使えばいいだけの話。
これ以上の問答は無用。
740デフォルトの名無しさん:2005/04/26(火) 09:14:35
問答をするかどうかあなたが決めることじゃないと思うのですが、
スレッドは一つの方法として検討します。ありがとうございます。
でも少し難しそうなんで、他の方法というのはないものでしょうか?
741デフォルトの名無しさん:2005/04/26(火) 09:32:27
>>740
あると思うが、スレッド使うより複雑になると思われ。
742デフォルトの名無しさん:2005/04/26(火) 09:37:25
スレッドを使うよりも簡単な方法はない。終了。
743デフォルトの名無しさん:2005/04/26(火) 09:44:53
>>742
あなたが知らないってだけで、あるかもしれないじゃないですか。
勝手に断言して終了しないで下さいよ大先生。
744デフォルトの名無しさん:2005/04/26(火) 09:54:10
守れないルールじゃないだろ

プログラム・ソフトの使い方は PC 初心者板やソフトウェア板へ。
ウイルス、ハッキング・クラッキングを求めるような発言は禁止です。
Javascript は Web 制作板、CGI は Web プログラミング板へ。
業界談義、愚痴はプログラマ板へどうぞ。
ゲーム関係の話題はゲーム製作板へどうぞ。
ネタ、板とは関係の無い話題はご遠慮ください。
745デフォルトの名無しさん:2005/04/26(火) 10:17:25
融通利かせましょうよ大先生。
746デフォルトの名無しさん:2005/04/26(火) 10:31:41
せっかく教えてもらった答えにやりもしないうちから難しいだの難癖をつけ、
スレ違いだから話を終わらせるべきなのに、融通がどうのと勝手な我が儘を通そうとする。
無能で頭が悪い上に自分勝手。もはやどうしようもない。
747デフォルトの名無しさん:2005/04/26(火) 10:38:45
>>746
つうかトラブルの元は君だと思うんだが。
748デフォルトの名無しさん:2005/04/26(火) 11:01:45
>>446
一つのやり方として検討するって言ってんじゃん。難しそうっていうのが難癖かよ。
具体的な根拠もなく投げやりに断定されたって誰も納得できないっての。
他のやり方が存在して、参考になる他の中身のある納得できる意見が聞けて、
そっちの方が実現できそうで、実際に実現できれば学習コストを削れる。
何の具体性も伺えない決め付けを鵜呑みにしてほいほい進む方がバカ。
749デフォルトの名無しさん:2005/04/26(火) 11:02:38
>>746だ。間違えた。
750デフォルトの名無しさん:2005/04/26(火) 11:06:21
スレ違いの質問に対して、折角常套手段が提示されていて、それ以上何かを求める方が馬鹿。
つーか、下らん議論を展開している段階で漏れも含めてスレ違い。

以下、DirectXに関する質問(と回答)をどうぞ。
751デフォルトの名無しさん:2005/04/26(火) 11:09:35
これだからwin厨は駄目なんだよ。
氏ね。
752デフォルトの名無しさん:2005/04/26(火) 11:12:13
スレ違いなんて承知の上で断って聞いてんだろうが。
くだらねぇ事いってんじゃねーよ。余裕ってもんがねぇのかよ。
だったら最初から一切答えるなよ。一切答えないで誘導すれば筋が通ってるよ。
それに知らねぇから聞いてんのに根拠もなく常套手段とか決め付けられて納得できるかよバカ。
753デフォルトの名無しさん:2005/04/26(火) 11:47:55
> スレ違いなんて承知の上で断って聞いてんだろうが。
凄まじい厨房っぷりなわけだが。
754デフォルトの名無しさん:2005/04/26(火) 12:32:39
>>738
>ゲームの処理が止まってしまうのですが
止まりません
わざわざコンパイルまでして確認してやったんだから感謝しろよ

-解決-
755デフォルトの名無しさん:2005/04/26(火) 13:30:25
>>738
シングルスレッドで処理するなら、WM_TIMERの処理から
gameloop(hWnd)を呼ぶといいよ。
756デフォルトの名無しさん:2005/04/26(火) 15:16:45
まぁ、大した精度がいらないならそれでもいいけど。
757デフォルトの名無しさん:2005/04/26(火) 15:16:48
アイタタタタ、酷い質問者が沸いたもんだね。>>746に同上するよw
758デフォルトの名無しさん:2005/04/26(火) 15:21:14
>>754
せっかく作っていただいたのであれば見せてくれませんか。
ウチではウィンドウをドラグすると止まってしまうのですが。

>>755
それは簡単でいいかもしれないですね。ありがとうございます。試してみようと思います。
759デフォルトの名無しさん:2005/04/26(火) 18:17:27
ただループ回してると60fps超えそうなときは何で調整したらfps安定するの?
760デフォルトの名無しさん:2005/04/26(火) 18:52:58
ウエイト
761デフォルトの名無しさん:2005/04/26(火) 19:03:30
カウンタ
762デフォルトの名無しさん:2005/04/26(火) 20:55:03
>>758
おまえが見せるのが筋だろ
763デフォルトの名無しさん:2005/04/27(水) 03:13:09
見せてるじゃん。
764デフォルトの名無しさん:2005/04/27(水) 03:55:49
>>763
嘘つくな
765759:2005/04/27(水) 04:09:35
(変なときに質問しちゃったなぁ・・・・)
ウェイトってsleep()?
寝過ぎて60ぴったりにならなさそうな・・・・
カウンタは
if(last - timegettime() > 1000/60) Frame();
これも精度悪そうな気がしますが・・
766デフォルトの名無しさん:2005/04/27(水) 05:20:03
sleep(1)しつつハードウェアタイマーでタイミング計ったら?
767デフォルトの名無しさん:2005/04/27(水) 06:14:21
累積誤差が溜まったときに解消してやればOK
17 16 16でウェイトとる方法もあるけどね
そもそも60ぴったりにすることにあまり意味はない
768デフォルトの名無しさん:2005/04/27(水) 08:04:14
>>765
Sleepは指定した時間寝る関数で、その時間が経っても起きることは
保証されてないからねぇ。

そもそも、ぴったり60にしても画面のリフレッシュレートが60でないと
全く意味がないから、そのくらいは気にしなくていいよ。
リフレッシュレートが85Hzだと、実際に画面が更新されるのは最大で
11msも遅れるわけだ。1msや2msなんて気にしてもしょうがない。

細かいことを言うと、メッセージループの中にSleepを入れる場合は
代わりにMsgWaitForMultipleObjectsを使った方が行儀がいい。
WM_DDE_INITIATEでググってみると分かるけど、メッセージに即座に
反応しないと、他のアプリケーションの動作が遅くなることがある。
まぁ、ゲームのfps調節のためのウェイト程度なら、あんまり
気にならないけど。
769デフォルトの名無しさん:2005/04/27(水) 08:19:32
フォントオブジェクトを使って画面に文字を描画すると、にじんでしまい、きれいに出ないのですが
くっきり出す何かよい方法はないでしょうか?
770デフォルトの名無しさん:2005/04/27(水) 08:21:18
描画するごとにsleep(1)を入れると必ず60fpsになるのは何故?
771デフォルトの名無しさん:2005/04/27(水) 09:10:45
そもそも何故Sleepが1固定なのか意味不明。状況に応じて休み時間は動的に変更すべき。
それから経過時間から必要回数を割り出せば、揺らぎがあっても大まかな調整は出来るし、
Windows上で揺らぎを防ぐのは不可能。

さらに意味不明なのは、
>ハードウェアタイマー
あのさ、APIによって取得する先は違っても、
すべてハードウエアから時間をとってるわけなんだけど、
ロジックで時間経過を割り出せる技術なんていつ開発されたの?
772デフォルトの名無しさん:2005/04/27(水) 09:15:06
ハードウェアタイマーとういのはぶっちゃげ内蔵時計のことね
そうじゃないタイマーっていうのは、画面のリフレッシュレートとかそれ以外の方法を使って割り出したおおよその時間経過のことよ
ok?
773デフォルトの名無しさん:2005/04/27(水) 09:16:54
描画するごとにsleep(2)を入れても必ず60fpsになるのは何故?
774デフォルトの名無しさん:2005/04/27(水) 09:19:26
フルスクリーンでやってないかい
775デフォルトの名無しさん:2005/04/27(水) 09:27:51
デバイスを作成する際に、ウエイトをとるように作っているからだろう。
ちなみにDirect3Dは垂直同期信号の検出ではなく、
フルスクリーン時でもAPI側のタイマーが使われるようになっている。
ヘルプでは言葉を濁してあるが、結局使われていない。
おかげでCPUをフルに使わなくても済んでいるが、自分でやっても結局同じ落ち。
776デフォルトの名無しさん:2005/04/27(水) 09:31:35
>>733
Sleepなんて入れなくてもいっしょ
777デフォルトの名無しさん:2005/04/27(水) 09:32:18
778デフォルトの名無しさん:2005/04/27(水) 10:03:44
>>777
とりあえず何かしゃべれ
「・・・」と「?」を多用する奴はそれで何か通じると思ってるのか?
779デフォルトの名無しさん:2005/04/27(水) 13:42:00
>>778
多分、判る人に判ればいいと思っているのではないかと。
つまり、判らんあんたが気にする必要はないと。
780デフォルトの名無しさん:2005/04/27(水) 13:49:43
Sleep(0); でいいんじゃないの?
何で Sleep(1); にするの?
781デフォルトの名無しさん:2005/04/27(水) 14:06:48
>>780
0だと自分より低いプライオリティのスレッドに実行機会が与えられない。
782デフォルトの名無しさん:2005/04/27(水) 14:12:20
>>781が知ったかして大嘘をぶっこいています。
783デフォルトの名無しさん:2005/04/27(水) 14:39:18
待機イベントやSleepでてきとーにウトウトしつつ
時間が近くなったらGetRasterStateで
ポーリングってのはダメなん?
784デフォルトの名無しさん:2005/04/27(水) 15:25:21
785デフォルトの名無しさん:2005/04/27(水) 15:45:34
>>784
>782が英語で勉強できるとはとても
786デフォルトの名無しさん:2005/04/27(水) 15:54:20
プライオリティの指定は、基本的に他のスレッドへのスイッチされるまでの時間の幅の指定です。
CRITICALのような指定をしていなければ、利用可能な時間を使い切った時点で、下の順位のスレッドにも処理が回ります。
優先順位の高いスレッドが走っていても、それより下のスレッドに処理が全く回らないような間抜けな設計にはなっていません。

Sleep(0)の場合、利用可能な時間を使い切る前に処理を戻すことになるので、
優先順位が低いスレッドがCPUを必要としていれば、そちらに処理が回ります。
そしてSleep(0)は処理が終わったらすぐ返ってきますが、
Sleep(1)以上ならその時間は他のスレッドが処理していなければアイドル時間としてカウントされます。
787デフォルトの名無しさん:2005/04/27(水) 16:00:22
>>781が大嘘なのを確認する簡単なテスト方法は、スレッドをREALTIME_PRIORITY_CLASSにしても、
無限ループでSleep(0)を呼び続ければ、他のスレッドはきちんと動作します。
788デフォルトの名無しさん:2005/04/27(水) 16:26:13
>>787
試しにやってみたけど、Sleep(0)呼んでもそれよりも低いスレッドが動作しないぞ。
Pen4HTとかマルチプロセッサとかじゃないの?
789デフォルトの名無しさん:2005/04/27(水) 16:30:03
>>788
正解
790デフォルトの名無しさん:2005/04/27(水) 16:31:32
なるほど。そういう違いがあったのか。
791デフォルトの名無しさん:2005/04/28(木) 02:46:48
>>734の質問頼む
>>735-736がせっかくあるって教えてくれたけど
MSDNとかヘルプをみた限りじゃ頭の悪い俺には方法がみつからなかった
もうちょいヒントください
792デフォルトの名無しさん:2005/04/28(木) 03:29:40
つーか、コールバック使わないって事はデバイス列挙しないって事だよな?
んなこと言ったらGUID直指定で作成する意外なくね?
793デフォルトの名無しさん
>>791
そもそもコールバックを使いたくない理由ってあるの?