トップページgamedev
1001コメント305KB

DirectX総合スレ (Part4)

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。2005/11/26(土) 01:58:58ID:RjcSZKi5
※「鬱だ氏のうスレ」と「DirectX総合スレ」は統合され、
 ゲーム製作技術スレに戻ってきました。

DirectXについて、にいさま達がマターリと
技術情報交換&雑談するためのスレッド。
初心者用相談室では扱わないような少し高度な話題も受け持つ。

ちなみに、言語はC++がメイン。
C# / VB.NET 使いは、専用スレの方が話がスムーズに進むと思われ。
0182名前は開発中のものです。2006/02/12(日) 15:09:11ID:Cvku5vIV
>>181
返答ありがとうございます。
お蔭様で解決できました。

ttp://www.geekpage.jp/programming/directshow/
↑参考にしたサイト
0183名前は開発中のものです。2006/02/12(日) 15:40:23ID:r+yyPOgg
>>182
まてまて、アレだけで分かったんなら
SDKのサンプル眺めてれば分かったんじゃ・・・


ってDirectShow関係のサンプルって相当前のヤツじゃないと入ってないんだっけ?
VMR9のサンプルのためだけに古いSDKをMS英語サイトから落とした気がする。
0184名前は開発中のものです。2006/02/12(日) 15:54:39ID:hiTzG5QY
あんな質問する奴が、ヘルプやサンプルを見てるわけ無いだろw
0185名前は開発中のものです。2006/02/12(日) 19:57:37ID:Cvku5vIV
>>183
>>184
え。。。
ありましたっけ?サンプル。
なんて名前のサンプルでしょう?
0186名前は開発中のものです。2006/02/12(日) 19:59:38ID:Cvku5vIV
恐らく入ってないと思われ。
0187名前は開発中のものです。2006/02/12(日) 20:00:04ID:Cs8Bjk2W
DirectX8のときってフルスクリーン時にムービーの再生って普通には出来なかった気がするけど
その辺りは関係なし?
0188名前は開発中のものです。2006/02/12(日) 20:28:32ID:r+yyPOgg
DirectX9の最初期のサンプルにはDirectShowのサンプルが入っていた。
その後3D関係しか更新されなくなってからはDirect3Dのサンプルしか入ってない気がする。
0189名前は開発中のものです。2006/02/12(日) 23:57:25ID:Cvku5vIV
>>187
同期の問題で少々はまりました。
D3DFrmのWinMain直下のDXUTMainLoopの外で再生しないと、タイミングにより表示されない(?)みたいです。
0190名前は開発中のものです。2006/02/12(日) 23:59:13ID:r+yyPOgg
ムービーをテクスチャにしてモデル描画するとかじゃないなら
素直にムービーだけのシーンを作っちまえばいいかと。
0191名前は開発中のものです。2006/02/13(月) 03:11:09ID:x9p9UfQ+
ぷにょっ!!
0192名前は開発中のものです。2006/02/18(土) 15:49:51ID:niYtFePl
にょみゅ!
0193名前は開発中のものです。2006/02/18(土) 17:16:09ID:7J4N4WqV
れるめろるめろんっ
0194名前は開発中のものです。2006/02/20(月) 22:52:55ID:7MNiRXpl
うぅりゅぃりゃ!?
0195名前は開発中のものです。2006/02/22(水) 12:07:21ID:Rqj6HAsJ
結局何が困るって初心者は初心者スレ行っちゃうし
それ以外は鬱スレのほうを好む事だよな
0196名前は開発中のものです。2006/02/22(水) 12:26:37ID:XzmcV4FF
GPUの負荷を知りたいのですが、
何の値を参照すれば良いのでしょう?

