トップページ⇒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/
0022デフォルトの名無しさん2005/05/09(月) 15:31:09
>>21
その通り。
0023132005/05/09(月) 18:08:45
D3DXMatrixScaling
0024デフォルトの名無しさん2005/05/09(月) 18:45:20
変換済み頂点だって言ってんだろうが
0025デフォルトの名無しさん2005/05/10(火) 08:09:54
ちょとイタイ>>13が居るスレは此処ですか?
0026デフォルトの名無しさん2005/05/10(火) 13:11:11
D3DXCreateTextureFromFileExがDirectXデバイス既に作成したのに
「デバイスの準備ができてません」とHRESULT値を返す。
NULLチェックして確かめてるから間違いない。
しかも、引数に渡したファイル名の文字列が関数実行後「""」になってる。
const のはずなのに、デバッガが間違ってるのか、なんなのか、わけわかめ。
憂さ晴らしに書いた。
0027262005/05/10(火) 13:13:01
「デバッガが間違い」というのは、深い意味で考えないでください...
0028262005/05/10(火) 13:37:29
少し前にあるassert関数を省いたらバグ取れた。わけわかめ
0029デフォルトの名無しさん2005/05/10(火) 14:04:31
VCでのプログラミングの経験はあるのですが、DirectXは初めてです。お薦めの本を教えてください。
0030デフォルトの名無しさん2005/05/10(火) 14:22:24
>29
C,C++、win32APIでウインドウぐらい作れるのか?
0031デフォルトの名無しさん2005/05/10(火) 15:40:01
↑何で偉そうなんだろう。
個人的にはDXでお勧めの本はない。
とりあえず工学者とかI/Oのは終わってる。
量産してるけど全部糞。
シェーダーとかグラフィックに特化したのは高いけど比較的まとも。

最初はSDKチュートリアルと個人サイトのチュートリアルをやって、
リファレンスとしてはSDKドキュメントがあれば十分いけると思う。
0032デフォルトの名無しさん2005/05/10(火) 16:18:31
まあ、SDKのヘルプとサンプルが確実に最良の教科書なので、読みまくれってこった。
DirectX Graphicsだけなら、ノート取りながら読んで1日かからんはずだ。
0033デフォルトの名無しさん2005/05/10(火) 16:28:18
つーか俺の経験だと、初心者が一段登る程度の情報だったらどんな本を買っても書いてあるよ。
本屋に行って適当なのを選んで来たら医院ジャマイカ
0034デフォルトの名無しさん2005/05/10(火) 18:05:29
>>28
assertをとったらバグ取れたってのは表面的だな。
メモリリークしてる場合の症状だろ、それ。
0035262005/05/10(火) 18:50:59
assertは、D3DXCreateTexture..の前にあるから、無関係。
assertで引っかかってるわけではないです。

assert(size);
..
D3DXCreateTextureFromFileEx(...);

で、最後の引数に帰ってくるポインタ(テクスチャ)はNULLではなく、
変な値。
メモリ配置に関するエラーだと思われますが。
0036デフォルトの名無しさん2005/05/10(火) 19:19:52
レンダリングターゲットにアルファ値を書き込む方法ってありますか?
ターゲットのアルファ値は常に0xFFだと思ってるんですが。
(アルファ値の計算で色が決定され、ターゲットにその色が反映されて、
ターゲットにアルファ値は本来不要だと思われるから)
HPゲージのような一部分(矩形のような単純な形ではない)にだけ
塗ろうとして、その一部分のみを透明にして、その他部分は不透明
を表現しようとしてます。
0037デフォルトの名無しさん2005/05/10(火) 20:03:22
>>36
常に0xFFだったらアルファブレンディグできないだろ。
0038362005/05/10(火) 20:55:29
普通に考えたら、そんな遠回りする必要なく、
その形をかたどったモノをそのまま転送すればいい事に気づいた。
0039デフォルトの名無しさん2005/05/10(火) 21:38:09
>>38
そんなことしないで、転送先ピクセルのアルファ値を使用した、
ブレンディングを学べ
0040デフォルトの名無しさん2005/05/10(火) 22:03:28
メモリリークした箇所をデバッガで知ることが出来ますが、アホなものでその情報を生かせません。

