トップページ⇒tech
1001コメント306KB

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

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2005/05/08(日) 01:53:41
※回答する人も、質問する人も必ず読んでください

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

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

【 質問する香具師 】
・ どんな事で躓いているのか明確にしよう。
・ 長くならないなら躓いている部分のコードを晒してみれ。
・ 解決した場合、お礼を言うのは当然だが、何をどうしたら解決したかを明確に書こう。
・ 回答して貰ったら、出来るだけお礼もしよう。

前スレ
【C++】 DirectX初心者質問スレ Part3【C++】
http://pc8.2ch.net/test/read.cgi/tech/1108987183/
0367左利き2005/06/04(土) 00:09:28
すいません、
DirectXとの質問とは違いますが、

VideoCaptureの列挙子が記述されている
レジストリのある場所を知っている人はいませんか?

DirectXを使ったライブラリを使っているのですが、
そのライブラリは
VideoCaptureが2つあってもデフォルトのほうしか使えないので、
レジストリでデフォルトの設定を変えたいのです。

お願いしますm(_ _)m
0368デフォルトの名無しさん2005/06/04(土) 00:14:16
一つの軸による回転のみの行列から角度を得ることは
容易に出来そうですが、
任意軸による回転行列から角度を得ることは可能でしょうか?
0369デフォルトの名無しさん2005/06/04(土) 00:19:30
角度を得るのは簡単だが、答えが複数あるというだけの話。
0370デフォルトの名無しさん2005/06/04(土) 01:28:59
>>369
thanks
0371デフォルトの名無しさん2005/06/04(土) 01:48:42
>おれなんか未だに固定少数でニュートン法で平方根求めてます。

_mm_sqrt_ps使うか、_mm_rsqrt_psで逆数求めて_mm_rcp_psで逆数にすると
平方根が4ついっぺんに求められる。精度低い代わりに速い。
0372デフォルトの名無しさん2005/06/04(土) 07:58:31
質問のフリ荒らし:書くことはないがスレの流れが気になって仕方なく
          とりあえずスレ違いにはならないとおもわれる範囲で
          質問・同意を得る形式でレスをすること。
          答えがどうあろうとレス稼ぎが問題なので単発で終わることが多い。
0373デフォルトの名無しさん2005/06/04(土) 11:19:30
DirectShowを使って、複数の静止画からaviファイルを作成するにはどうしたらよいのでしょうか?
0374デフォルトの名無しさん2005/06/04(土) 12:08:16
まずプログラムを書く。
0375デフォルトの名無しさん2005/06/04(土) 12:15:15
DirectPlayが廃止されるそうですが次はIndigoですか?
それとも別のなにか?
0376デフォルトの名無しさん2005/06/04(土) 12:35:55
WinSock
0377デフォルトの名無しさん2005/06/04(土) 13:01:27
>>374
そんな意地悪言わずに教えてくだすれ
0378デフォルトの名無しさん2005/06/04(土) 13:30:43
キーボードを叩く。
0379デフォルトの名無しさん2005/06/04(土) 13:38:34
>>377
多分>>374は解からないから誤魔化すようなレスしてるだけ
0380デフォルトの名無しさん2005/06/04(土) 13:41:58
指の筋肉を動かす。
0381デフォルトの名無しさん2005/06/04(土) 14:08:13
マジレスすると、まず検索サイトで調べる。
0382デフォルトの名無しさん2005/06/04(土) 14:20:40
>>373
マルチいくない。
DirectShowスレで回答もらってんだから、こっちはもう終わり。
0383デフォルトの名無しさん2005/06/04(土) 17:01:28
マルチ投稿見つけたら回答しないようにしましょう。
場合によっては少し叩いてやりましょう。
0384デフォルトの名無しさん2005/06/05(日) 14:58:21
Direct3D9: (ERROR) :Memory still allocated! Alloc count = 98
系のエラーってどうやって解決するんですか?

ttp://64.233.187.104/search?q=cache:31PVzUOwFSYJ:fkaine.hp.infoseek.co.jp/cgi-bin/webnews.cgi/yaneSDK%3Fmode%3Dthview%26thtop%3D1648+Memory+still+allocated!++Alloc+count&hl=ja&lr=lang_ja

を読んでみましたが解決策が解らないので質問させていただきました
0385デフォルトの名無しさん2005/06/05(日) 15:28:04
メモリリークしてるから
Release() し忘れてるところを探すといいよ。