プリミティブの数で行こうと思っているのですが。。。
0197名前は開発中のものです。2006/02/22(水) 21:22:57ID:lBrVDM19
>>196
ヒント:画面を占める面積
0198名前は開発中のものです。2006/02/22(水) 21:50:53ID:nv5xXFiH
DirectX8しか経験がないんですが、
DirectX9に乗り換えたほうがいいでしょうか?
0199名前は開発中のものです。2006/02/22(水) 21:52:11ID:UDae7t6t
勝手にしろ
0200名前は開発中のものです。2006/02/22(水) 22:11:23ID:nv5xXFiH
つ 【カルシウム】>>199
0201名前は開発中のものです。2006/02/22(水) 22:13:11ID:UDae7t6t
つ 【DHA】>>200
0202名前は開発中のものです。2006/02/22(水) 22:13:47ID:nv5xXFiH
トンクス
0203名前は開発中のものです。2006/02/23(木) 12:23:53ID:TawFmJvj
>>202
いいのかそれで。
0204名前は開発中のものです。2006/02/23(木) 12:33:10ID:/3uSGQG/
7と8or9なら迷うが
8と9なら迷わず9を使うな。


俺だったら。
0205名前は開発中のものです。2006/02/23(木) 20:17:55ID:JrWRQMNf
昔作った7のエンジンと8or9で迷うのは分かるな。
今から7はありえない
0206名前は開発中のものです。2006/02/23(木) 20:43:25ID:bB240Yzr
DirectX8→9乗り換えにおいて、
特に罠は設置されていないようですね。
今度機会をみてエンジンの9化にトライしてみようと思います。
トンクス>ALL
0207名前は開発中のものです。2006/02/23(木) 23:55:06ID:AoEcGAG0
IDirect3DSurface9にGetDevice()が無いのがちょっと困るのですが。
0208名前は開発中のものです。2006/02/24(金) 00:02:33ID:wGgaxz4n
困るなら9を使わなければいい
0209名前は開発中のものです。2006/02/24(金) 00:47:00ID:jWEA12o2
PIXとかNVPerfHud使いこなしてる?
0210名前は開発中のものです。2006/02/25(土) 14:33:29ID:ebnPFk5h
Directx8でのフォント表示ですが
DrawTextだと処理重いです、これってどうにかならないのでしょうか?

使用する文字をすべてテクスチャ化しておくとか
画面に描画するとき1フレームだけメッセージをテクスチャバッファに出力し2フレーム目以降は
そのテクスチャから描画するとかそういう方法を使うしかないですか?
0211名前は開発中のものです。2006/02/25(土) 14:34:27ID:pbYlIp6T
散々既出
0212名前は開発中のものです。2006/02/25(土) 19:03:31ID:ebnPFk5h
土曜日の昼下がり、こんな閑散としたスレに書き込んだ1分後に散々既出というレスを貰い
過去ログを見るもDAT落ちしていて読めない世間の風が身にしみる今日この頃です
0213名前は開発中のものです。2006/02/25(土) 19:50:38ID:xoASBqlz
あるあるw
0214名前は開発中のものです。2006/02/25(土) 20:08:13ID:GMGqZ2iM
自分で調べろよ
お前みたいなやつはたくさんいるぞ。
0215名前は開発中のものです。2006/02/25(土) 22:15:38ID:4FrjqAbX
age
0216名前は開発中のものです。2006/02/25(土) 23:01:39ID:F6qtQ50M
DirectX9を使うといいよ
0217名前は開発中のものです。2006/02/26(日) 02:47:05ID:Gmchuwfy
工学社のDirectX8本で、既にフォントの重さ問題が取り上げられていたような気がした。
何がいいたいのかというと、それくらい既出ってこと。
0218名前は開発中のものです。2006/02/26(日) 09:02:33ID:UQEnzaUj
今度から質問するときは情報を小出しにしないようにしてね
0219名前は開発中のものです。2006/02/26(日) 12:49:11ID:AevKFysN
既出以前の質問が多いこのスレで>>210が叩かれるのも酷い話だけどな
0220名前は開発中のものです。2006/03/02(木) 12:38:01ID:8oNkVHF8
>>210
ttp://www.cmagazine.jp/contents/200110.html
これに書いてある。
バックナンバー買え。
0221名前は開発中のものです。2006/03/05(日) 13:41:58ID:QJ1yWQf0
リアルタイムで文字が変化するような物じゃないなら、
更新の瞬間だけテクスチャに描画してたな・・・。

ひとつの大きな文字列書き込み用テクスチャ作って、
更新のタイミングで、文字列とフォント、サイズ指定でテクスチャの空きエリアに描画、
帰ってきたハンドルを描画関数に渡したら、そのUVに合わせて画面上に描画。