Direct3D9: (ERROR) :Memory Address: 00c64028 lAllocID=1 dwSize=000047f8, ReturnAddr=017134c8 (pid=00000584)

例えば上記のような情報から、どうやってリークした対象を特定するのでしょうか。
デバッガでメモリの状態を見ることが出来ますが、それで確保された瞬間を見るとD3DのDeviceだったりしてお手上げでした。
IDというのが便利そうなのですが…。
0041デフォルトの名無しさん2005/05/11(水) 02:03:59
メモリリークしたら、企画ごとボツが定石
0042デフォルトの名無しさん2005/05/11(水) 02:17:56
サーフェスを画面に表示するにはどうやるの?
0043デフォルトの名無しさん2005/05/11(水) 04:35:09
>>37
アルファブレンディングで、ターゲットのアルファは使わないのでは?普通の式だと。

Result = Src * Src_α + Target * (1 - Src_α)
0044デフォルトの名無しさん2005/05/11(水) 05:15:21
http://www112.sakura.ne.jp/~kaientai-project/creategame2.htm

0045デフォルトの名無しさん2005/05/11(水) 13:04:12
>>41
昔初心者の頃マジでそうしてた(;・∀・)
0046デフォルトの名無しさん2005/05/11(水) 15:12:51
ピクチャーコントロールにDXで描画するダイアログベースのツールを作ろうとしているのですが、
ピクチャーコントロールの更新されるタイミングが分からず困ってます。

まずはアプリの起動時にDXで適当な矩形でも表示してみようと、
WM_INITDIALOGで矩形描画関数を呼んでみたのですが、
一瞬描画されたあと、ピクチャーコントロールの色で塗りつぶされてしまうようでした。
なので、WM_PAINT内でも同じように描画関数を呼んで見たのですが相変らず
起動時に矩形を表示してくれません。
(というかピクチャーコントロールの描画で消されているような感じ。)
WM_LBUTTONDOWN内などで描画すればきちんと表示されるのですが、
WM_MOVE内で呼んだ時などは、一度目の移動では表示されず、
二度目以降の移動では表示されるという、よく分からない挙動になっています。
どうしたらいいのでしょうか?
環境はW2k、VC6、DX9.0bです。よろしくお願いします。
0047デフォルトの名無しさん2005/05/11(水) 16:37:29
>>44
この荒らしまだいたのか?

〜陸海空Ponline〜壊滅度6%
http://ex9.2ch.net/test/read.cgi/net/1111323121/l50
0048デフォルトの名無しさん2005/05/11(水) 19:19:52
原因不明のバグをがんばって取れるのがプロ
0049デフォルトの名無しさん2005/05/11(水) 21:54:32
>>45
初心者じゃないところで一つお願いできませんか>>40
0050デフォルトの名無しさん2005/05/11(水) 22:43:51
>>40
ttp://www1.kcn.ne.jp/~robe/pf/pf008.html
0051デフォルトの名無しさん2005/05/11(水) 23:13:26
>>50
横からなんだけど、この場合関係なくね?
0052デフォルトの名無しさん2005/05/11(水) 23:51:29
>>50
あぁ、そうか。D3D9 内部でやってるメモリ確保でのリークなのか...。
0053522005/05/11(水) 23:51:56
×>>50
○>>51
アンカーミス...
0054462005/05/12(木) 01:03:39
APIスレいってきます
0055デフォルトの名無しさん2005/05/12(木) 01:17:52
DirectXのメモリリークは
一兆%の割合でrelease忘れ。
0056デフォルトの名無しさん2005/05/12(木) 17:04:21
すいません、Xファイルを読み込ませてもオブジェクトが真っ黒なのですが。。。
自己照明の設定にすると見えることは見えるのですがどうにも平坦で。。
0057デフォルトの名無しさん2005/05/12(木) 17:24:39
ふーん。だから?
0058デフォルトの名無しさん2005/05/12(木) 20:26:28
はぁ?わざわざ説明しなきゃわかんねーの?読解力ゼロだね
0059デフォルトの名無しさん2005/05/12(木) 21:59:10
糸冬 了
0060デフォルトの名無しさん2005/05/13(金) 08:37:57
再 起 重力
0061デフォルトの名無しさん2005/05/13(金) 14:02:13
走己重力
0062デフォルトの名無しさん2005/05/13(金) 14:04:33
頂点xyzを指定して、プリミティブを見るソフト教えてください。
簡易ソフトでビューア、形状確かめに使おうとしてます。
使ったことあるけどソフト名は覚えていない
0063デフォルトの名無しさん2005/05/13(金) 15:58:38
DierctX9 C++ wizardで立ち上げたプロジェクト内で、
MFCを使うことは可能ですか?

