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

鬱だ氏のう DirectX (Part 3)

■ このスレッドは過去ログ倉庫に格納されています
0001 ◆WMpzjIm. 01/11/07 16:56ID:???
DirectXについてマターリと技術情報交換&雑談するためのスレッド。
初心者用相談室では扱わないような少し高度な話題も受け持つ。

■旧スレ(プログラム板)
http://piza.2ch.net/tech/kako/966/966655286.html  (Part 1)
http://pc.2ch.net/test/read.cgi/tech/997101556/   (Part 2)
0137名前は開発中のものです。01/12/23 19:03ID:bm9n9GFO
>>136

HINSTANCEでしょ?
GetModuleHandle(NULL);で取れないかねぇ?
DOSアプリだとダメかな?
0138名前は開発中のものです。01/12/23 19:05ID:OXvxcNRi
GetModuleHandle(NULL)
を代わりに使うんじゃなかったっけ?
おぼろげな記憶。
0139名前は開発中のものです。01/12/23 19:06ID:OXvxcNRi
かぶった。すまむ
014013201/12/23 19:28ID:5HaRG1wG
おぉ、助かります。。
014113201/12/23 19:39ID:5HaRG1wG
ただ今、コマンドアプリでもウィンドウアプリと同じ値を、
GetModuleHandle(NULL) で取得出来る事を確認しました!
0142名前は開発中のものです。01/12/23 20:07ID:N4+GBleN
久しぶりにDirect3D使ってみようと思い
8.1SDKを落としてきた
初期化がさくっと終わってるのに感動した!
でも新しい言葉がいっぱい出てきて正直困惑
0143名前は開発中のものです01/12/24 03:46ID:w3zASyI1
つかみんな8.1使うの?
95捨ててるから今迄のVerUPとは同じに考えられないよな。
マジどうすんのか聞きたい。
0144名前は開発中のものです01/12/24 04:34ID:???
全然普通に使ってますが?
むしろ95ユーザの為にステンシル他を使わない方が馬鹿げているような。
それともオレ、異端か?
0145名前は開発中のものです。01/12/24 05:43ID:???
いまどき95を使ってるような奴が良い顧客かどうか考えてみよう。
0146名前は開発中のものです。01/12/24 10:48ID:???
>>145
エロゲとかは95もターゲットにすることはあるかもね。
昔は(DirectX3くらいのころ)オールGDIで作ってあったのもあったしなぁ。
0147名前は開発中のものです。01/12/24 10:59ID:???
正直、DirextX8.1が必要なゲームを遊ぶような人間のどれだけが
いまだにWin95を使っているのか統計を取ってみたい。
ていうかいるのか?
0148名前は開発中のものです。01/12/24 11:35ID:???
>>147
 まあ、そうだろうな。
 俺もボロマシンに95入れて使ってるけど、最新のゲームやら
ビデオ編集やらはできないって割り切って使ってるよ。
 自分で書いたプログラムが他人のマシン借りないとマトモに
動かないってのはかなり鬱だが。
0149名前は開発中のものです。01/12/24 12:16ID:ri5i/9hM
最近のマシンはBitBltでさえ高速だから油断ならない。
動作確認のために、今使っている屑を手放せナイーヨ
0150名前は開発中のものです。01/12/25 13:28ID:FrMhTu1F
DXというかVCの質問になりますが
D3DXVECTOR3 vecがあって
"vec."と打つとメンバがポップアップされて表示される機能
あれが働かないのですが,どうすればいいのですか?