テクスチャが満タンになるのを避けるため、
在る程度のタイミングでテクスチャをクリア。

あと、数字、英語関係はあらかじめ用意したテクスチャで描画。
0222名前は開発中のものです。2006/03/05(日) 13:48:08ID:od2G2aYG
そういえばCマガは今月出る奴で最後なんだよなあ。
0223名前は開発中のものです。2006/03/05(日) 19:07:28ID:1Lc3DEWZ
directxをつかって3Dゲームをつくりたいんだけど、
directx初心者が一番最初につくるとしたらどういったジャンルのゲームがいいのかなぁ?
つかdirectx初心者ならどういったゲームを最初につくるのが一般的?
0224名前は開発中のものです。2006/03/05(日) 19:13:49ID:drxZJm27
そんなの決まってない。
作りたい物から作れ。
0225名前は開発中のものです。2006/03/05(日) 19:35:44ID:4ZGIRxPv
三次元テトリスでいいんじゃね
0226名前は開発中のものです。2006/03/05(日) 20:10:51ID:UgR865cr
作りたいモノから作るというのは正解。
ツマランゲームじゃ長続きしないっしょ。
習作としてならなんでもいいわけだし。

あえて言えば音無し&凝った入力無しの
DirectDrawだけで済むテーマが御勧め。
テクスチャーや頂点バッファを保持するタイミングで、
全体のデータの持ち方やアルゴリズムが決まるので、
練習のつもりでやってみると良いと思います。
一方SoudやInputは後付けが楽。
0227名前は開発中のものです。2006/03/05(日) 20:13:54ID:cQK4mU/u
>DirectDrawだけで済むテーマが御勧め。
>テクスチャーや頂点バッファを保持するタイミングで、

言いたい事は分かるが矛盾してるってば
02282232006/03/05(日) 20:57:08ID:1Lc3DEWZ
>>225
ジャンルはアクション・レース・シューティングとか動きに爽快感のあるようなゲーム
という方向で考えてる。とりあえず何か作ってみようという考えだけなんで
最悪の場合、どっかのゲームのパクリでも結構なんだけど・・・
0229名前は開発中のものです。2006/03/05(日) 21:02:14ID:QJ2cT6HJ
そこまで決まってて、他人の助言は却下・・・
いちいち人に聞くようなことか?
02302232006/03/05(日) 21:17:08ID:1Lc3DEWZ
>>229
そこまでといってもジャンルしか決まっていないのにゲームがつくれるはずがないだろ。
誰も一から企画を立てろといってるわけじゃないんだよ。
「おれは最初はこんなゲームつくった」程度のことでいいから参考までに聞きたかっただけ。おk?
0231名前は開発中のものです。2006/03/05(日) 21:28:51ID:UgR865cr
アドバイスして損した。
0232名前は開発中のものです。2006/03/05(日) 21:29:19ID:tqVFcZBM
>>230
N88BASICでBIG&SMALLだった>おれは最初はこんなゲームつくった
0233名前は開発中のものです。2006/03/05(日) 23:27:47ID:cQK4mU/u
3Dプログラミングとゲームプログラミングを切り分けられてない時点で
アルカノイドかテトリスがお似合い
0234名前は開発中のものです。2006/03/06(月) 00:34:27ID:D3NpT3W8
乱数当て→インベーダー→テトリス→2Dシューティング→3D戦略シミュレーション
最後のやつは途中で止まってるが・・・・。
02352232006/03/06(月) 01:10:50ID:2h1PHnyu
>3Dプログラミングとゲームプログラミングを切り分けられてない時点で
悪いがどういう意味か教えてくれ。
0236名前は開発中のものです。2006/03/06(月) 01:29:39ID:sCkY5tz3
directX以前にプログラミングはどの程度できるの?
数学の知識は?
0237名前は開発中のものです。2006/03/06(月) 01:35:29ID:TtFLO+VH
223ごときには○×ゲームで十分だろwww
02382232006/03/06(月) 01:49:47ID:2h1PHnyu
>>237