それともMFCで立ち上げたプロジェクトでDirectXを使用したほうが
楽なのでしょうか?
0064デフォルトの名無しさん2005/05/14(土) 10:24:06
ALPHAOPにSELECTARG1
ALPHAARG1 -> DIFFUSE
ALPHAARG2 -> TEXTURE
を指定しているのに、
テクスチャ作成の際、指定したカラーキーによる透過に成功している。
頂点色のアルファ値を使ったアルファブレンドがしたいのに。
頂点のアルファ値はちゃんと半透明になってるのに。
0065左利き2005/05/14(土) 13:29:12
質問させてください。

DXライブラリを改造したライブラリを使って(DirectShow利用)
Webカメラの撮った映像を表示するプログラムを作っているのですが、
キャプチャ出来ません。

その理由に、
ビデオキャプチャするデバイスが
Conexant 2388x Video Captureと
Mic Cam
2つが存在し、
デフォルトのビデオキャプチャのデバイスがConexant 2388x になっているから
だと思うのですが、
(Mic Camしかない別のPCだとキャプチャ出来る)
Mic Camに設定してキャプチャする方法はないでしょうか?

↑はプログラムで設定するのではなく、
コントロールパネルのような所で設定できませんか?

お願いしますm(_ _)m
0066デフォルトの名無しさん2005/05/14(土) 13:51:43
http://www.google.co.jp/search?hl=ja&q=PPPax980.kanagawa-ip.dti.ne.jp:8080
http://www.google.co.jp/search?hl=ja&q=PPPax980.kanagawa-ip.dti.ne.jp:80
0067デフォルトの名無しさん2005/05/14(土) 15:27:11
DX9.0cでvsyncをオフにしたいのですが…
0068デフォルトの名無しさん2005/05/14(土) 15:39:12
だから何?
0069デフォルトの名無しさん2005/05/14(土) 15:45:10
>>68
すいませんでした。VSYNCをオフにする方法を教えてください。
ググって見てもIDirect3DDevice9::Presentが関係しているということしかわかりませんでした。
0070デフォルトの名無しさん2005/05/14(土) 15:46:13
ageてしまったorz
0071デフォルトの名無しさん2005/05/14(土) 15:50:59
PRESENT_PARAMSが関係していると連想できない?
0072デフォルトの名無しさん2005/05/14(土) 15:54:15
http://www.google.co.jp/search?hl=ja&q=ppxe014.enta.cli.wbs.ne.jp:8080
http://www.google.co.jp/search?hl=ja&q=ppxe014.enta.cli.wbs.ne.jp:80
0073デフォルトの名無しさん2005/05/14(土) 16:04:48
>>71
ありがとうございます。
0074デフォルトの名無しさん2005/05/15(日) 16:26:32
何か最近変な奴が沸いてるな
0075デフォルトの名無しさん2005/05/15(日) 17:39:15
「はじめての3Dゲーム開発―「DirectX9」の使い方から「1人称3Dフィールド・ゲーム」の制作まで」という本は
このスレ的にはどんな評価でしょうか?

