1 名前:デフォルトの名無しさん mailto:sage [2007/11/27(火) 16:56:40 ] ※回答する人も、質問する人も必ず読んでください これらに当てはまる人のための質問スレです。 1.C/C++は多少理解している。 2.最近DirectXを始めたばかり 3.SDKを見ても、Googleで検索しても、いまいち理解できない人 4.余計な雑談は不要ですよ 【 回答してくださる方 】 ・ できるだけ優しく質問に答えてあげてください。 ・ 優しく教えるのが嫌でしたら、解決するためのヒントだけでも結構です。 「ググれ」「SDK見れ」以外の回答でおながいします。 ・ 神ですら理解不能な質問は無視して下さい。 【 質問する方 】 ・ どんな事で躓いているのか明確にしよう。 ・ 長くならないなら躓いている部分のコードを晒してみれ。 ・ 解決した場合、お礼を言うのは当然だが、何をどうしたら解決したかを明確に書こう。 ・ 回答して貰ったら、出来るだけお礼もしよう。 【C++】 DirectX初心者質問スレ Part14 【C】 pc11.2ch.net/test/read.cgi/tech/1189257706/
321 名前:デフォルトの名無しさん mailto:sage [2008/01/01(火) 16:33:49 ] >>304 お願いします
322 名前:デフォルトの名無しさん mailto:sage [2008/01/01(火) 17:13:13 ] >>321 OpenGL // 行列モードに射影行列を選択 glMatrixMode(GL_PROJECTION); // 射影行列を生成 glFrustum(,,,, DirectX(固定機能パイプライン使用) //射影行列を生成 D3DXMATRIX matProj ; D3DXMatrixPerspectiveFovLH(&matproj,,,,, //デバイスに射影行列を渡す device->SetTransform(D3DTS_PROJECTION, &matProj); 頂点シェーダを使って行列変換をするなら D3DTS_PROJECTIONは使わない 直接生成した行列をエフェクトに渡すなりすればいい
323 名前:デフォルトの名無しさん mailto:sage [2008/01/01(火) 17:18:30 ] あ、すまない glFrustumなら D3DXMatrixPerspectiveOffCenterLH のほうが近いか
324 名前:デフォルトの名無しさん mailto:sage [2008/01/01(火) 17:20:25 ] そして、さらに連投すまそ OpneGLは右手座標系だったね D3DXMatrixPerspectiveOffCenterRH ってことで
325 名前:デフォルトの名無しさん mailto:sage [2008/01/01(火) 17:45:33 ] 丁寧にありがとうございます。 つまづいたらまた質問させてください。
326 名前:デフォルトの名無しさん mailto:sage [2008/01/01(火) 23:29:11 ] c#でMDIなフォームに対して、親フォーム、子フォーム、各コントロールを DirectXで描画しようとしてよく分からなくなっています。 SwapChainとかいうのを描画対象の分だけ作るというところまでは 調べたのですが、具体的にどういう風に書けば良いのかが分からず、解説サイトを 探しているのですが、ヒットしない状況です。 c#で、そこら辺を解説してあるサイトがありましたら、教えていただけますでしょうか。 よろしくお願いします。
327 名前:デフォルトの名無しさん mailto:sage [2008/01/02(水) 09:04:55 ] すいません。 今、DirectX 9.0SDKを使っているのですが、 DirectX関連の書籍を購入したら、付属のCDに、DirectX SDK (Fedruary2007)が入ってました。 このバージョンをインストールした場合、9.0SDKを使ってた時に作った物が 動かなくなる可能性はあるでしょうか? Fedruary2007の方は、DirectX9に対応しているSDKのようなのですが、 何か心配なので教えてください。 両方共、殆ど同じ仕様なら良いのですが・・・
328 名前:デフォルトの名無しさん mailto:sage [2008/01/02(水) 09:22:47 ] >>327 ほとんど同じではあるが まったく一緒ではないんで動かなくなる可能性はある メッシュやエフェクト関連で 互換性の無い変更があったので・・・・ まぁ、でもいつまでも旧バージョンに しがみついていられるわけでもないので いい機会だからさくっと修正してみるのも良いかもしれない たいした変更ではないしね
329 名前:デフォルトの名無しさん mailto:sage [2008/01/02(水) 09:33:37 ] >>328 そうですか。 ありがとうございます。 メッシュ機能も使ってるので、ちょっと恐いですが、 ほとんど同じなら、動かなくならない事を祈って新しい方に変更してみます。
330 名前:デフォルトの名無しさん mailto:sage [2008/01/02(水) 16:14:48 ] DirectX9.0cで、モニタの解像度を切り替えられるようにしたいのですが、 プログラムが実行されるPCでの利用可能な解像度を取得するには どのようにすればいいのでしょうか
331 名前:デフォルトの名無しさん mailto:sage [2008/01/02(水) 16:57:25 ] >>330 // 適当 int retW[32] ; int retH[32] ; // 引数は自分の調べたいアダプタとフォーマットで int num = (IDirect3D9)->GetAdapterModeCount(D3DADAPTER_DEFAULT, D3DFMT_X8R8G8B8 ) ; for ( int i = 0 ; i < num ; i++ ){ D3DDISPLAYMODE dm ; DXUTGetD3DObject()->EnumAdapterModes ( D3DADAPTER_DEFAULT, D3DFMT_X8R8G8B8, i, &dm ) ; retW[i] = dm.Width ; retH[i] = dm.Height ; }
332 名前:330 mailto:sage [2008/01/02(水) 16:59:51 ] DXUTGetD3DObject()は忘れてくれ そこは自分の作ったIDirect3D9インターフェースで
333 名前:デフォルトの名無しさん mailto:sage [2008/01/02(水) 18:35:06 ] 線分を描画する際、線分の太さを変更したいのですが可能でしょうか?
334 名前:333 mailto:sage [2008/01/02(水) 19:05:16 ] 自己破産しマスタ
335 名前:デフォルトの名無しさん mailto:sage [2008/01/02(水) 22:27:13 ] >>331 ありがとうございます。うまくいきました
336 名前:デフォルトの名無しさん mailto:sage [2008/01/02(水) 23:31:34 ] 3Dを回転させるのにクォータニオンを使おうと考え色々と調べたのですが思うように回転してくれません。 D3DXQuaternionRotationAxisを使う時に回転の軸を設定する必要があるようなのですが、この軸の設定がいまいち分からず・・・。 どうかこの回転の軸の設定をどうすればいいのか教えてください、お願いします。
337 名前:デフォルトの名無しさん mailto:sage [2008/01/02(水) 23:51:54 ] >>336 Matrixでyawrollpitchから生成して、matrix to quoternionで変換したら?
338 名前:デフォルトの名無しさん mailto:sage [2008/01/02(水) 23:52:43 ] >>336 クオータニオンでググれよ。
339 名前:デフォルトの名無しさん mailto:sage [2008/01/03(木) 14:22:30 ] 640×480の画面と800×600の画面で全く同じ画面イメージで描画したいのですが スクリーン座標を変換するのをDirectXが自動でやってくれるような設定はありますか? それともバックバッファサイズを統一するとか自前で座標変換するかしかないですか?
340 名前:デフォルトの名無しさん mailto:sage [2008/01/03(木) 15:33:29 ] 誰か ttp://msdn.microsoft.com/library/ja/DirectX9_c/directx/htm/idirectdrawclippergetcliplist.asp の引数の説明の解説求む(;ω;) ↓がダメなんじゃが・・・ RECT rc={0,0,640,480}; RGNDATA rgn={0}; DWORD size; if(FAILED(surface->GetClipper( &clipper )))return; if(FAILED(clipper->GetClipList( &rc ,&rgn,&size)))return; <-ここで終ってる
341 名前:330 mailto:sage [2008/01/03(木) 16:02:08 ] >>339 ビューポートの設定をきちんとすれば アス比も一緒だしまったく同じように描画されるはずだが >>340 SetしてないものをどうやってGetするんだ? てか、戻り値が何かくらいチェックして報告しろ
342 名前:340 mailto:sage [2008/01/03(木) 16:52:23 ] >>341 早速ありがとうございます。m(_ _)m戻り値は引数エラーのコードでした。 アホな発言かもしれないですけど、もしかしてプライマリサーフェイスって PCのディスプレイのサイズで作られるんですか?
343 名前:デフォルトの名無しさん mailto:sage [2008/01/03(木) 17:40:37 ] >>341 レスありがとうございます。ですがさっぱりわかりません。 2Dのスプライトを同じようにしたいのですが 640×480と800×600の場合、ビューポートというのは どのように設定すればよろしいのでしょうか?
344 名前:339 343 mailto:sage [2008/01/03(木) 18:18:04 ] ちなみに今だとD3DXMatrixTransformation2Dで2D座標を取得する際に 拡大比率のX,Yの値に ( 800 pixsel / 600 pixsel ) = 1.25 を指定しています ビューポートというのを設定するとこのやり方より処理は軽くなりますか?
345 名前:339 343 mailto:sage [2008/01/03(木) 18:19:25 ] 800 / 640でしたorz
346 名前:デフォルトの名無しさん mailto:sage [2008/01/03(木) 19:25:21 ] >>345 なんでそういう質問が出るのかがよくわからんが一般的に D3DVIEWPORT9 vp; vp.X = 0; vp.Y = 0; vp.Width = 640; vp.Height = 480; vp.MinZ = 0.0f; vp.MaxZ = 1.0f; (device)->SetViewport(&vp)); と設定すれば 射影行列変換後の座標を 640x480のスクリーン座標に自動変換してくれる どういう射影行列をつくってるのかは知らんが 射影行列変換後までの座標は x=-1〜1、y=-1〜1、z=0〜1となり どれらいのスクリーンに引き伸ばすのか?というのが ビューポートだと思えばいい
347 名前:デフォルトの名無しさん mailto:sage [2008/01/03(木) 19:25:57 ] www.google.co.jp/search?hl=ja&client=firefox-a&rls=org.mozilla%3Aja%3Aofficial&hs=eEN&q=%E3%83%93%E3%83%A5%E3%83%BC%E3%83%9D%E3%83%BC%E3%83%88+%E8%A8%AD%E5%AE%9A+directx&btnG=%E6%A4%9C%E7%B4%A2&lr=lang_ja
348 名前:339 343 mailto:sage [2008/01/03(木) 19:56:50 ] >>346 たびたびすいません。それってスプライトの座標指定を-1〜1の座標で 指定しなくてはいけないと言う解釈でいいのでしょうか? 例えば640×480のフルスクリーンの画面上で、スプライトの座標をX = 64,y = 48という 座標で指定した場合の見た目の位置と同じところに 800×600のフルスクリーン画面上でx=64,y=48というスプライト座標を指定した時に 画面上の同じあたりの位置に表示したいという事なんですが そこで示されてるようにビューポートを指定するとこのようにできるのですか?
349 名前:339 343 mailto:sage [2008/01/03(木) 20:00:53 ] ちょっと説明が足りませんでした スプライトの描画時にx=64、y=48という座標を指定した場合に 640×480の画面の場合はX=64、y=48 800×600の画面の場合はX=80、y=60の位置に描画したいという事です
350 名前:298 [2008/01/04(金) 06:27:46 ] SDKのサンプル見たんですが、やっぱり分かりません・・・ SDK Tutorial6のトラの代わりに、地面に見立てた板ポリゴンのXファイルをロードしています。 地面との当たり判定は(自機の高さ - 自機から垂直に降ろした直線とポリゴンの交点の高さ) でできると思うんですが、"自機から垂直に降ろした直線とポリゴンの交点の高さ"の求め方がさっぱり分かりません。 かなり検索したんですが、数学的な解説しかしているサイトがなくて、肝心な、自分が分からない部分が書かれているサイトが見つかりません。 ヒントか答えか参考になるサイトがあったら教えてください。
351 名前:デフォルトの名無しさん mailto:sage [2008/01/04(金) 08:28:10 ] Xの読み込みをD3DXに頼らないでやるところから始めろ。 そうやって怠けて手抜きをするから途中で詰まる。
352 名前:298 mailto:sage [2008/01/04(金) 08:59:56 ] >>351 D3DXライブラリというやつですか? なんか難しそうですがやってみます。
353 名前:喜一 [2008/01/04(金) 14:12:47 ] くだらない質問なのですが・・・ DirectXをアップデートするにはどうしたらよいのでしょうか・・・
354 名前:デフォルトの名無しさん mailto:sage [2008/01/04(金) 14:37:39 ] >>353 SDKでしたらこちらで www.microsoft.com/japan/msdn/directx/ ランタイム版でしたらこちらでダウンロードしてください ttp://www.microsoft.com/japan/windows/directx/downloads/default.mspx とりあえず今入っているダイレクトXをアンインストールしてから インストールがいいらしいです
355 名前:デフォルトの名無しさん mailto:sage [2008/01/04(金) 14:44:04 ] あ、ランタイム版はアンインストールの必要はないっぽいです
356 名前:デフォルトの名無しさん mailto:sage [2008/01/05(土) 13:59:05 ] >>339 ,343,349 D3DXMatrixOrthoOffCenterLHで射影行列を設定すればいい。 画面の左上と右下の座標値を設定するだけ。 ワールド行列とビュー行列は単位行列にする。 頂点フォーマットは未変換のもの(rhw無し)を使う。
357 名前:デフォルトの名無しさん mailto:sage [2008/01/05(土) 15:14:35 ] RHWのRHって何の略ですか? LookAtRHとかのRHとは別物ですよね?
358 名前:デフォルトの名無しさん mailto:sage [2008/01/05(土) 15:29:44 ] reciprocal of homogeneous
359 名前:デフォルトの名無しさん mailto:sage [2008/01/05(土) 15:48:52 ] レイプ変態わいせつの略です
360 名前:デフォルトの名無しさん mailto:sage [2008/01/05(土) 17:09:49 ] システムメモリー上のサーフェイスに直接アクセスするときは Lockしなくていいってほんと?いきなりddsd.lpSurfaceにアクセスできる?
361 名前:デフォルトの名無しさん mailto:sage [2008/01/05(土) 19:05:53 ] DirectX SDKをインストールしたんですけどインストールしたバスの場所が分かりません 一応{D¥Program}にインストールしたつもりですが{DIRECTX9SDK}が見つかりません {Redist}{Samples}{Utilities}{Developer Runtime}{Documentation}{Extras}{Include}{Lib}はあるんですけど プログラムの追加と削除には登録されてるみたいなんですけど肝心のバスが分かりません バスの調べかたなど知ってる方がいたら教えてください
362 名前:デフォルトの名無しさん mailto:sage [2008/01/05(土) 19:48:45 ] VCを使ってたら知る必要もないけど別ので作るのかな SDKはあくまで金槌や釘などと同じく道具だから本体は無い。 重要なのはIncludeフォルダとLibフォルダで、まぁ説明書と目次みたいなものか。 IncludeフォルダとLibフォルダが分かっていれば、それぞれのパスを登録するだけでOK
363 名前:デフォルトの名無しさん mailto:sage [2008/01/05(土) 19:57:14 ] レスありがとうございます もう1つ質問なんですけど、VC++で使うにはサブシステムのバス通さなきゃいけないと思うんですけど(ネットや書籍で書いてた) ですがdxsdk_november2007では勝手に登録してくれるんですか? インクルードファイルに{Include}が登録されてあったり ライブラリファイルには{Lib\x86}が登録されてるんです ちなみにインストール前は登録されてなかったです これはどういうことなのでしょか?この上に新しく登録しなきゃいけない?それとも自動で行われてるからやらなくていい? 分かる方いたら教えてください
364 名前:デフォルトの名無しさん mailto:sage [2008/01/05(土) 20:05:16 ] 別に説明書や目次が重複しても問題ないだろ、無駄なだけで。
365 名前:デフォルトの名無しさん mailto:sage [2008/01/05(土) 20:17:16 ] なるほどじゃぁ登録します ありがとうございました
366 名前:デフォルトの名無しさん [2008/01/05(土) 20:41:02 ] VisualStudio2003 Spoke VersionのMSDNライブラリにはVisualBasic以外のDirectXの解説を インストールできますか?VisualBasicしか検索でてこないので・・・ お願いします。
367 名前:デフォルトの名無しさん mailto:sage [2008/01/05(土) 21:39:46 ] ビルドは正常終了するのにデバックだとエラーが出るんですけどどうしてなんでしょうか? エラー文は以下の通りです ------ ビルド開始: プロジェクト: MuscatBoy, 構成: Debug Win32 ------ コンパイルしています... StageMenu.cpp D:\Program\Microsoft_DirectX_SDK(November2007)\Include\dinput.h: DIRECTINPUT_VERSION undefined. Defaulting to version 0x0800 d:\ゲーム製作案追加\アクションゲームプログラミング\マスカットボーイ\ソースファイル\muscatboy\MyGameLib.h(16) : fatal error C1083: include ファイルを開けません。'dmusici.h': No such file or directory Stage4.cpp D:\Program\Microsoft_DirectX_SDK(November2007)\Include\dinput.h: DIRECTINPUT_VERSION undefined. Defaulting to version 0x0800 d:\ゲーム製作案追加\アクションゲームプログラミング\マスカットボーイ\ソースファイル\muscatboy\MyGameLib.h(16) : fatal error C1083: include ファイルを開けません。'dmusici.h': No such file or directory Stage3.cpp D:\Program\Microsoft_DirectX_SDK(November2007)\Include\dinput.h: DIRECTINPUT_VERSION undefined. Defaulting to version 0x0800 d:\ゲーム製作案追加\アクションゲームプログラミング\マスカットボーイ\ソースファイル\muscatboy\MyGameLib.h(16) : fatal error C1083: include ファイルを開けません。'dmusici.h': No such file or directory Stage2.cpp D:\Program\Microsoft_DirectX_SDK(November2007)\Include\dinput.h: DIRECTINPUT_VERSION undefined. Defaulting to version 0x0800 d:\ゲーム製作案追加\アクションゲームプログラミング\マスカットボーイ\ソースファイル\muscatboy\MyGameLib.h(16) : fatal error C1083: include ファイルを開けません。'dmusici.h': No such file or directory Stage1.cpp D:\Program\Microsoft_DirectX_SDK(November2007)\Include\dinput.h: DIRECTINPUT_VERSION undefined. Defaulting to version 0x0800 d:\ゲーム製作案追加\アクションゲームプログラミング\マスカットボーイ\ソースファイル\muscatboy\MyGameLib.h(16) : fatal error C1083: include ファイルを開けません。'dmusici.h': No such file or directory Ranking.cpp
368 名前:デフォルトの名無しさん mailto:sage [2008/01/05(土) 21:40:19 ] D:\Program\Microsoft_DirectX_SDK(November2007)\Include\dinput.h: DIRECTINPUT_VERSION undefined. Defaulting to version 0x0800 d:\ゲーム製作案追加\アクションゲームプログラミング\マスカットボーイ\ソースファイル\muscatboy\MyGameLib.h(16) : fatal error C1083: include ファイルを開けません。'dmusici.h': No such file or directory Option.cpp D:\Program\Microsoft_DirectX_SDK(November2007)\Include\dinput.h: DIRECTINPUT_VERSION undefined. Defaulting to version 0x0800 d:\ゲーム製作案追加\アクションゲームプログラミング\マスカットボーイ\ソースファイル\muscatboy\MyGameLib.h(16) : fatal error C1083: include ファイルを開けません。'dmusici.h': No such file or directory MyGameLib.cpp D:\Program\Microsoft_DirectX_SDK(November2007)\Include\dinput.h: DIRECTINPUT_VERSION undefined. Defaulting to version 0x0800 d:\ゲーム製作案追加\アクションゲームプログラミング\マスカットボーイ\ソースファイル\muscatboy\MyGameLib.h(16) : fatal error C1083: include ファイルを開けません。'dmusici.h': No such file or directory コードを生成中... ビルドログは "file://d:\ゲーム製作案追加\アクションゲームプログラミング\マスカットボーイ\ソースファイル\MuscatBoy\Debug\BuildLog.htm" に保存されました。 MuscatBoy - エラー 8、警告 0 ========== ビルド: 0 正常終了、1 失敗、0 更新、0 スキップ ========== よろしくお願いします
369 名前:デフォルトの名無しさん mailto:sage [2008/01/05(土) 21:46:35 ] ビルド自体失敗してるやんw
370 名前:デフォルトの名無しさん mailto:sage [2008/01/05(土) 21:55:46 ] 見間違いしてましたビルドでも失敗してました ですがこれサンプルなので自分では一切さわってないものなんですけど・・・ サンプル自体糞ということですか?
371 名前:デフォルトの名無しさん mailto:sage [2008/01/05(土) 21:56:01 ] >>368 SDkNovember2007から DirectMusicをサポートしなくなった
372 名前:デフォルトの名無しさん mailto:sage [2008/01/05(土) 22:05:32 ] てことはAugust 2007 DirectX SDKをDLしないといけないんですね 助かりましたありがとうございました
373 名前:デフォルトの名無しさん mailto:sage [2008/01/06(日) 00:07:52 ] DirectMusicなくなっちゃったのか 音の再生はMusicしか使ってないと言うのに
374 名前:デフォルトの名無しさん [2008/01/06(日) 11:57:29 ] 一昨日最近アップされた(?)DirectX9.0C(4.09.0000.0904)ってやつに したんだけど、次の日からパソコンが立ち上がらなくなり(黒い画面で 左上に文字カーソルが点滅のまま)仕方ないので、F8で前回正常にっての 選んでから起動させたんだけど、今日完全に起動しなくなった・・・ 人によっては、最悪なケースになるのかな?
375 名前:デフォルトの名無しさん mailto:sage [2008/01/06(日) 12:28:09 ] DirectX3位までは、ドライバまで置き換えられることがあって、 その結果起動しなくなったって話がたまにあったよね。
376 名前:デフォルトの名無しさん mailto:sage [2008/01/06(日) 12:34:53 ] DirectX「3位」ってなんだろうと思った
377 名前:デフォルトの名無しさん mailto:sage [2008/01/06(日) 12:36:26 ] d:\ゲーム製作案追加\ warota(w
378 名前:デフォルトの名無しさん mailto:sage [2008/01/06(日) 12:42:03 ] >>374 ぶっちゃけDirectXのせいじゃないんじゃね? ランタイム入れなおしたなら 再起動求められたはずだしそのときは正常起動したんだろ? 他になにかやらかしてないかよく思い出せ あと一昨日アップされたやつなんてあったっけ?
379 名前:デフォルトの名無しさん mailto:sage [2008/01/06(日) 12:45:00 ] >d:\ゲーム製作案追加\ ワロタw
380 名前:デフォルトの名無しさん mailto:sage [2008/01/06(日) 15:03:39 ] >>360 スルーされてるけど、知らない??
381 名前:デフォルトの名無しさん mailto:sage [2008/01/06(日) 15:30:37 ] 昔やねうらおがそんなこと言ってた希ガス。 www.sun-inet.or.jp/~yaneurao/intensive/diw1.html
382 名前:デフォルトの名無しさん mailto:sage [2008/01/06(日) 15:44:49 ] >>380 おまえは何を言ってるんだ?とか思われてる予感。 DirectX7のDirectDrawのヘルプを見る限り、 そんな保証はどこにもされていない。 ただし、現実問題としてはできるらしい、と。 非Lock状態だからといって、わざわざアドレスを動かすような理由も無いし。 ちなみに>>381 のサイトは既に6年以上も前の記事だから現状は不明。 仮にLockしたところで、パフォーマンスへの影響は無いに等しい気がする。
383 名前:デフォルトの名無しさん mailto:sage [2008/01/06(日) 17:33:36 ] DirectMusicなくなったのかよ DirectShowでMP3とかしか流せなくなったのか?
384 名前:デフォルトの名無しさん mailto:sage [2008/01/06(日) 18:21:16 ] >>381-382 禿しくサンクス >>382 そんなこと言ったって資料は出てこないし余りにも未開の地過ぎて右も左も分からんのだよ・・・
385 名前:デフォルトの名無しさん mailto:sage [2008/01/06(日) 19:04:35 ] DirectX9のサイトとか普通にあるけど
386 名前:デフォルトの名無しさん mailto:sage [2008/01/06(日) 19:07:13 ] てか それこそ自分で試してみれば良いんでね?
387 名前:デフォルトの名無しさん mailto:sage [2008/01/06(日) 19:14:08 ] 所詮、現在のグラフィックカードは、IntelかAMDかnVidiaしかないも同然だから、 3種類試せばおkじゃね。
388 名前:367 mailto:sage [2008/01/06(日) 21:19:00 ] August 2007 DirectX SDKをインストールしたのですがまたエラーがでました 分かる方いたら教えてください 'MuscatBoy.exe': 'D:\ゲーム製作案追加\アクションゲームプログラミング\マスカットボーイ\ソースファイル\MuscatBoy\Debug\MuscatBoy.exe' を読み込みました。バイナリはデバッグ情報と一緒にビルドされませんでした。 'MuscatBoy.exe': 'C:\WINDOWS\system32\ntdll.dll' を読み込みました。シンボルが読み込まれていません。 'MuscatBoy.exe': 'C:\WINDOWS\system32\kernel32.dll' を読み込みました。シンボルが読み込まれていません。 'MuscatBoy.exe': 'C:\WINDOWS\system32\user32.dll' を読み込みました。シンボルが読み込まれていません。 'MuscatBoy.exe': 'C:\WINDOWS\system32\gdi32.dll' を読み込みました。シンボルが読み込まれていません。 'MuscatBoy.exe': 'C:\WINDOWS\system32\ole32.dll' を読み込みました。シンボルが読み込まれていません。 'MuscatBoy.exe': 'C:\WINDOWS\system32\advapi32.dll' を読み込みました。シンボルが読み込まれていません。 'MuscatBoy.exe': 'C:\WINDOWS\system32\rpcrt4.dll' を読み込みました。シンボルが読み込まれていません。 'MuscatBoy.exe': 'C:\WINDOWS\system32\msvcrt.dll' を読み込みました。シンボルが読み込まれていません。 'MuscatBoy.exe': 'C:\WINDOWS\system32\d3d9.dll' を読み込みました。シンボルが読み込まれていません。 'MuscatBoy.exe': 'C:\WINDOWS\system32\d3d8thk.dll' を読み込みました。シンボルが読み込まれていません。 'MuscatBoy.exe': 'C:\WINDOWS\system32\version.dll' を読み込みました。シンボルが読み込まれていません。 'MuscatBoy.exe': 'C:\WINDOWS\system32\winmm.dll' を読み込みました。シンボルが読み込まれていません。 'MuscatBoy.exe': 'C:\WINDOWS\system32\d3dx9_35.dll' を読み込みました。シンボルが読み込まれていません。 'MuscatBoy.exe': 'C:\WINDOWS\system32\dinput8.dll' を読み込みました。シンボルが読み込まれていません。 プログラム '[4068] MuscatBoy.exe: ネイティブ' はコード 0 (0x0) で終了しました。
389 名前:デフォルトの名無しさん mailto:sage [2008/01/06(日) 21:21:34 ] 別にエラーなんか出てないだろ。 デバッグ実行してみたけど、シンボル情報がない、というInfoだけ。 最後は、MuscatBoyが終了した、ってだけ。
390 名前:367 mailto:sage [2008/01/06(日) 21:25:23 ] そうだったんですか デバック後アプリ出てこなかったのでエラーだと思ってました ありがとうございました
391 名前:デフォルトの名無しさん mailto:sage [2008/01/06(日) 22:23:26 ] >390 悪いことは言わんからツクールでも使っとけ。
392 名前:デフォルトの名無しさん mailto:sage [2008/01/06(日) 22:42:35 ] バンプマップでメカのモールドを表現しているんですが、これだと環境光だけの陰の部分は溝が 出てこず、のっぺらりんとしてしまいます。 これの対応策としては、テクスチャで描いた溝と組み合わせる、くらいでしょうか? 他に良い方法があるようでしたらご教示ください。
393 名前:デフォルトの名無しさん mailto:sage [2008/01/07(月) 00:43:50 ] >>391 いや、最初はわけわからんだろ?
394 名前:デフォルトの名無しさん mailto:sage [2008/01/07(月) 00:44:59 ] ピクセルシェーダからスカラ値を出力 -> 入力したいんですが、 レンダリングターゲットのビット深度が最高16bit x 2だったので それを32bit x 1にする変換を組み込みました。 // ピクセルシェーダ出力 vOutColor.x = sSrcColor * 65536.0f; vOutColor.y = sSrcColor * 65536.0f * 65536.0f; vOutColor = floor(vOutColor) / 65536.0f; vOutColor = frac(vOutColor); ↑この出力を↓この入力に // ピクセルシェーダ入力 sInColor = vSrcColor.x; sInColor += vSrcColor.y / 65536.0f; しかしこれだと、ノイズが乗って正しく処理できないのか画像にゴミが出ます。 普通に16bit x 1でおこなった場合はゴミは出ません。 シェーダの精度の問題かと思い、65536.0fではなく256.0fでやっても同様でした。 せっかく高精度にしたのに、逆の結果になって哀しいんですが 何でだと思いますか? GPUはラデオン9700です。 >>392 バンプマップが光の入射ベクトルと法線ベクトルの差で 陰影をつけるテクニックなら、無指向の環境光で 陰影がつかないのはそれで正しい結果だと思うけど。 対策としては、ディレクショナルライトに変えるか 環境光に擬似的なライトの位置や方向を設定してみては?
395 名前:デフォルトの名無しさん [2008/01/07(月) 00:59:35 ] 参考書についてきたアニメーション入りのXファイルはちゃんと動くのだが、 どっかから拾ってきたXファイル(アニメ入り)が動かない(表示はされる)。 現在は再帰でフレーム走査して云々って処理してるんだけど、 これは拾ってきたXファイルが悪いのだろうか? ちなみにXファイルをダブルクリックして起動するソフトで見るとメチャクチャ。
396 名前:デフォルトの名無しさん mailto:sage [2008/01/07(月) 01:46:41 ] >>395 Xファイルのフォーマットに癖があるからw 少なくとも俺は、どのフォーマット(Xファイルの方言みたいなもんw)にも 対応したXファイル読み込み→表示ってのは見たことない 書き込み→読み込みも同様 ちなみに ・メッシュのみ ・フレームとメッシュ混合 ・アニメーション+アニメーション対応フレーム+メッシュ ・アニメーション+アニメーション対応フレーム+メッシュ+フレーム(アニメーション非対応) ・ワンスキン ・ワンスキン+アニメーション ・スキンメッシュ+アニメーション+フレーム(アニメーション非対応)+メッシュ ・なんだかよくわからん名前でモデルのインスタンスを共用してるやつ(イミフw読めたのみたことないw) ・他多数 等、すべてに対応しようとすると組み合わせが鬼 結論:Xファイルは考えるだけ無駄(考えるな感じろ) 補足 まあ、どっかの入門サイトでそいつができるって言った方法や内容以外の用途で使わないのが頭のいい使い方 そうすると応用が利かないし、ツール上で1つばっかりモデル作ってはいおしまいなんてありえないから 実際はXファイルなんて使ってなんとかしようとすると「ああ、こんなことなら違う方法でやっときゃよかった」ってなるんだよね ま、アニメーション使わなきゃ余裕だし、結構使えるから自分ができる範囲でなんとかしなさいな おしまい
397 名前:デフォルトの名無しさん mailto:sage [2008/01/07(月) 01:58:07 ] >>394 その式は 0.0≦sSrcColor<1.0 ならいいけど、 sSrcColor=1.0 の場合 多分 0.0 になっちゃうわね。(frac(1.0)=0.0) vOutColor = frac(vOutColor); を vOutColor.y = frac(vOutColor.y); (上位側(x)をfracしない) にしてもダメかしら。
398 名前:デフォルトの名無しさん mailto:sage [2008/01/07(月) 02:23:52 ] >>397 直りました! まさにそれでした。 ありがとうございました。
399 名前:デフォルトの名無しさん mailto:sage [2008/01/07(月) 02:58:12 ] >>394 それで本当に精度がよくなってるか、確認した方がいいかと。 俺は以前ピクセルシェーダで1/640を計算させただけで精度が悪くて 使い物にならなかったよ。
400 名前:デフォルトの名無しさん mailto:sage [2008/01/07(月) 09:39:25 ] クライアント領域全体をキャプチャして.jpgなどの画像として保存できる関数ってありますか?
401 名前:デフォルトの名無しさん mailto:sage [2008/01/07(月) 10:02:13 ] ありません
402 名前:デフォルトの名無しさん [2008/01/07(月) 13:17:11 ] >>396 レスサンクス。やはりフォーマットの問題だったか。 どっかでフォーマットに注意すべし!って聞いたことあったのでもしや・・・と思ったがやはり。 まぁ、注意するだけで何もできないのだけどw つまり、アニメしなかったらグラフィッカーに文句言えばおkってことですね。
403 名前:K田 [2008/01/07(月) 13:36:38 ] FortranをC言語に直すことが出来なくて… やってくれ☆
404 名前:デフォルトの名無しさん mailto:sage [2008/01/07(月) 15:22:46 ] Direct3Dのついて質問です。 デバイス初期化の際にHWNDが必要ということは、複数のウィンドウが開かれるアプリケーションの場合 ウィンドウごとにデバイス初期化が必要ですよね? ということはそのデバイスを通じてロードされるテクスチャもウィンドウ毎にロードする必要があるのでしょうか? 例えばAというPNGファイルをロードしたテクスチャを、ウインドウAでもウインドウBでも使いたい場合、A用B用と@別個にロードするのでしょうか? VRAMもったいないなぁという気分なのですが…)
405 名前:デフォルトの名無しさん mailto:sage [2008/01/07(月) 15:55:00 ] >>404 まずはFAQを全部読むんだ ttp://msdn.microsoft.com/library/ja/jpdndxgen/htm/directx9devfaq.asp
406 名前:デフォルトの名無しさん mailto:sage [2008/01/07(月) 16:16:10 ] >>405 >1 つの Direct3D デバイスのみを使う。複数のターゲットにレンダリングする必要がある場合は、SetRenderTarget を使います これですね ありがとうございます。 昔作ったSwapChain管理クラスひっぱりだします(何のために作ったのかを失念してましたわ…)
407 名前:374 [2008/01/07(月) 17:51:32 ] >378 すいません、一昨日というのは4ゲーマーを見た時でした。 で、インストール完了後は再起動を求められなかったのでその日は そのままパソコンを落としたと・・・ で、次の日に起動したらその症状が出てたという訳です(^^;
408 名前:デフォルトの名無しさん mailto:sage [2008/01/07(月) 18:04:43 ] >>402 データを追ってどこに問題があるのか確認するのがプログラマの仕事だろ。 使えないなら自分でまともなエクスポータを書いてグラフィッカーに渡
409 名前:392 mailto:sage [2008/01/07(月) 18:59:03 ] >>394 >陰影がつかないのはそれで正しい結果だと思うけど。 それを承知の上での質問です。 >環境光に擬似的なライトの位置や方向を設定してみては? なるほど! ありがとうございました。
410 名前:304 mailto:sage [2008/01/07(月) 21:49:45 ] 今まで、 // 射影行列の初期化 D3DXMatrixIdentity(&m_proj); D3DXMatrixPerspectiveFovLH(&m_proj, D3DXToRadian(45.0f),//カメラの画角 aspect, //アスペクト比 1.0f, //Nearプレーン 1000.0f); //Farプレーン pD3DDevice->SetTransform(D3DTS_PROJECTION, &m_proj); と参考書のサンプル通りにしていたところを、>>322-324 さんのを参考に D3DXMatrixIdentity(&m_proj); D3DXMatrixPerspectiveOffCenterLH(&m_proj, -CLIENT_WIDTH * 0.5f, CLIENT_WIDTH * 0.5f, -CLIENT_HEIGHT * 0.5f, CLIENT_HEIGHT * 0.5f, 1.0f, 1000.0f); pD3DDevice->SetTransform(D3DTS_PROJECTION, &m_proj); に変更しました。 すると、Xファイルを読み込んでCGを描画していたのですが、表示されなくなってしまいました。 何が原因なのでしょうか?
411 名前:デフォルトの名無しさん mailto:sage [2008/01/07(月) 22:20:14 ] >>410 OffCenter の引数をちゃんとカメラ座標系で指定しているか?
412 名前:デフォルトの名無しさん mailto:sage [2008/01/07(月) 23:19:34 ] シェーダ解説本を見ていると、アプリケーションからシェーダ変数を設定する際にハンドルを介して 行うものがありますが、直接"(シェーダ変数名)"で指定するのに対し、どういった利点があるのでしょうか?
413 名前:デフォルトの名無しさん mailto:sage [2008/01/07(月) 23:27:33 ] >>412 パフォーマンスが上がる ハンドルは固定なので 一番最初に一度だけ取得するだけで良い
414 名前:412 mailto:sage [2008/01/07(月) 23:31:05 ] >>413 なるほど! ありがとうございました!
415 名前:デフォルトの名無しさん mailto:sage [2008/01/08(火) 00:32:52 ] C言語でコンパイルすると○○(ファイル名).OBJが開けませんと出るんですが、 原因は何でしょうか?
416 名前:415 mailto:sage [2008/01/08(火) 00:33:48 ] すみません、誤爆しました。
417 名前:デフォルトの名無しさん mailto:sage [2008/01/08(火) 00:47:05 ] 設定されているパスにそのOBJがないからです
418 名前:410 mailto:sage [2008/01/08(火) 17:13:47 ] すいません、これを忘れていました。 #define CLIENT_WIDTH 770 #define CLIENT_HEIGHT 480 >>411 DirectXは左手座標系ですよね。 -CLIENT_WIDTH * 0.5f = -335 CLIENT_WIDTH * 0.5f = 335 -CLIENT_HEIGHT * 0.5f = -240 CLIENT_HEIGHT * 0.5f = 240 になるので、特におかしくない気がするのですが…。
419 名前:デフォルトの名無しさん mailto:sage [2008/01/08(火) 17:37:23 ] >>418 glFrustumも D3DXMatrixPerspectiveOffCenterLHも クライアントサイズを指定するものじゃないぜ OpenGLの知識があって OpenGLのプログラムをDirectXに移植するとかで こんな面倒なことしてるんじゃないのか??
420 名前:デフォルトの名無しさん mailto:sage [2008/01/08(火) 21:18:19 ] そもそもDirectXに座標系など無い。 決めているのはプログラマ自身でDirectXは何の関係もない。
421 名前:デフォルトの名無しさん mailto:sage [2008/01/08(火) 21:39:36 ] 使ってるモデリングソフトにあわせると吉 そうでなくても吉