>>236
directx自体が今回初で今まではAPIでゲームをつくってた。
つくってたといっても2つだけ。ひとつが2D縦スクロールシューティング、もうひとつが
オフライン型ポトリス風ゲーム。数学は高校の数I数II数III数C程度。
0239名前は開発中のものです。2006/03/06(月) 02:05:01ID:L610p2Kf
初心者は2D弾幕STGを作り始め、
そのまま弾幕STGを極め、
弾幕STGで終わるのが日本男児です。
0240名前は開発中のものです。2006/03/06(月) 02:07:15ID:Narqaa+h
>>238
おまえね それを最初に言わないとこの流れになるのは当然だろ どうしたってゲーム自体が初心者に読める
「つくってた」というのは「完成させた」という意味でいいんだよな?
あと煽りはスルーしとけ
02412232006/03/06(月) 02:23:14ID:2h1PHnyu
>>240
そんな風に思われてたのかw
>「つくってた」というのは「完成させた」という意味でいいんだよな?
ああ、一応は。
0242名前は開発中のものです。2006/03/06(月) 08:56:36ID:cUtSyE7B
もうすぐ春休みですね
0243名前は開発中のものです。2006/03/06(月) 21:34:04ID:dt9ORfm5
李君、香港に帰っちゃうのかな。
0244名前は開発中のものです。2006/03/07(火) 08:49:14ID:KaHc6rc7
過疎化した隙に質問

2D格ゲー作りたいと思った。
DirectX8.1b+Dev-CPPで色々勉強してみた。
そこで気になったんだが、
DrawPrimitiveよりもUPのが格ゲー向きってことでいいんだろうか。
頂点情報が変化しやすいモノにはUP系を使うんだよね?

あと、アニメーションについて。
テクスチャの座標を切り替えるってのは分かった。
しかし、いざプログラムを組もうとするとこれが出来ない。
サンプルを探しても、一定周期で画像が変わるSTGのサンプルばかりだ。


0245名前は開発中のものです。2006/03/07(火) 09:21:19ID:iLTg1YCP
頂点情報を置く場所が
DrawPrimitiveならVRAM、DrawPrimitiveUPならシステムメモリという事だろう
VRAMに置いた方が早いが、VRAMの容量が少ない場合はシステムメモリに置くしかない
2Dならどちらを使おうが大して差はない

>テクスチャの座標を切り替えるってのは分かった
そこまで分かっててなんで分からないんだよ
テクスチャの縦横が2のべき乗サイズにしなければならないのは分かるよな
アニメーションパターンが一枚の画像に納められているとしたら
x/テクスチャの横幅、y/テクスチャの縦幅でテクスチャ座標を求める
0246名前は開発中のものです。2006/03/07(火) 09:29:14ID:KaHc6rc7
>>245
なるほど。すげえ分かりやすい。
VRAMウンコなんでUP系で行きます

>そこまで分かっててなんで分からないんだよ
なんていうか、アルゴリズムがよく分からないのですよ。
時間を計測してテクスチャの座標指定で絵を切り替えるのは出来るんだけど、
技をどうやって実現するのか、っていうのが分からない。
技毎に関数化して処理するべきなんだろうか

0247名前は開発中のものです。2006/03/07(火) 09:59:11ID:HD1AfdBk
それはDirectX関係ないし。
プログラマの腕の見せ所でしょ。
0248名前は開発中のものです。2006/03/07(火) 10:02:33ID:KaHc6rc7
>>247
確かにそうだ。
いっちょ頑張ってきます
0249名前は開発中のものです。2006/03/07(火) 10:56:44ID:ZvqJ1rtZ
>頂点情報が変化しやすいモノにはUP系を使うんだよね?
勘違いが横行しているが、動的に変更されるものは、
D3DPOOL_DEFAULTとD3DUSAGE_DYNAMICでAGPメモリに置かれるように書くべき。
これだけでメインメモリに対するアクセス速度と、
ハードウエアによる頂点処理の美味しいところどりが可能。
UP系は扱いが楽だと言うだけで、それ以外の使い道は無い。