今読み進めてるのですが、初めは割と解説も多かったのですが当たり判定のことが書いてあるページ位になると
かなり多くの新しい関数が出ているのにもかかわらず殆ど細かい説明はありませんでした・・・
もっといい書籍はありますかね?
0076デフォルトの名無しさん2005/05/16(月) 01:04:36
>>75
はい。
0077デフォルトの名無しさん2005/05/16(月) 01:20:27
DirectX10はいつ出るのでしょうか?
0078デフォルトの名無しさん2005/05/16(月) 02:08:46
WGFです
0079デフォルトの名無しさん2005/05/16(月) 17:05:29
WGF1.0 = DirectX9.1
WGF2.0 = DirectX10

安心してDirectX9やっとけ
ちなみにRMは廃止な、今さら使ってる奴いないだろうけど
0080デフォルトの名無しさん2005/05/16(月) 17:30:30
>>76
書籍名を教えてください
0081デフォルトの名無しさん2005/05/16(月) 17:47:42
いやです。
0082デフォルトの名無しさん2005/05/16(月) 17:50:30
>>81
そうですか。
知らないのですね。
0083デフォルトの名無しさん2005/05/16(月) 20:57:10
知っているがお前の態度が気にいらない。
0084デフォルトの名無しさん2005/05/16(月) 21:04:02
いえいえ、無理していただかなくて結構ですよ。
0085デフォルトの名無しさん2005/05/16(月) 22:16:26
次の方どうぞ
0086デフォルトの名無しさん2005/05/16(月) 22:58:28
次の方は銅像。
0087デフォルトの名無しさん2005/05/17(火) 02:29:11
ここのところ、まともな回答が一つもないなぁ…
特にちょっと難しめの奴には
0088デフォルトの名無しさん2005/05/17(火) 02:46:35
>>87
考察ご苦労。
下がってよいぞ
0089デフォルトの名無しさん2005/05/17(火) 03:33:08
こんにちは、DirectXって何ですか?
俺にもわかるように優しく教えて。
0090デフォルトの名無しさん2005/05/17(火) 03:52:37
フォントオブジェクトを使って文字を表示するとアンチエイリアスがかかって、ぼやけた感じになるのですが、
これを防ぐ方法を教えてください。
0091デフォルトの名無しさん2005/05/17(火) 04:26:36
フォントオブジェクト? ID3DXFontけ?
だったらそれを使うのを止める。
代替案に関してはググれば出てくる。頑張れ。
0092デフォルトの名無しさん2005/05/17(火) 05:18:15
なんじゃそら。もったいぶる意味がわからない。
0093デフォルトの名無しさん2005/05/17(火) 05:24:24
はよ出せやタコ
なんのための質問スレだ
0094デフォルトの名無しさん2005/05/17(火) 05:24:35
すっげえ悪質なイタズラ思いついたwwww
http://ex10.2ch.net/test/read.cgi/news4vip/1116266649/

はい、お疲れさまね
0095902005/05/17(火) 05:24:58
>>91
早く答えろよ、いい加減にしないと怒るぞ
0096デフォルトの名無しさん2005/05/17(火) 05:25:36
>>90
グロ画像
PC有害
閲覧注意
0097デフォルトの名無しさん2005/05/17(火) 05:26:43
>>94
なるほど納得
VIPPERも平日の朝からご苦労だなw
0098デフォルトの名無しさん2005/05/17(火) 05:26:56
>>94
グロ 踏んだらPCから神山満月ちゃんが出てくる
0099デフォルトの名無しさん2005/05/17(火) 05:26:59
またVIPPERかよ
0100デフォルトの名無しさん2005/05/17(火) 05:28:48
>>96
アンカーミスすんなwwwww
0101デフォルトの名無しさん2005/05/17(火) 05:30:34
wの使い方でVIPって分かる
0102デフォルトの名無しさん2005/05/17(火) 05:30:49
>>90
フォントだけ表示するとこ抜き出して
その不具合を再現してるテストコード書いてうpしてみ。
そしたら見てくれる人がいるかもしれない。
逆に、その作業の途中で自分で原因見つける事も多いよ。
そのくらいの努力はしたまえよ。
0103デフォルトの名無しさん2005/05/17(火) 05:31:20
http://etc3.2ch.net/test/read.cgi/entrance/1116269436/