あと、Alloc ID ってのが出てるはずだから、
Dxコンパネで Break On AllocID にその値を指定すると
幸せになれるかもしれない。
0386デフォルトの名無しさん2005/06/05(日) 16:36:13
vector a(1,0,0) と vector b(0,0,1)で
外積を求めたら(0,-1,0)になりますが、
外積は右ねじっていいますが、違うんじゃ
0387デフォルトの名無しさん2005/06/05(日) 16:52:12
左手座標系なら左手の法則だよ
0388デフォルトの名無しさん2005/06/05(日) 16:52:49
>>385 �dクス いけました
Break On AllocIDに値を入れてブレークしてくれたけど アセンブラわがんねorz
0389デフォルトの名無しさん2005/06/05(日) 16:54:14
ずっと騙されてた。何故、今まで上手くいってたのだろう。
0390デフォルトの名無しさん2005/06/05(日) 16:59:25
>>388
ステップアウトするんだ。
0391402005/06/05(日) 17:09:48
なにげにおいらも幸せになれたわー
0392デフォルトの名無しさん2005/06/05(日) 22:46:12
質問です。

簡単なゲームを作ってみようと思い、DirectXを始めてみました。
とりあえずwebにあったものを組み合わせてビルドしてみたのですが、
リンクするときに、
「dinput8.lib(dilib2.obj) : fatal error LNK1103: デバッグ情報が壊れています; モジュールを再コンパイルしてください
link.exe の実行エラー」
と出てしまって、ビルドが完了できません。

dinput8.libを作り直せば良いのかと思ったんですが、ソースが見当たりません。
どうすればいいのでしょうか?
また、同じような状況になった方はいらっしゃいませんか?

よろしくお願いします。
03933922005/06/05(日) 22:50:33
書き忘れましたが、SDKは9.0c(2005April)、開発環境はVisual C++ 6.0です。
0394デフォルトの名無しさん2005/06/05(日) 22:58:03
まずはリリースノートを読みましょう。
そこに全て書かれています。
0395デフォルトの名無しさん2005/06/05(日) 23:26:27
DirectX以前の問題なのにね
03963922005/06/06(月) 01:06:10
>>394
>>395

お返事ありがとうございます。
解決しました。
デバッグ情報作れないんだったら、作んなきゃいい話なんすね。
DirectXの問題どころか、IDEの扱いかたっつーか日本語が読めていませんでした....orz

で、ちょっと気になったんですが、これってリリースノートに書いてあるんですか?
自分が見た限りでは見つけられなかったんですが....
0397デフォルトの名無しさん2005/06/06(月) 01:20:55
リリースノートを見ろ。
話はそれからだ。
0398デフォルトの名無しさん2005/06/06(月) 01:29:52
ここは日本語が通じないインターネットですね
0399デフォルトの名無しさん2005/06/06(月) 01:50:19
>>398
あんまりくだらない質問ばかりする初心者&人を見下す態度を取る返答者の争いが
絶えないのでとうとうスクリプトになってしまいました。
ちょっと使い難いかもしれませんが我慢してください。
0400デフォルトの名無しさん2005/06/06(月) 03:44:14
>>399
初心者スレで初心者なりの質問がきて、「くだらない質問」などと言ってんじゃない。

>人を見下す態度を取る返答者

まさしくおまえのことだ。
0401デフォルトの名無しさん2005/06/06(月) 05:24:23
>>400
ここは日本語が通じないインターネットですね
0402デフォルトの名無しさん2005/06/06(月) 05:41:05
最近は質問する側の態度もでかいのが気に入らないな。
ホントにこんな質問してる奴が俺等に還元するようになるのかねぇ?
とか本気で思う。
ま、絶対、ならねぇだろうな。
0403デフォルトの名無しさん2005/06/06(月) 06:51:49
嫌なら回答しなきゃいいだけ。君が答えなくてもべつの答えたい人が答えてくれる。
初心者相手に見返り期待してないでどうぞ上級者のあなたにお似合いなレベルの高いところへお行きください。
さいなら。
0404デフォルトの名無しさん2005/06/06(月) 07:50:37
>>403
俺のレスが気に入らないならスルーすればいいだけ。
嫌なら相手にしなくて結構。
懐古ってわけじゃないけど、昔は質問への回答なんてそこまで重要なことではなく
むしろ勉強するにあたっての姿勢を大事にする傾向があった。
どのぐらい頑張れば自分のめざすことができるようになるんだろうとか
そういうのが回答からわかった。
ゲームPGの技術力の高さは掲示板でそういうところまで
面倒を見てくれるところで支えていたと思うんだけどね。