切り分けは、速度を考えるならD3DPOOL_DEFAULTとD3DUSAGE_DYNAMICで非UP系、
復元作業などが面倒で速度を犠牲にするならUP系。
0250名前は開発中のものです。2006/03/07(火) 14:52:09ID:2jd6Ujb3
単なる2Dだと、頂点バッファに入れてトランスフォームで動かすより、
トランスフォーム済みをUPで書き込んだ方が直感的で楽だからな。
0251名前は開発中のものです。2006/03/07(火) 15:00:37ID:nEDWtIQy
2Dスプライトで使う枚数なら問題ないかもしれないけど3D上の煙とかのビルボードを
行列変えながら1枚ずつ描いたりしたらオーバーヘッドが大きすぎる。
ソフトウェアで頂点処理してバッファリングする以外になんか方法あるのか?
0252名前は開発中のものです。2006/03/07(火) 17:12:17ID:3UAZ0ydO
C#からDirect3Dやら叩くDirectXのライブラリって、いいのある?
0253名前は開発中のものです。2006/03/08(水) 02:53:05ID:Y7Fl2NwF
その例の2D格闘の煙くらい、それでもオーバーヘッドなんて取るに足らない
さっさと今できる方法で作り始めろ
0254名前は開発中のものです。2006/03/08(水) 13:42:28ID:6Pu2zang
まぁ100や200程度のDrawPrimitiveなら大して問題ないな。
パーティクルなんかで数千とか呼び出す場合はバッファリング必須だけど。
0255名前は開発中のものです。2006/03/09(木) 03:44:44ID:sBPrFRob
DirectMusicで3Dサウンドのためのデフォルトオーディオパスを作った状態で
普通のステレオサウンドは可能ですか?
0256名前は開発中のものです。2006/03/09(木) 14:59:15ID:LkA/+e5O
3Dとステレオって排他じゃなかったっけ?
0257名前は開発中のものです。2006/03/09(木) 15:29:33ID:wAhpHYul
3Dでなおかつステレオのサウンドバッファは作れない、ていうか物理的にありえない。
ただ3Dのサウンドバッファとステレオのサウンドバッファを併用する事はできる
0258名前は開発中のものです。2006/03/09(木) 16:01:42ID:Xaf4t6gg
ハーフライフ2の誰かのつくったマップで部屋においてあるラジオからちゃんと
ステレオで音楽が鳴るというギミックがあった。
やつらが使ってるのはDirectSoundじゃないけど、よくできてるなーと思った。
それはそれとしてBGMをプレイヤーの頭の中でステレオで再生しながら
他の効果音は3Dてのは普通にできるよね?
0259名前は開発中のものです。2006/03/10(金) 02:42:46ID:IKH3QLdr
ただのEAXじゃないの。
0260名前は開発中のものです。2006/03/12(日) 00:30:47ID:nl1C9jUk
私、DirectXでゲーム製作してるんですけど、
LightWaveでつくったモデルをDirectX export Ver.1.3.2でXファイルにしてみたんです。
でも、Xファイルのほうにはテクスチャの透過処理の情報が伝えられないみたいなんです。
だれか、同じような経験した人居ません?
0261名前は開発中のものです。2006/03/12(日) 23:54:29ID:IHcM16r8
Xファイルの読み込みをダイアログでファイルを開いて読み込むのを作ったんです。
でも成功しません。ダイアログを開かずに読み込んだら成功します。何かのデバイス
が消失したりするのでしょうか?
0262里奈 ◆IQwhCnTrnE 2006/03/13(月) 00:01:51ID:ndS3REe/
>>261
言語は何?
C/C++?
WINAPIでやってるのなら
ダイアログでファイル名を受け取る文字列のポインタがローカルで宣言されてるんじゃないの。
グローバル変数として宣言しないと無理な気がする。



と、エスパー的回答を試してみる。
0263名前は開発中のものです。2006/03/13(月) 00:04:08ID:QktGfhf6
>>261
俺もエスパー挑戦w
情報少なくてわからんけど、GetOpenFileName使ってるんだったら
デフォルトの設定だとパスが、相対パスから絶対パスに変わるから
OFN_NOCHANGEDIRを指定すれば直るよ。
0264名前は開発中のものです。2006/03/13(月) 00:42:28ID:aYluyVad
>>261
んじゃ俺もエスパーやってみよう。