バーロー、真実はいつも一つなんだ。
全てはVIPを妬んだラウンジの仕業だったよ。
0104デフォルトの名無しさん2005/05/17(火) 05:31:32
>>100
正直スマンカッタ(藁
0105デフォルトの名無しさん2005/05/17(火) 05:32:04
ラウンジいいからでてけ
0106デフォルトの名無しさん2005/05/17(火) 05:33:39
以上ラウンジのイケメンのしわざでした
    m n _∩                   ∩_ n m
  ⊂二⌒ __)    /\___/ヽ       ( _⌒二⊃
     \ \   /''''''   '''''':::::::\     / /
       \ \  |(●),   、(●)、.:|  / /
        \ \|   ,,ノ(、_, )ヽ、,, .::::|/  /
          \ .|   ´トェェェイ` .:::::::|  /    それが、ラウンジ精神
           \\  |,r-r-| .::::://     http://ex7.2ch.net/entrance/
             \`ー`ニニ´‐―´/
             / ・    ・ /
0107デフォルトの名無しさん2005/05/17(火) 05:34:47
160 名前:訴える名無しさん。[sage ラウンジ] 投稿日:2005/05/17(火) 03:46:38 ID:???
以上ラウンジの馬鹿のしわざでした
    m n _∩                   ∩_ n m
  ⊂二⌒ __)    /\___/ヽ       ( _⌒二⊃
     \ \   /''''''   '''''':::::::\     / /
       \ \  |(●),   、(●)、.:|  / /
        \ \|   ,,ノ(、_, )ヽ、,, .::::|/  /
          \ .|   ´トェェェイ` .:::::::|  /    それが、ラウンジ精神
           \\  |,r-r-| .::::://     http://ex7.2ch.net/entrance/
             \`ー`ニニ´‐―´/
             / ・    ・ /


161 名前:訴える名無しさん。[sage] 投稿日:2005/05/17(火) 03:50:34 ID:???
これはラウンコの連中ですね・・・

162 名前:訴える名無しさん。[sage] 投稿日:2005/05/17(火) 03:51:38 ID:???
ラウンジの奴らはほんとにたち悪いな・・・

163 名前:訴える名無しさん。[sage] 投稿日:2005/05/17(火) 03:51:43 ID:???
えぇ、もうラウンコの人にはうんざりですよね

164 名前:465[] 投稿日:2005/05/17(火) 03:56:51 ID:e6MkygGj
ほんとにラウンジには呆れ果てますね

165 名前:訴える名無しさん。[sage] 投稿日:2005/05/17(火) 03:57:25 ID:???
もうラウンジに失望されっぱなしですよ

これ見ろよ
VIPPERってこんなことするんだぜ
0108デフォルトの名無しさん2005/05/17(火) 05:38:19
     ザッ            ヘ__Λ ヘ__Λ ヘ__Λ ヘ__Λ
                __,/ヽ_ /ヽ__,.ヘ /ヽ__,.ヘ _,.ヘ ,.ヘ    ザッ
    /\___/ヽ   /\___ /\___/ヽ _/ヽ  /\___/ヽ
   /''''''   '''''':::::::\/''''''   '''/''''''   '''''':::::::\   /''''''   '''''':::::::\
  . |(●),   、(●)、.:|(●),    |(●),   、(●)、.:|、( |(●),   、(●)、.:|
  |   ,,ノ(、_, )ヽ、,, .::::|   ,,ノ(、_, )|   ,,ノ(、_, )ヽ、,, .::::|_, )|   ,,ノ(、_, )ヽ、,, .::::|
.   |   `-=ニ=- ' .:::::::|   `-=ニ= |   `-=ニ=- ' .:::::::|ニ=|   `-=ニ=- ' .:::::::|
   \  `ニニ´  .:::::/\  `ニニ \  `ニニ´  .:::::/ニ´ \  `ニニ´  .:::::/
   /`ー‐--‐‐―´\ /`ー‐-  /`ー‐--‐‐―´\-‐‐ /`ー‐--‐‐―´\
「vipから来ますた」「vipから来ますた」「vipから来ますた」「vipから来ますた」


                                    それが、ラウンジ精神
                                    http://ex7.2ch.net/entrance/
0109デフォルトの名無しさん2005/05/17(火) 05:39:05

     ザッ            ヘ__Λ ヘ__Λ ヘ__Λ ヘ__Λ
                __,/ヽ_ /ヽ__,.ヘ /ヽ__,.ヘ _,.ヘ ,.ヘ    ザッ
    /\___/ヽ   /\___ /\___/ヽ _/ヽ  /\___/ヽ
   /''''''   '''''':::::::\/''''''   '''/''''''   '''''':::::::\   /''''''   '''''':::::::\
  . |(●),   、(●)、.:|(●),    |(●),   、(●)、.:|、( |(●),   、(●)、.:|
  |   ,,ノ(、_, )ヽ、,, .::::|   ,,ノ(、_, )|   ,,ノ(、_, )ヽ、,, .::::|_, )|   ,,ノ(、_, )ヽ、,, .::::|
.   |   `-=ニ=- ' .:::::::|   `-=ニ= |   `-=ニ=- ' .:::::::|ニ=|   `-=ニ=- ' .:::::::|
   \  `ニニ´  .:::::/\  `ニニ \  `ニニ´  .:::::/ニ´ \  `ニニ´  .:::::/
   /`ー‐--‐‐―´\ /`ー‐-  /`ー‐--‐‐―´\-‐‐ /`ー‐--‐‐―´\
「vipから来ますた」「vipから来ますた」「vipから来ますた」「vipから来ますた」


                                    それが、ラウンジ精神
                                    http://ex7.2ch.net/entrance/
0110912005/05/17(火) 05:40:20
…………。

暇だから煽り房と遊ぼうと思ったのに……orz
もういいッ! フテ寝するッ!
0111デフォルトの名無しさん2005/05/17(火) 06:51:11
>>91
どのような言葉でぐぐればよいのでしょうか?
0112デフォルトの名無しさん2005/05/17(火) 09:41:08
それもググれ
0113デフォルトの名無しさん2005/05/17(火) 09:47:01
>>112
どうやって?
0114デフォルトの名無しさん2005/05/17(火) 11:21:11
いいからバカ相手にしてないで再現コードうpしろよ
0115デフォルトの名無しさん2005/05/18(水) 11:36:19
ウィンドウモードと、フル画面モードを実行中に切り替えるには、
どうやればいいんでしょう?
DirectXやウィンドウを作り直す必要がある?
01161152005/05/18(水) 11:44:25
すみません、解決しました。
0117デフォルトの名無しさん2005/05/18(水) 12:21:55
116は私ではありません
0118デフォルトの名無しさん2005/05/18(水) 12:25:55
117は私ではありません
0119デフォルトの名無しさん 2005/05/18(水) 12:28:47
自己解決した時は
どこがおかしくてどうやったら解決したか
を書け。
0120デフォルトの名無しさん2005/05/18(水) 13:56:46
>>119
>>103
0121デフォルトの名無しさん2005/05/18(水) 16:20:35
>>115
せめてDirectXのバージョンくらい書こうぜ。
8以降ならResetするときにD3DPRESENT_PARAMETERSを変更するだけでOK。
■ このスレッドは過去ログ倉庫に格納されています