ところがこの質問スレはそういうのがないから、最近の初心者は損をしてると思うんだよね。
俺が先人(主にPS世代の人かな)から受け継いだものなんて、そんなものだけど
お前等がいらないっちゅーなら、それもアリだな。と思う。
初めて何ヶ月目か知らんけど、カワイそうだけどこんなペースじゃ一生かかっても俺にはおいつけないだろうな。
俺等の頃にあって、今無いものの差はかなりでかいぞ。
0405デフォルトの名無しさん2005/06/06(月) 08:19:18
全角英数字使う自称プログラマは、高確率でワナビーの法則

説教好きが2ch全体に増えている
これはこのスレに限った事じゃない
0406デフォルトの名無しさん2005/06/06(月) 08:26:59
純粋にQ&Aだけをしたい人はこちらへどうぞ

2D!!のDirectXをやってみるかもな
http://pc8.2ch.net/test/read.cgi/gamedev/1005133911/
0407デフォルトの名無しさん2005/06/06(月) 08:52:38
お偉い先人から何かを受け継ぐと404みたいにキチガイになってしまうのですね。
受け継がなくて良かったです。というか何を受け継いだのでしょうか。
404の書き込みから何が伝わってくるのでしょうか。
伝わってくるのは間違いなく404はキチガイであるということだけです。
ここは404なんぞいなくても今まで通り粛々と進んでゆきます。
さようなら404。
0408デフォルトの名無しさん2005/06/06(月) 09:54:55
>>404
ここは質問スレだ。質問と回答以外必要ねーんだよ。
なにが「スルーすればいいだけ」だよ。
テメェがスレ違いなどうでもいい昔話をご高説なさってるから邪魔だって言ってんだよアホ。
背中に「↑バカ」って張り紙されてるタイプだよお前w
0409デフォルトの名無しさん2005/06/06(月) 11:00:44
ここは聞く奴も馬鹿なら
答える奴も馬鹿で結構バランスとれてるよ。
0410デフォルトの名無しさん2005/06/06(月) 11:22:29
雑談の時だけ加速するッ

ちょっと気になる流れだったから話戻していい?
Summer2004以降はVC6はサポート外になったけど、
ExtrasのVC6用D3DXファイルに差し替えればとりあえず動くよね。
今はVC6+Oct2004にしてるんだけど、なんか問題あるかしら?
海外サイト見ると一応イケるっぽいんだけど・・・
0411デフォルトの名無しさん2005/06/06(月) 12:14:55
サポート外の物にサポートを期待するな。
0412デフォルトの名無しさん2005/06/06(月) 12:44:07
期待はしてないよ。
ただ、わざわざVC6用のファイルを残しているから
完全に切り捨てたというより互換性を気にしなくなっただけなのかな、と思ってね。
回避できない致命的な問題がなけりゃそれでいいの。
0413デフォルトの名無しさん2005/06/06(月) 17:31:40
VC6を未だに使い続ける理由ってなんだ?
0414デフォルトの名無しさん2005/06/06(月) 18:04:49
>>413
.net無駄に重くね?
0415デフォルトの名無しさん2005/06/06(月) 19:02:06
vc6で何も困ってないんだけど。
逆に.netにしなきゃいけない理由って何。
0416デフォルトの名無しさん2005/06/06(月) 19:21:25
エディタの性能がいい
0417デフォルトの名無しさん2005/06/06(月) 19:41:57
>>415
インテルコンパイラ用の最適化機能と新規格の準拠度
0418デフォルトの名無しさん2005/06/06(月) 19:54:41
VC6 は new が NULL 返すのがなぁ...。
STL 等のライブラリは new が bad_alloc 投げることを前提にしてるから、
NULL チェックされとらんのよな。
bad_alloc を投げるようにハンドラ変えてやればいいんだけど。
あと、static const int メンバが直接初期化できないから
enum を使わないといけなかったり。
0419デフォルトの名無しさん2005/06/06(月) 20:11:45
SSE/SSE2対応。
0420デフォルトの名無しさん2005/06/06(月) 20:23:10
>>415
とりあえずboostでコンパイル通るコンポーネントが飛躍的に増えること。
これだけで導入の価値は充分にある。