UNICODEが原因。
警告4995が出てるからすぐ確認した方が良い。
環境はVS2003か。。。
プロジェクト->プロパティ->全般の文字セット項目を「Unicode文字セットを使用する」にするんだ。
0265名前は開発中のものです。2006/03/13(月) 02:10:45ID:FSwsN/nn
Xファイルの拡張子がファイルの指定の時に.Xだとだめで.xだと通った
こんなことで5時間近く悩んでたよ。はっはは
02662632006/03/13(月) 04:16:30ID:RnnCIcMf
('A`)
0267名前は開発中のものです。2006/03/13(月) 07:44:31ID:Ynxtel+M
おまえらエスパー能力低いよ
0268名前は開発中のものです。2006/03/13(月) 07:48:52ID:NzYI5i2j
http://otofuukei.paslog.jp/image/050824_2230~001.jpg
0269名前は開発中のものです。2006/03/15(水) 19:00:38ID:KMxTATVm
タイマーはどこにあるデすか?
0270名前は開発中のものです。2006/03/15(水) 23:22:58ID:+HBBDbXP
>>269
君の胸の中で死ぬまでの時間をカウントしてるよ。
0271名前は開発中のものです。2006/03/16(木) 00:26:35ID:zN1UK54j
>>269
それは 夢のオワリ
0272名前は開発中のものです。2006/03/16(木) 03:48:52ID:I6kSNHzY
ここは質問大丈夫ですか?
Directxの各バージョンに対応しているチップセットなりビデオカードは
どう見分ければ良いのでしょうか?
今まであまり気にせず最新のものを入れていたのですが、対応していないPCに
最新のバージョンを入れると不具合があるというのを他スレで見まして…
アンインストールも出来ない様ですし困っております

ビデオカード等の型番だけでは判断出来ず、診断ツールを使わないとわからないのでしょうか?

ご存知の方いらっしゃいましたらご回答宜しくお願いいたします。
0273名前は開発中のものです。2006/03/16(木) 08:04:38ID:FFYmwBIN
自分のアプリがDirectXのいくつを前提にしているか明記しておくだけ。

対応してないDirectXを入れての不具合は、
ドライバを古いのに戻してもらうか、最悪OSを再インストールだが、それはそういうものだ。
自分のアプリが使えなくても諦めてもらう。
金は返す必要はない。
市販ソフトでもそんな対応だ。

だいたい、そんな糞ハードを使ってるのは、普段DirectXが必要なアプリやゲームをやらない人だからな。
良い顧客じゃないんだよ。世間並み以上にかまうことはない。
0274名前は開発中のものです。2006/03/16(木) 08:10:42ID:AEYHjzRG
気になるならDirectDrawで全部やれ
以上
0275名前は開発中のものです。2006/03/16(木) 11:42:52ID:VRBH7u62
>だいたい、そんな糞ハードを使ってるのは、普段DirectXが必要なアプリやゲームをやらない人だからな。

あるある。ぶっちゃけPCの知識が無い・金かけない人にかまいたくない
0276名前は開発中のものです。2006/03/17(金) 01:47:48ID:XfX24j9b
Xファイルについて質問です。
頂点フォーマットのFVFはXファイルには入っていないのでしょうか?
0277名前は開発中のものです。2006/03/17(金) 01:55:37ID:TVzjCWnz
その前に何故入れる必用があるのか明確に説明せよ。
0278名前は開発中のものです。2006/03/17(金) 02:27:57ID:XfX24j9b
Xファイルを複数読み込んでそれをまとめて描画しようと思ったときに
頂点フォーマットが違うと描画がされないからです。
0279名前は開発中のものです。2006/03/17(金) 07:36:23ID:TVzjCWnz
頂点フォーマットは描画時に好きなように切り替えられるから、
フォーマットが違うから描画されないというのはあり得ないし、
フォーマットはファイル中のデータの構成から、
無駄が出ないように最適なものを判断すればいいだけ。
0280名前は開発中のものです。2006/03/17(金) 12:57:22ID:sfhHBL/W
複数のモデルを1つにまとめて1回のDrawPrimitiveで描画ってこと?
いわゆるセグメントバッファリング?
なら大前提として”同じ頂点フォーマットのファイルしか纏められない”
ボーンの有無程度ならウェイトに0入れときゃいいだけだが。
0281名前は開発中のものです。2006/03/17(金) 13:17:45ID:3Zb99o+Q
つSetFVF
俺はDirectXのバージョンがサマー2004で止まってるから、変わってたらスマソ。
■ このスレッドは過去ログ倉庫に格納されています