以前D3DVECTORを使用していたときは出ていたのですが...
擦れ違いとか言わないでそこをなんとか
0151名前は開発中のものです。01/12/25 13:41ID:bGbvaKtQ
vcのバグ
0152名前は開発中のものです。01/12/25 14:08ID:???
ヘッダもプロジェクトに入れよう。
0153名前は開発中のものです。01/12/25 14:48ID:???
>>143
未だに5.0対応のコードで書いていますが、何か?
0154名前は開発中のものです。01/12/25 15:42ID:FrMhTu1F
>>151
”外部依存関係”ってとこからヘッダのほうに持っていくと
上手く行きました.
thx!
0155名前は開発中のものです。01/12/25 15:43ID:???
>>152ダッタ
0156名前は開発中のものです。01/12/26 02:13ID:???
95使ってる奴に限って「動きません!」メール出しまくるので
ソフト作者に「95使ってる奴が世の中に大勢いる!」と錯覚与えてる罠。
0157名前は開発中のものです。01/12/26 12:53ID:???
企業や学校のリースの古いマシンは、OS入れ替えなしで使われている場合が多いね。
インストール禁止なんかになると、DirectXすら入ってない。
下手するとI.Eのアップデートすらされてなくて(以下略
0158 01/12/26 14:40ID:???
D3DXCreateTextureFromFileExでBMPからテクスチャつくってるんだけど
サイズの大きいBMPだとうまくいきません、原因分かりますか?
0159名前は開発中のものです。01/12/26 15:02ID:Q2518lPu
MSDN、まだDX8.1のCDを送ってこない。
仕方ないダウンロードするか。

DirectShowのGraphEditで遊んでます。
AudioCompressor に MPEG Layer-3 が出てきます。
これをSoundBlasterのキャプチャーにつなげても何も出力してくれないけど、
これってやっぱりエンコードが"32kBits/s, 22,050 Hz, Mono"までしか対応してないって
ことですかね。そうだろうなー。
MSとFraunhoferのケチ。
0160NAME OVER01/12/26 15:25ID:???
ALPHABLENDでカラーキーと同様なことをして
RENDER1回だと半透明になるのですか、
半透明じゃなく実体のまま(透明度0)表示する方法は?
016115901/12/26 15:50ID:???
是正
Fraunhofer IIS MPEG Layer-3 Codec (advanced)
56kbit/s 24kHz STEREO まで対応しているそうで。
0162名前は開発中のものです。01/12/26 16:27ID:???
>>158
Voodooとか使ってない?
Voodoo3から前は、256*256までのテクスチャしか扱えない。
0163名前は開発中のものです。01/12/26 16:45ID:LxAwFOu0
なんでMaxVertexBlendMatricesが2なんだよぉぉぉ
バナナにしか使えねぇぇぇ
0164 01/12/26 22:12ID:???
>>162
それ以外にもここまでしか扱えないっていうやつありますか?
0165名前は開発中のものです。01/12/26 23:51ID:???
ノートパソコンのチップセットとかはどう?RAGEなんとかとか。
一応3D機能はついているらしいけれど、どのくらいの能力があるかわからんです。
わざわざ買う余裕ないしねえ。
0166名前は開発中のものです。01/12/27 01:20ID:???
>>159
CマガにSDKついてたよ。
0167名前は開発中のものです。01/12/27 01:22ID:iaqj3AbY
Direct Musicでファイルをロードするときにニバイト文字とかがはいってると
読み込めない。
これがバグなのはあっちこっち検索してわかりましたけど、
解決方法ってあるんでしょうか?

勝手にファイルを英語のみのフォルダにコピーして読み込むとか、
考えたんですけど、どうもしっくりこなんです。

バージョンは7.0 OSはWindows98なんですが。
0168名前は開発中のものです。01/12/27 01:53ID:???
ファイル名に日本語使うな
0169名前は開発中のものです。01/12/27 02:06ID:iaqj3AbY
>168
使ってるわけ無いじゃないですか。
上位フォルダに日本語があってもだめなんですよ。
ってことは、「デスクトップ」とかに
インストールされると一発でアウトなんですわぁ。
どうしよう。
0170名前は開発中のものです。01/12/27 04:52ID:zlwuKPi3
相対パスでやったらダメなんか?ん?どーなのよ?
0171名前は開発中のものです。01/12/27 07:59ID:???
>>165
テクスチャーが1pixelずれてくれたり、
場合によっては加算合成が効かなかったりと
なかなか楽しませてくれます。
017216501/12/27 09:04ID:???
>>171
ありがとう。ぐはぁ・・・・
017317101/12/27 09:49ID:???
>>172
2Dでちょこっと合成に使うんならともかく、
バリバリ3Dになると遅くて気が狂いそうになるので
ユーザーとしては思いきって対応切ってくれた方がせいせいします。
対応していると思わせといて、動かしてみると遅くて遊べねー、ガッカリってのがよくあるので。

その分、最近のGeforc2Goとか、MobileのRadeonには対応しといてね。
0174名前は開発中のものです。 01/12/27 12:46ID:???
>1pixelずれてくれたり
 俺の家族が持ってるLavieもご多分に漏れずズレる・・・
 おまけに、Lockしての直書き込みが異常に遅い。俺の
ボロPC98にも余裕で負けてくれる。
0175名前は開発中のものです。01/12/27 14:04ID:???
D3DXMatrixTranslationってクリアするのな
びっくりしたーよ
いちいちテンポラリ作って掛けろってか
んなもんつかわねーよ 鬱だ・・・
0176名前は開発中のものです。01/12/27 14:55ID:???
プロ目指すなら単純な変換にわざわざAPI関数使うなよ、と煽ってみるw
0177名前は開発中のものです。01/12/27 14:56ID:aQ7PtWaf
>170
SetSearchDirectoryでニバイト文字がはいってるせいか、
やっぱりエラーが・・・
相対もだめ、絶対もだめ。
じゃあ、なにが・・・(泣
0178名前は開発中のものです。01/12/27 16:53ID:sd0GOXpJ
>>177
だからいったん別のとこにコピでいいじゃん。
017917001/12/27 18:01ID:???
>>177 >>178
思うにあれだろ?。ユーザに配布したとき、どんなパスにインストール
されても正しく動作させたいんだろ?。
それにしても、どういうシチュエーションで使いたいのか詳細キボンヌ。
0180名前は開発中のものです。01/12/28 00:34ID:BKYVf5Vs
>>179
Direct Xをノビタ プログラムをジャイアン ビデオカードをすねお CPUをドラえもんとするとね
ジャイアンがノビタをいじめるところをすねおがはやしたてるんだけど、それを見ていたドラえもんがノビタを助ける
そんなシチュエーションだね。
0181名前は開発中のものです。01/12/28 00:50ID:???
>>180
微妙に笑ってしまった
0182名前は開発中のものです。01/12/29 17:08ID:???
プログラムがDirect Xをいじめるところをビデオカードがはやしたてるんだけど、
それを見ていたCPUがノビタを助ける

HALがだめでREFになったてことか?
0183名前は開発中のものです。01/12/29 17:09ID:???
>>182
結局ノビタ助けてるし・・・
0184名前は開発中のものです。01/12/29 17:31ID:???
却ってわけわからんぞ
0185名前は開発中のものです。01/12/29 18:02ID:???
8.1SDKのインストールについてなんですけど
なんか途中でデバッグタイプかリテールタイプを選ぶ
ダイアログ出ますよね。皆さんはどちらでインストール
しました?当方デバッグタイプにしたんですけど
あとから変更ってできないんでしょうか。
0186名前は開発中のものです。01/12/29 18:21ID:okODaq8y
>>185
コントロールパネルで
「Use Retail Version of DirectX」にチェック付けろ

OutputDebugstring出力が欲しくなったら
「Use Debug Version of DirectX」な。
0187名前は開発中のものです。01/12/29 19:09ID:???
>>185
当方開発者なので当然デバッグ。DirectXからのデバッグ情報もらえるからね。
リテールにしたかったら、再インストすればよいと思う。
0188 01/12/29 19:12ID:U0PiU0J7
retail指定しても 速度が非SDKのランタイムと違うよね〜
 ちょっと不便
0189名前は開発中のものです。01/12/29 19:18ID:???
>>86,87,88
ありがとうございます。
コントロールパネルに設定用のアプリが
あったんですね。知らなかった・・・
019018901/12/29 19:21ID:???
すいません。
>>100+して下さい・・・
0191名前は開発中のものです。01/12/29 20:16ID:OgekUnsK
>>187
Retail/Debugで作ったゲームが
違うモードだと動かんなんてケースもあるので要注意ですぞ。
0192あぼーんNGNG
あぼーん
0193名前は開発中のものです。01/12/29 22:24ID:???
荒らしたいならご自分でどうぞ
0194名前は開発中のものです。01/12/29 23:01ID:???
マクロスなどの360度視点ゲームのレーダーとかゲージって
3D変換で表示してるのでしょうか?
0195名前は開発中のものです。01/12/30 02:47ID:b8e+Yl72
ちょっと聞いていいですか?

今までVBでDirectX7使ってたんだけど、わけあってVCでDirectX8を使うことになりました。
今は工学社の「DiretX8実践プログラミング」っていう本を読んでるんだけど
ぜんぜんわかりません。(わからないこともないけど時間はかなりかかりそう)

必要なのは2Dの知識だけなのですが、DirectX8で2Dのいい本がありませんでしょうか。
それともおとなしくDirectX7使ったほうがいい?

Ver8からなんか急に難しくなった気がする…
0196名前は開発中のものです。01/12/30 02:49ID:???
>>195
>わけあってVCでDirectX8を使うことになりました

理由と時間によるだろうけど、わからないのだったらDirectX7でいいんじゃない。
0197 01/12/30 02:57ID:EODl7lh1
dx8から2dは扱いにくくなってる つーか
3dの平面ポリゴンとして扱わないといけないから、手を出さないのも有りかも
MS製の補完するヘルパー関数ついてるけど、ね
8.1はwin95動かないしね
0198_01/12/30 03:05ID:EmDOc62y
>>195
俺と同じ境遇だw
こっちは、取り敢えず何とかなりそう。
shader使える環境なんで、楽だったかな。
0199名前は開発中のものです。01/12/30 03:58ID:???
ありがとうございます。
無理してVer8をやるよりかは今はとりあえずVer7を使ったほうがよさそうですね。
でも、少しずつ8の方も勉強してみます。

Direct Graphicsの初期化の方法はわかったので、あとはとりあえず
TextureオブジェクトとSpriteの扱い方がわかれば2Dはできそうですね。
ま、折角だからそのうち3Dにも手をだしてみます。
0200199=19501/12/30 04:04ID:???
冷静になって考えてみたら実際そんなに難しくないかな?
っていうかこの本が3Dの一部として2Dも書いてるからやることが多いように
見えるだけで…

細かくかいてあるのでこの本が難しかったのかも。
明日もうちょっと初心者向けの本を探してきます。
0201名前は開発中のものです。01/12/30 04:51ID:???
土井氏の「DiretX8実践プログラミング」は
3Dプログラミングの入門書としては不便かもね。

旧バージョンで(3D含めて)そこそこやってた人には
APIの新機能の使い方を紹介してくれる手軽な本かな。
0202名前は開発中のものです。01/12/30 04:53ID:???
>>200
いきなり3Dと2Dまとめてやるのは挫折の元になるので、急がないのなら
DirectX7>DirectX7のD3DX>DirectX8って順にやればわかりやすいと思う。
0203名前は開発中のものです。01/12/30 08:47ID:???
3Dやりはじめるのに、いきなりDirectX8はムズイ?
DirectX7から?

それともOpenGL?
0204名前は開発中のものです。01/12/30 09:19ID:???
>>203
DirectX8からで良いんじゃないかな?。DirectX7は初期化がめんどくさい。
あと、DirectXってのは単なる技術でしかないから、3Dに関する知識などは
別途学習する必要がある。
OpenGLは使ったことないから、知らないや。
0205名前は開発中のものです。01/12/30 10:42ID:???
間抜けな質問で申し訳ないんですが、RADEON8500とGeFORCE3,どち
らが初めてシェーダで遊ぶ人間には合ってるんでしょうか?
この際、性能とかは度外視で。
0206名前は開発中のものです。01/12/30 11:07ID:???
ほんとに性能を気にしないならリファレンスラスタライザが一番かと思われ・・・
020720501/12/30 11:12ID:/68iP9j1
つ、使い物にならんほど遅いんで、、、
てーかいじめないデー
0208名前は開発中のものです。01/12/30 11:40ID:???
Directx8の日本語へルプをMSからDLしよう
と思ったけど何処にあるか分からなくてDLでき
ませんでした。というわけでDL方法か置き場所
知ってる人いませんでしょうか?
0209名前は開発中のものです。01/12/30 12:22ID:/68iP9j1
助け合いってことで、、、
http://www.microsoft.com/japan/developer/directx/downloads.asp
の下の方にあるっす。
0210名前は開発中のものです。01/12/30 12:59ID:???
>>209さん サンクスです。
021120501/12/30 14:29ID:/68iP9j1
実際のところ片方でできて他方でできないフィーチャーって基準
で測ると、どっちが有利なんでしょ?良かったらどなたか教えて
くだされ。
0212名前は開発中のものです。01/12/30 14:57ID:???
>どっちが有利なんでしょ?

趣味プログラマの場合、みんな好き好きでやってるね。
たとえば、俺の周りではATIユーザーいないので
ピクセルシェーダー使ったソフトを見せ合うときは
RADEONでの動作検証は全くやってないし・・・。
0213名前は開発中のものです。01/12/30 15:26ID:???
ドライバの完成度はGeForceか。
0214名前は開発中のものです。01/12/30 15:53ID:???
ていうか、そもそも俺のゲームがRADEONで動かないの前に
俺のPCでRADEONが動いてくれない。鬱
まあ、動く動かないも物によるのでは・・・。
0215名前は開発中のものです。01/12/30 16:11ID:0FKOtmta
質問なのですが、

DirectXを勉強しようと思って、
「DirectXによるゲームプログラミング」大川善邦 著 工学社
を購入し、さっそく読んでるんですが、
この本はDirectX3を対象に書かれているようなのです。

この本で書いてあるようなDirectX3のプログラムは、
バージョンの違う(例えばDirectX8)などでは動かないのでしょうか?

もし動かないのなら買って損したかも……
0216名前は開発中のものです。01/12/30 16:20ID:???
>>215
動くよ!
0217名前は開発中のものです。01/12/30 18:14ID:uM+jjiK3
基本的な奴は動くだろうけど・・・
0218名前は開発中のものです。01/12/30 18:16ID:???
>>217

え、続けて続けて。
0219名前は開発中のものです。01/12/30 18:31ID:???
いや、その物の本持ってないから わかりません。

基本的な(初期化とか)だったら、DX8でもいけるかも
0220名前は開発中のものです。01/12/30 19:16ID:???
>>215
 最新バージョンのDirectXの環境で古いソースをコンパイル・実行するのは
全く問題ないから安心し。

 とりあえずその本で勉強するんなら、DirectX8のことは忘れた方がいい。
022121501/12/30 19:27ID:0FKOtmta
>>216さん
>>217=219(?)さん
>>220さん

なるほど、古いバージョンでコーディングしても動くんですね!
ありがとうございます!
本買う時に「DirectX8実践プログラミング」という工学社の本を見て、
「ムズッ!」とか思ってこっちの本にしたんで、ちょっとウツになってました……。
DirectDrawで簡単な2Dゲームでも作ってみます。

>>218さん
ひょっとして、同じ悩み持ってました?
0222名前は開発中のものです。01/12/30 20:20ID:KCeJgneC
漏れもDirectXに興味があり、勉強しようかと思ってるんだけど、
漏れ、VBしか知らん。工学社の「DirectX8 3Dの基礎とゲームの作り方」
がVB対応だったので買ったのだが、今度は3Dがムズくて分からん。
VBで2Dから勉強したいのだけど、誰か良い本紹介して。
取り合えず、2Dで背景のスクロールと、キャラクタのスプライトの方法が
知りたいです。
ところで、>215の本ってVB対応なのですか?
0223名前は開発中のものです。01/12/30 20:47ID:???
まずヘルプだよ。日本語ヘルプ読めばなんとかなる。

最近のでも書籍はあまりいいのないし、SDKのサンプル弄りながら
試行錯誤するのが一番良いと思うが。
0224名前は開発中のものです。01/12/30 21:01ID:???
>ひょっとして、同じ悩み持ってました?

いや。>>217の内容が意味不明だったので
はっきり書くよう促しただけ。
0225名前は開発中のものです。01/12/30 21:07ID:???
色々さがしたが、日本語の書籍には良書がないと言う結論に至った
一番いいのはDirectXSDKのHELP
HP見たほうがましかと
ttp://www.interq.or.jp/black/minami-m/
ttp://giggle.cside6.com/hotate/index.html
ttp://homepage2.nifty.com/natupaji/DxLib/
0226名前は開発中のものです。01/12/30 21:13ID:???
>>221
念のため言っておくと、DirectDrawはDirectX7で完成、そして終了。
2Dゲーム目的ならば同じ工学社の「DirectX7実践〜〜」のほうが良かったと思う。
いまさら言ってもアレなんで、SDK付属のチュートリアル,ヘルプ,サンプルを読み漁る。
あと、DirectDrawを解説しているウェブサイトは腐るほどあるので、自力で検索する。
なにかを学ぼうと思ったら、めんどくさがってたらダメだよ。自分で解決しないとな。
最初は誰もが通る道だが、言わずにはいれなかったので、年寄りのアドバイスだと
思って我慢して聞いてくれ。

>>222
VBだったら、あきまさに教えてもらうってのもアリだな。
http://game.2ch.net/test/read.cgi/gamedev/1006052623/
2Dやってから3Dというの、初心者が言う逃げ道(言い訳)だと思う。
表現の方法は確かに違うが、ゲーム製作の根本は2D/3D関係なく、どちらも一緒だぞ。
3D難しいのではなく、3Dという言葉が難しいと思い込んでいるだけ。

以上。両氏とも頑張ってください。
0227名前は開発中のものです。01/12/30 22:17ID:cvuOUuJR
>>226
>DirectDrawはDirectX7で完成、そして終了。
せめてBatchBltに対応してから終了してほしかったなぁ。
0228名前は開発中のものです。01/12/30 22:26ID:???
あれは幻のままだったな。
022922001/12/30 22:35ID:???
>>225
 いや、215の本は結構イイと思ったが。実は俺も最初に買った本だし(w
 内容は基本の基本しか書いてないが、最近の本にありがちな、
「あとはCD見てね」みたいな形式じゃなくて、紙面に必要なことは
全て載っているという点がいいと思う。
 このシリーズもっと続けて欲しかったけど、最近はDoichan氏とか
が工学社の本書いてるみたいね。

 まあ、この本でDirectDrawに慣れたらDirect3D使うのもそんなに
苦じゃないと思うよ>215
0230名前は開発中のものです。01/12/30 23:40ID:akDZdmo7
単位球表面の一点を、三軸の角度から
計算する方法を教えて下さい・・・。
算数ができないので困り果ててます。
023123001/12/30 23:42ID:???
すんません。。。
単位球表面の一点を→単位球表面の一点の座標を
0232名前は開発中のものです。01/12/31 00:25ID:I5u38Xfu
>>230
sinとcosの掛け算じゃないのか?
極座標の式ね
023323201/12/31 00:28ID:I5u38Xfu
スマソ
この場合sin-1だわ。
アークサインね。
「極座標」とでも検索すれば出てきます。
023423001/12/31 00:37ID:???
>232
ありがたや〜〜
なんか色々HPが出てきたんで勉強しに逝ってきます。
0235なまえをいれてください01/12/31 14:11ID:M551U00D
つーか、DirectDrawって必要性あるの?
3Dエンジン使って描画した方がずっと楽だし、処理食わんしで。
半透明の処理とか、昔は計算してやったけど、今半透明のフラグ一つでOkだもんな。
演出等もポリゴンでやった方が派手でかつ簡単に出来てしまう。
プログラマって昔の技術捨てて新しいの覚えていかなくちゃ駄目だから、
覚えては捨てての毎日が悲しい物であったり、楽しい物であったり。
0236名前は開発中のものです。01/12/31 15:38ID:???
>>235
ノートや三世代前ぐらいのPCをもターゲットに入れているなら必要かも。
■ このスレッドは過去ログ倉庫に格納されています