あとVC6ではテンプレート周り、とくに特殊化/部分特殊化に関連するバグには
かなり悩まされてきたが、VC7.1ではほとんど修正されてる。
0421デフォルトの名無しさん2005/06/06(月) 20:27:15
まあ、今更.NETを買うよりは2005、もとい8.1を買う方が良いと思うよ
0422デフォルトの名無しさん2005/06/06(月) 20:31:14
今なら只だしな
0423デフォルトの名無しさん2005/06/06(月) 20:34:51
7.1よりさらに重い気が…
ベータ初期しか試してないが、多少は良くなったのかね
0424デフォルトの名無しさん2005/06/06(月) 20:35:56
β1に軽さを要求するってお前は本当にプログラマなのかと(ry
0425デフォルトの名無しさん2005/06/06(月) 21:25:22
alphaならともかくbetaなら仕上がっていて当然だと思うが
0426デフォルトの名無しさん2005/06/06(月) 21:28:26
beta ってのがどこまでできてるかってのは、
国や組織によっても認識が違ってたりするからなぁ。
0427デフォルトの名無しさん2005/06/06(月) 21:32:38
いや普通に評価版だろ
どこでも
0428デフォルトの名無しさん2005/06/06(月) 21:40:54
>>420
7.1でも部分特殊化はイマイチだ
8買っちゃうかも。
0429デフォルトの名無しさん2005/06/06(月) 23:27:39
8も只当然版は出るのかな〜
0430デフォルトの名無しさん2005/06/07(火) 00:59:52
VC++て2万円程度だろ。そのくらい出して当たり前では。。。
0431デフォルトの名無しさん2005/06/07(火) 01:14:22
買うなら VS だよなぁ。
0432デフォルトの名無しさん2005/06/07(火) 03:41:51
「βはリリース目前」が世界の常識。
0433デフォルトの名無しさん2005/06/07(火) 10:22:57
いまさらだが、VC6の全エディションからVS.NET Professional 2003に
3〜4万円くらいで乗り換えれたよ。VBやVJ等でも可。
もう1年前にキャンペーン終わってしまったが。
0434デフォルトの名無しさん2005/06/07(火) 11:45:36
最近ら抜き言葉をよく見るなぁ
0435デフォルトの名無しさん2005/06/07(火) 11:55:56
ら なんか(゚�听)イラネ
0436デフォルトの名無しさん2005/06/07(火) 13:08:04
「〜の方が」を「〜のが」とかいうバカのが気に入らない。
「ディテール」を「ディティール」とかいうバカも気に入らない。
0437そもそもカナで表記することが(ry2005/06/07(火) 14:16:50
>>436
「ディテイル」もしくは「ディーテイル」
0438デフォルトの名無しさん2005/06/07(火) 14:50:50
別に発音に正確にという意味じゃねーんだよバカ。
0439デフォルトの名無しさん2005/06/07(火) 15:48:26
あいぐまスカル
0440デフォルトの名無しさん2005/06/07(火) 16:26:16
そこらのゲイどもよりこのハードゲイ様のが素晴らしいんだぜオッケイ
ディティールが違うんだよディティールがフォー
0441デフォルトの名無しさん2005/06/07(火) 16:29:19
フゥ―――――(●∀●)―――――ウ!
0442デフォルトの名無しさん2005/06/07(火) 19:43:14
初心者に毛が生えた荒らしが、
自作自演で質問ゴッコするスレ
0443デフォルトの名無しさん2005/06/09(木) 22:30:56
age
0444デフォルトの名無しさん2005/06/10(金) 14:15:25
頂点配列をSTLのvectorでやる場合の問題とか気をつけることって何かありますか?
0445デフォルトの名無しさん2005/06/10(金) 17:16:58
特に思い浮かばないが。
0446デフォルトの名無しさん2005/06/11(土) 01:30:39
vectorの要素が変化するとメモリの再アロケートが起きるから
パフォーマンスは気にしたほうがいい。
0447デフォルトの名無しさん2005/06/11(土) 01:39:09
俺、vectorの再アロケートではまったことあるなぁ・・・
0448デフォルトの名無しさん2005/06/11(土) 01:43:53
reserve呼べば済むハナシ
0449デフォルトの名無しさん2005/06/11(土) 02:00:36
つか、とりあえずスレ違いじゃね?
0450デフォルトの名無しさん2005/06/11(土) 02:08:36
> vectorの要素が変化するとメモリの再アロケートが起きるから

「vectorの要素数が上限を超えると」だろ。
要素が変化するごとに再アロケートなんかおきてたらスパコンでも使えんわそんなもん。

0451デフォルトの名無しさん2005/06/11(土) 02:22:21
要素の追加、削除をするだけでもリロケート起きたような・・・
毎回起きるわけでもないみたいだけど。
0452デフォルトの名無しさん2005/06/11(土) 02:30:48
キャパが増えるとキャパを一定量増やして再アロケートするだけじゃないかな。
効率気にするなら reserve しときゃええ話やね。
0453デフォルトの名無しさん2005/06/11(土) 04:29:11
他のDirectXアプリのフルスクリーンの手前に
文字やグラフィックを表示することはできますか?
0454デフォルトの名無しさん2005/06/11(土) 07:19:04
できるよ。
0455デフォルトの名無しさん2005/06/11(土) 10:39:28
何気にJune2005からD3DXの単体配布OKになったんだね。
0456デフォルトの名無しさん2005/06/11(土) 12:55:38
処理速度調べようとこういうプログラム作ったのですが
http://gamdev.org/up/img/2757.zip

以下の内容を100万回施行
移動して、徐々に透明になる事を想定してのプログラムです。
1、テクスチャを描画、板ポリを生成、描画
2、板ポリ生成、描画
3、板ポリ描画
4、板ポリ描画(Lock版)

だいたい速度が同じなのですよね。
作り方がおかしいのでしょうか?
それとも、こんなもんなのだろうか・・・
Effective C++見るとみるからに変わってるんですがね
04574562005/06/11(土) 19:28:58
レスががが。
もしや、クラッシュさせてしまったのかっ!!
0458デフォルトの名無しさん2005/06/11(土) 20:03:11
>>456
VSync待ってたりして。
0459デフォルトの名無しさん2005/06/11(土) 21:14:47
>>456

最適化を有効にして実行してみた。
北森2.8 RADEON9600XT DirectX9 april

VC6
Time1 31074
Time2 30790
Time3 6088
Time4 6853

VC7.1
Time1 30740
Time2 30578
Time3 6297
Time4 6667
0460デフォルトの名無しさん2005/06/11(土) 21:30:30
正直このテストで何を知りたいのかわからない俺がいる
0461デフォルトの名無しさん2005/06/11(土) 22:01:06
Releaseで何も設定をいじらずに実行

AthlonXP2500+ Radeon9600np DirectX9 april

VC7.1
Time1 29627
Time2 30479
Time3 10981
Time4 10163
0462デフォルトの名無しさん2005/06/11(土) 23:18:24
同じくReleaseで何もいじらずに実行

Pen4 1.8GHz Radeon9600 SERIES

VC6
Time1 46553
Time2 46654
Time3 11250
Time4 11690
04634562005/06/12(日) 02:18:56
おお、実行どもです
結果が大きくちがいますね。なんでだろう。
Athlon1.8GHz Geforce256で 一律4000でした。
プログラムは問題なさそう。なのか?
1,2は
リスト構造の中に予めVertexBufferを入れるか
描画する時にだけVertexBufferを生成するかどうか
(クラスの設計をどうしようかと考えていたので)
3,4は
データを上書きするのと
Lockしてデータを書き換えるのとは
どっちがパフォーマンスがいいのか?というのが目的です。
メモリの問題はとりあえず後回しとして。

実行してくれた方々ありがと〜。
04644562005/06/12(日) 02:28:46
一律40000だた
0465デフォルトの名無しさん2005/06/12(日) 03:39:07
http://developer.nvidia.com/object/nvperfhud_home.html

NVPerfHUDでパフォーマンスを解析したほうがいい。
ビデオカードは買わないとダメだけど効果は大きい。
使い方のムービーあるから見てみるといい。
0466デフォルトの名無しさん2005/06/12(日) 12:13:10
Athlon2500+とFX5200 128Mで一律50000…
やっぱグラボって重要なんだね…
■ このスレッドは過去ログ倉庫に格納されています