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/
237 名前:デフォルトの名無しさん mailto:sage [2007/12/28(金) 20:10:41 ] >>233 最終的にスクリーンに描画するときに 各ピクセルに色を塗ると同時にそこにある物体が カメラからどれくらいの距離にあるかをZバッファに記録しておく そうすると 別の物体を同じピクセルに描画しようとしたときに Zバッファの値を参照して 以前の値よりカメラに近ければ 新たな色を塗りZバッファの値も書き直す 以前より奥にあるものなら色をぬらない、という処理が可能になる これをしないと後から描画したものでどんどん色を上書してしまうので 奥にあるはずのものが手前にあるものの上に描画されてしまう したがって描画するときに奥にあるものから描画するというようなソート処理が必要になる
238 名前:デフォルトの名無しさん mailto:sage [2007/12/28(金) 20:38:08 ] >>234 それはビューの設定とは無関係 カメラの位置を変えたって、そんな変化は起こさないだろ オブジェクト側を調整しろ
239 名前:デフォルトの名無しさん mailto:sage [2007/12/28(金) 20:45:34 ] >>237 さん 回答ありがとうございます つまり ______ |近 遠 近 … | Z値が書き込まれていって、それを参照するわけですね。 これは2次元平面に射影された状態ですよね ある物体○△□が 奥行き方向に1列に並んでたとき 物体ごとにデプスバッファに ○ 書き込む 遠い △ 書き込まない ↓ □ 書き込まない 近い としたら、最終的に一番近いのは□ですが、○が描画される、ということになるのですよね?
240 名前:デフォルトの名無しさん mailto:sage [2007/12/28(金) 22:27:37 ] >>232 ? 線のみから求めてるわけじゃないじゃん 結局手動で山と穴の区別をつけたデータが必要だろ?
241 名前:223 mailto:sage [2007/12/28(金) 22:31:06 ] >>223 です 皆さんありがとうございます 231さんが仰るように「線だけ書かれたデータをそのまま読み込んで処理」というものを想定していました 穴を含む形状については今は考えず、概形が出来上がった後に改めて考えることにします 頂点テクスチャフェッチなど初めてきく言葉が沢山あるので、まずは片端から調べてみます ありがとうございました
242 名前:デフォルトの名無しさん mailto:sage [2007/12/28(金) 22:41:03 ] >>239 違う 基本的に描画関数を呼んだ順に描画されるので ○△□の順番で描画した場合は問題ないが □△○や△□○の順で描画した場合 一番遠いところにあるはずの○が一番上に描画されてしまう それを防ぐために先に近いものが描画されていたら それより遠いものを描画しないためのもの
243 名前:デフォルトの名無しさん mailto:sage [2007/12/28(金) 22:56:49 ] >>242 さん 何度もありがとうございます。その点は理解できました。 描画の時にデプスバッファに書き込む物体と 書き込まない物体が混在したときにどうなるのでしょうか。 そこがわからなくて。 最終的にデプスバッファに書き込んでいる物体がちゃんとならんで デプスバッファに書き込まない物体は描画順ということになるのですよね
244 名前:デフォルトの名無しさん mailto:sage [2007/12/28(金) 22:58:38 ] >>213 >>217 ありがとうございます そのオプションをつけてウィンドウスタイルなどをいじってみたら、 開発環境のXPマシンだと、一応は表示されるようにはなりました ですが、フルスクリーン→ウィンドウへと切り替えた場合に ウィンドウ化しなかったり、古い98マシンで試してみた所 メニューを表示した瞬間に画面が激しくちらつくようになってしまったり ダイアログは表示されなかったりと、挙動が酷くおかしいようです とりあえずもう少しだけ教えていただいたサンプル等と見比べて 頑張ってみようと思います 最近のエロゲーとか、ホントこれどうやってるんでしょう? やっぱり、DirectXで描画したなんちゃってメニュー&ダイアログなんですかねぇ
245 名前:デフォルトの名無しさん mailto:sage [2007/12/28(金) 23:07:58 ] そもそも標準のメニューを使っているようなエロゲーはDirect3Dなど使っていない。
246 名前:デフォルトの名無しさん mailto:sage [2007/12/28(金) 23:23:28 ] いや最近のエロゲは結構DirectX使ってるよ とりあえず今入ってるはぴねすってエロゲーはDirectXで動作してるし フルスクリーンメニューもちゃんと出てる
247 名前:デフォルトの名無しさん mailto:sage [2007/12/28(金) 23:28:55 ] もはや3Dも2DもDirectGraphicsで統合されてるし
248 名前:デフォルトの名無しさん mailto:sage [2007/12/28(金) 23:32:23 ] メニューやダイアログを表示中に ゲーム画面が変化しているやつは見た事無いから、 そこに解決の糸口があるんじゃないかな。
249 名前:デフォルトの名無しさん mailto:sage [2007/12/28(金) 23:47:57 ] メニューループにはいったら普通に他は止まるだろ
250 名前:デフォルトの名無しさん mailto:sage [2007/12/28(金) 23:50:33 ] まさかとは思うが、メニューがある場所に、自分で別の物を描画しておきながら、 ちらつくとか表示されないとか馬鹿なことをぬかしているわけじゃないよな?
251 名前:デフォルトの名無しさん mailto:sage [2007/12/29(土) 00:13:29 ] >>250 ちらつく、というのはWin98環境の方だけで、XPでは画面上に しっかりと表示されているので、それはないかと思います >>248 いくつかフルスクリーンメニューのあるゲームを起動してみたところ どうもメニューが出た時に画面が下にずれているものが多いようです なんとなく思うのは、これはDirectXでのフルスクリーンモードではなくて 実際にはウィンドウモードなのではないかと。 画面いっぱいのクライアント領域をもつメニュー付きの通常ウィンドウを作って、 必要に応じてウィンドウを縦方向にずらしてメニュー表示しているのでは? それが可能だとすると、環境によって挙動があやしげなSetDialogModeに たよるよりも安定しそうな気もします SetDialogModeはおいといて、まずこの方法でできるかどうか試してみようかと思います
252 名前:デフォルトの名無しさん mailto:sage [2007/12/29(土) 00:53:25 ] システムに依存することは止めたらどうかね?
253 名前:デフォルトの名無しさん mailto:sage [2007/12/29(土) 01:02:19 ] となるとダイレクトXなんて使えたもんじゃありませんな
254 名前:デフォルトの名無しさん mailto:sage [2007/12/29(土) 01:04:43 ] システムに依存しないWindowsプログラムってどんなんだよ
255 名前:デフォルトの名無しさん mailto:sage [2007/12/29(土) 13:56:38 ] 問: 次の条件を満たすプログラムを作成せよ。(30点) 1) システムに依存しない 2) Windows上で動作する
256 名前:デフォルトの名無しさん [2007/12/29(土) 14:06:22 ] Javaを使うお
257 名前:デフォルトの名無しさん mailto:sage [2007/12/29(土) 14:53:21 ] Javaか
258 名前:デフォルトの名無しさん mailto:sage [2007/12/29(土) 16:42:42 ] DirectXのサイトって数が多い分今の自分に合ってるの探すのがきつい・・・ せめてSDKの日付とかあって欲しい。 あの,Direct3Dのプログラミング始めたいんですが何をそろえればいいですか? バージョンは9.0でやろうとしているんですが、パッケージによって違いとかあるんですか? もう1週間くらいネットを這いずってるんですが良く分かりません・・・お願いします。
259 名前:デフォルトの名無しさん mailto:sage [2007/12/29(土) 16:47:00 ] Javaだな
260 名前:デフォルトの名無しさん mailto:sage [2007/12/29(土) 16:51:05 ] >>258 ネットが活用できないのなら本屋に行け。
261 名前:デフォルトの名無しさん mailto:sage [2007/12/29(土) 17:04:48 ] さすがJavaだな
262 名前:デフォルトの名無しさん mailto:sage [2007/12/29(土) 17:06:21 ] 実際Javaって使い物になるの? 携帯ゲームなら有りかもしれないけどさ
263 名前:デフォルトの名無しさん mailto:sage [2007/12/29(土) 17:11:38 ] 何を作るかによる。 目的を定めずに手段だけを論じるのは愚か者の極み。
264 名前:デフォルトの名無しさん mailto:sage [2007/12/29(土) 18:16:38 ] >>263 そういうのはいいから。
265 名前:デフォルトの名無しさん mailto:sage [2007/12/29(土) 18:24:36 ] スレ違いの質問に対して答えをいただけただけでもありがたいと思え
266 名前:デフォルトの名無しさん mailto:sage [2007/12/29(土) 18:37:54 ] >>258 もう書かれているがマジレスすると、AmazonでDirectXで検索して、 初心者向けで売れてる本を一冊でも買ったほうがいいと思う。 別に本が優れてるとかじゃなく、ネットの活用が上手くなくて、SDKについても何も分からないんであれば 本に頼るしかないだろう。
267 名前:デフォルトの名無しさん mailto:sage [2007/12/29(土) 19:00:02 ] >>266 ご指南ありがとうございます。 どうか最後にこれだけ教えてもらえないでしょうか? Microsoft DirectX SDK (November 2007)だけあればできますか?
268 名前:デフォルトの名無しさん mailto:sage [2007/12/29(土) 19:12:20 ] Visual Studioが必要です。
269 名前:デフォルトの名無しさん mailto:sage [2007/12/29(土) 19:13:35 ] パソコンも必要です
270 名前:デフォルトの名無しさん mailto:sage [2007/12/29(土) 19:27:50 ] 気力も
271 名前:デフォルトの名無しさん mailto:sage [2007/12/29(土) 19:28:26 ] あとはJavaだな
272 名前:デフォルトの名無しさん mailto:sage [2007/12/29(土) 19:35:57 ] >>267 Windows上でここに書き込んでいるんだとすれば、ソフトウェアとして最低限必要なのは開発環境とSDKだけ
273 名前:デフォルトの名無しさん mailto:sage [2007/12/29(土) 20:08:24 ] Macなのですが、無理ですか?
274 名前:デフォルトの名無しさん mailto:sage [2007/12/29(土) 20:12:36 ] Intel Mac なら Windows をインスコすればいい。
275 名前:デフォルトの名無しさん mailto:sage [2007/12/29(土) 20:13:12 ] >>273 Javaならok
276 名前:デフォルトの名無しさん mailto:sage [2007/12/29(土) 20:15:34 ] 何この流れ 釣りは無視しろよ
277 名前:デフォルトの名無しさん mailto:sage [2007/12/29(土) 20:16:09 ] Javaの人気に嫉妬
278 名前:デフォルトの名無しさん mailto:sage [2007/12/29(土) 20:17:10 ] >>256 がJavaを使うなんて言ったばっかりに・・・
279 名前:デフォルトの名無しさん mailto:sage [2007/12/29(土) 21:17:34 ] >>272 まじであざーした! がんばってみます。
280 名前:デフォルトの名無しさん mailto:sage [2007/12/30(日) 00:05:22 ] xファイルから得たポリゴンの任意の点の座標を変更する、ってのはどうやったらできる?
281 名前:デフォルトの名無しさん mailto:sage [2007/12/30(日) 00:09:44 ] データが入っている場所の頂点データをいじれよ。
282 名前:デフォルトの名無しさん mailto:sage [2007/12/30(日) 00:33:38 ] >>280 メッシュというと複雑そうにみえるが、中身は頂点バッファやインデックスバッファその他もろもろが集まってるだけ なんでまずはロックなど頂点バッファの基本的な操作さえ覚えてしまえば後は流れ的にJavaが全て解決してくれる
283 名前:デフォルトの名無しさん mailto:sage [2007/12/30(日) 01:14:12 ] JABAすげー
284 名前:デフォルトの名無しさん mailto:sage [2007/12/30(日) 01:17:13 ] Japan Amateur Baseball Associationか
285 名前:152 mailto:sage [2007/12/30(日) 01:39:13 ] こんばんは、>>152 です。 画面いっぱいのウィンドウの方はできないこともなさそうな感じではありましたが 大きい→小さい画面への変更で、デスクトップアイコンや他アプリの位置等がずれるため やめることにしました その後もう一度SetDialogBoxModeのやり方でウィンドウのフラグをあれこれいじってみたら フルスクリーン→ウィンドウでも上手くいくようになりました うちにある家族用の別メーカーのXPマシンでも正常動作したようなので、 まあ、今時Win98で動かなくてもしょうがないかなぁと自分を納得させる事にしました ささっていたビデオカードも、 GeForce4 MX440 SE というかなり昔のボードで ドライバの配布すら終了している代物でしたので このボードのドライバがDirectX9.0cに完全対応していなかったのかも知れません 質問に答えてくれた方々、どうもありがとうございました。
286 名前:デフォルトの名無しさん mailto:sage [2007/12/30(日) 01:45:57 ] XP以上のみサポートでぶっちゃけ問題ないよ。
287 名前:デフォルトの名無しさん mailto:sage [2007/12/30(日) 02:10:30 ] シェーダで3次元テクスチャを二つ載せようとしたのですが なぜか片方しか表示されません。 3次元テクスチャ1つと1次元テクスチャ1つは問題なかったのですが なぜ… やり方教えてください
288 名前:デフォルトの名無しさん mailto:sage [2007/12/30(日) 14:51:57 ] DXライブラリみたいにビデオメモリに 直接アクセスするのってどうやるんでしょうか?
289 名前:デフォルトの名無しさん mailto:sage [2007/12/30(日) 15:01:00 ] ttp://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/DirectX9_c/directx/graphics/programmingguide/tutorialsandsamplesandtoolsandtips/samples/clipvolume.asp すいません、これを試してみたいのですが どこからDLしていいのかわかりません。 といいますか、どのSDKなのかわかりません これの実行ファイルかソースうpってもらえませんか?
290 名前:デフォルトの名無しさん mailto:sage [2007/12/30(日) 15:46:13 ] >>289 DirectXのSDKをインストールすると入ってるよ
291 名前:デフォルトの名無しさん mailto:sage [2007/12/30(日) 16:24:52 ] >>290 前にインスコしたSDKには入ってなかったのです。 Microsoft Platform SDK for Windows Server 2003 R2 また400MBも落とすのに○時間も掛かるのはシンドイっす
292 名前:デフォルトの名無しさん mailto:sage [2007/12/30(日) 16:50:44 ] _, ._ (;゚ Д゚)
293 名前:デフォルトの名無しさん mailto:sage [2007/12/30(日) 17:08:18 ] PlatformSDKは、まぁ、ボケなんだろうけど サンプルはSDKのバージョンによって中身がかわってるからな 少なくともAugust2007には入ってなかった でも手元にあった9.0bSDKのCDには入ってたので デベロッパセンターに行って Updata〜とついてないSDKを落とせばたぶんついてくるんじゃね?
294 名前:デフォルトの名無しさん mailto:sage [2007/12/30(日) 17:43:16 ] >>291 軽量版があるからこっち使え java.sun.com/j2se/1.4.2/download.html
295 名前:デフォルトの名無しさん mailto:sage [2007/12/30(日) 19:25:24 ] JAVAネタ、いい加減にしつこい
296 名前:デフォルトの名無しさん mailto:sage [2007/12/30(日) 21:00:51 ] >>292-293 ボケたつもりはなくて、、、これがSDKだと思ってました。。。 >>294 ありがとうございます。見てみます
297 名前:デフォルトの名無しさん mailto:sage [2007/12/30(日) 21:01:26 ] …JAVAですか。 確認する前に書き込んでしまいました
298 名前:デフォルトの名無しさん [2007/12/31(月) 08:36:54 ] 自機・フィールド共にXファイルから読み込んで、3Dゲームを作っています。 自機と地面や壁との衝突判定をさせたいんですが、Xファイルから自動的に描画されているので、自分でも壁の座標が分からないです。 壁や地面の座標はどうやって求めればいいんでしょうか?
299 名前:デフォルトの名無しさん mailto:sage [2007/12/31(月) 09:00:36 ] そもそも自動で描画されるなどあり得ない。
300 名前:298 [2007/12/31(月) 09:56:49 ] すみません。自動的というのは、頂点の座標を自分で把握していなくても描画ができるという意味です。 SDK Tutorial6のソースをほとんどそのまま利用しています。 計算式はぐぐれば出てくるんですが、計算するための座標がどこなのかが分かりません。
301 名前:デフォルトの名無しさん mailto:sage [2007/12/31(月) 10:01:01 ] まさかチュートリアルの1から5を飛ばして6やってるって オチじゃあるまいな?
302 名前:298 [2007/12/31(月) 10:10:29 ] ! 4,5飛ばしてました。 今から見てきます。
303 名前:デフォルトの名無しさん mailto:sage [2007/12/31(月) 14:35:16 ] たまにエスパーが現れるから困る
304 名前:デフォルトの名無しさん mailto:sage [2007/12/31(月) 15:32:44 ] OpenGLのglFrustum()という関数をDirectXで実装しようとしています。 glFrustum()については以下のURLに解説がありました。 kaoken.no-ip.com/brew/index.php?im_id=glFrustum このURLで出ているGL_PROJECTION というのは、おそらくDirectXでいうD3DTS_PROJECTION だと思っているのですが、 このD3DTS_PROJECTION の使い方がよくわかりません。
305 名前:デフォルトの名無しさん mailto:sage [2007/12/31(月) 15:58:19 ] CheckDeviceMultiSampleType() でビデオカードがマルチサンプルに対応しているか調べたのですが、 自分のものだと対応していないことが分かりました。 ビデオカードのメーカーのページにはこれに対応しているかどうかの記述がないようですが、対応している ビデオカードはどのようにして見つければよいでしょうか?
306 名前:デフォルトの名無しさん mailto:sage [2007/12/31(月) 17:24:28 ] 引数間違っている可能性が高いような。 非対応見つけるほうが大変でね?
307 名前:305 mailto:sage [2007/12/31(月) 17:41:23 ] >>306 え!? 自分のカードはGeForce 8600GTで、関数の引数は以下のようにしました。 m_pD3D->CheckDeviceMultiSampleType( D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL , D3DFMT_R8G8B8, FALSE, D3DMULTISAMPLE_2_SAMPLES, NULL ) ) ) 戻り値は D3DERR_NOTAVAILABLE でした。 最初の引数を pCaps->AdapterOrdinal としても同じでした。
308 名前:デフォルトの名無しさん mailto:sage [2007/12/31(月) 18:07:52 ] てか8600GTは D3DFMT_R8G8B8フォーマットをサポートしてるのかい? 最近のだと D3DFMT_X8R8G8B8とか D3DFMT_A8R8G8B8とか
309 名前:デフォルトの名無しさん mailto:sage [2007/12/31(月) 18:50:25 ] >>307 D3DFMT_R8G8B8 なんて、バックバッファはおろか、テクスチャのフォーマットとしても 対応してるアダプタなんて現時点では存在しないぞ 素直に D3DFMT_X8R8G8B8 でやれ
310 名前:305 mailto:sage [2007/12/31(月) 20:57:54 ] >>308 >>309 ありがとうございます。 D3DFMT_A8R8G8B8で対応してました。 実際の効果を見てみたのですが、通常のレンダーターゲットに描くときはしっかりと効いていました。 しかし、どうもアプリ内で用意したテクスチャをレンダーターゲットにすると、そこでは効かないようです。 なぜなら、レンダリングしたテクスチャを板ポリに貼り付けて通常のレンダーターゲットの全面に表示 すると、ジャギーが強く残っているからです。 (テクスチャ解像度はレンダリング対象の1/4と低いものの、AAがかかった痕跡が見られません) テクスチャをレンダーターゲットにしたときもAAが効くようにするにはどうすれば良いでしょうか??
311 名前:デフォルトの名無しさん mailto:sage [2007/12/31(月) 23:58:20 ] 今DirectDrawとDirect3Dの機能をそれぞれクラス化してるんですけど、 このクラスのインスタンスを作るとき何をstaticにして何をインスタンス作ったら いいですか?Direct3D複数作ったらなんかやばいんでしょうか?
312 名前:デフォルトの名無しさん mailto:sage [2008/01/01(火) 00:09:40 ] >>311 質問の仕方が悪すぎる。あんたのクラスの設計も具体的にやりたいことも わからないのに答えられる問いではないよ。 とりあえず「Direct3D複数」がIDirect3D*とIDirect3DDevice*のこと言ってんなら 複数作成するのは稀だから、まだ余計なこと考えなくていいよ。
313 名前:デフォルトの名無しさん mailto:sage [2008/01/01(火) 00:09:48 ] 貴様のオナニーの仕方なんぞどうでもいい
314 名前:デフォルトの名無しさん mailto:sage [2008/01/01(火) 02:28:26 ] ttp://www.cmagazine.jp/books/effect/index.html この本を買ったのですが、Part2の波のデモが動きません。 プロジェクトをコンパイルしようと思ったら、.net 2002なのでできませんでした。 グラボはGeForce 8600GTです。 上のサイトから、そのサンプルをダウンロードできるので、みなさんは動くか試してもらえますか?
315 名前:デフォルトの名無しさん mailto:sage [2008/01/01(火) 02:40:29 ] 何も表示されないのかウィンドウすら表示されないのかエラーで起動しないのか。 「どう」動かないのかを書きましょう。
316 名前:314 mailto:sage [2008/01/01(火) 03:20:09 ] >>315 すみません。 デモのプログラムは起動するのですが、波のサンプルの場面で、波が発生せず、真平らな板ポリ 状態になっています。 波は随時勝手に発生するプログラムのはずなのですが・・・
317 名前:311 mailto:sage [2008/01/01(火) 09:53:29 ] >>312 すいません。そしてありがとうございます 寝ぼけてて文章まとまってなかったんですが、 ふつうDirectDrawをウィンドウモードで使う場合はLPDIRECTDRAW+LPDIRECTDEVICEを1つ作って サーフェイスを必要なだけ作ってプライマリに転送で十分ですよね? ただウィンドウを複数作るならウィンドウ1つにつきLPDIRECTDRAW+LPDIRECTDEVICE1つ用意 ということでよろしいでしょうか?
318 名前:デフォルトの名無しさん mailto:sage [2008/01/01(火) 10:26:32 ] あけましておめでとうございます。 こちらはManaged DirectXについての質問もOKでしょうか? Managed DirectXスレが11月で止まってしまっているので…。
319 名前:デフォルトの名無しさん mailto:sage [2008/01/01(火) 10:27:03 ] >>316 確かにそのままだと動かないね 7900GTでは普通に動いてて そっちで自分用に書き直したプログラムは 8600GTでも普通に動いているのだが・・・ どこ直したのか覚えてないや
320 名前:314 mailto:sage [2008/01/01(火) 14:14:29 ] >>319 けっこう環境に左右されるみたいですね。 自前で組んでみようとしましたが挫折しました。 ありがとうございました。
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 ] 使ってるモデリングソフトにあわせると吉 そうでなくても吉
422 名前:デフォルトの名無しさん mailto:sage [2008/01/08(火) 22:21:10 ] 目的がよくわからんな 2Dと同じ座標感覚にしたくて ニアクリップ面を画面サイズに合わせて 適正な画角になるようにカメラを設置するってことなのか?
423 名前:デフォルトの名無しさん mailto:sage [2008/01/08(火) 22:50:11 ] 2Dゲーなら大事だけど3Dゲーではたいして大事ではない
424 名前:デフォルトの名無しさん mailto:sage [2008/01/08(火) 23:14:47 ] ファーストフードにはあるけどコンビニにはない。 auにはあるけどdocomoにはない。
425 名前:410 mailto:sage [2008/01/08(火) 23:29:33 ] すいません、実は>>234 も私なのですが、目的は「斜め投影変換」です。 OpenGLの知識は全然ありません。 OpenGLなら↓のURLのように、glFrustumを用いれば実現できると聞いたので、DirectXでglFrustumを実装しようとしていました。 (ttp://www.vsl.gifu-u.ac.jp/techinfo/view/index.html)
426 名前:デフォルトの名無しさん mailto:sage [2008/01/09(水) 00:54:37 ] 行列変換理解しろ。
427 名前:デフォルトの名無しさん mailto:sage [2008/01/09(水) 00:57:46 ] 無理じゃねぇかなぁ
428 名前:デフォルトの名無しさん mailto:sage [2008/01/09(水) 13:28:35 ] glFrustumもD3DXMatrixPerspective*****も あくまで透視変換をするための行列を生成するものだから どういじろうと物体が歪んだりはしない 簡単に言うと カメラの近くにある物を大きく遠くにある物を小さく描画するためのもの もし行列変換でやるなら その斜め投影変換とやら専用の行列を生成する必要がある てか斜めにしたいだけなら 適当な板にレンダリングして頂点を移動するだけでいい気もするんだが そもそもなんでそんなことしたいわけ?
429 名前:デフォルトの名無しさん mailto:sage [2008/01/09(水) 15:55:45 ] >>425 411,419が何を言ってるのか理解できるまで、もっと勉強しる。 410のパラメータのD3DXMatrixPerspectiveFovLHで得られた行列と D3DXMatrixPerspectiveOffCenterLHで得られた行列を見比べるだけでも 何が間違っているのかなんとなく分かるだろう。 D3DXMatrixPerspectiveOffCenterLHに何を与えれば、元の行列と同じ行列が 得られるのか考えてみろ。
430 名前:デフォルトの名無しさん mailto:sage [2008/01/10(木) 00:22:50 ] DirectX9.0cなのですが、 DirectMusicで、今現在再生しているセグメントの曲の再生が 終了したかどうかというのを調べるにはどうすればいいのでしょうか 再生終了していればそのセグメントを開放し、そこを別の曲に差し替えたいのですが 肝心の終了したかどうかの判別の仕方がわかりません 知っている方いたら教えてください。よろしくお願いします
431 名前:430 mailto:sage [2008/01/10(木) 21:50:25 ] 自己解決しました
432 名前:デフォルトの名無しさん mailto:sage [2008/01/11(金) 00:06:25 ] 自己じゃねえだろ マルチな上に嘘まで書くのかよ
433 名前:430 mailto:sage [2008/01/11(金) 00:58:35 ] >>432 あなたがマルチとおっしゃっているのは外部サイトの話ですか? そこを見ればわかりますが、自分で解決していますよ。 それ以外の方法も教えてもらうことができましたけど。 それに、このスレッドのテンプレには外部で質問してはいけないなどと書いてないですし。 色々なサイトを利用して、できる限りの情報を集める事がそんなにいけない事なのでしょうか? どのスレでも同じルールだと決め付けるのはやめましょう。
434 名前:デフォルトの名無しさん mailto:sage [2008/01/11(金) 01:06:08 ] >>433 一般的な常識として、複数箇所に同じ質問を投げるのは避けるべきです。
435 名前:デフォルトの名無しさん mailto:sage [2008/01/11(金) 01:06:33 ] >>430 >>432 じゃないが、マルチと分っててやってるなら尚更だが、 そういうのはいけない事。どのスレでも・・・・とかのLvじゃなくて、ネットでは原則的なぐらいのルール。
436 名前:デフォルトの名無しさん mailto:sage [2008/01/11(金) 01:09:59 ] ja.wikipedia.org/wiki/%E3%83%9E%E3%83%AB%E3%83%81%E3%83%9D%E3%82%B9%E3%83%88 www.ippo.ne.jp/g/53.html e-words.jp/w/E3839EE383ABE38381E3839DE382B9E38388.html ここらにも書いてあるが、ネット創世記からある基本的なマナー違反。 マルチポストはスレや板のルールとか以前の問題。
437 名前:デフォルトの名無しさん mailto:sage [2008/01/11(金) 01:10:24 ] 心がせまいなぁ 俺ルールをネット原則とかもうね
438 名前:デフォルトの名無しさん mailto:sage [2008/01/11(金) 01:13:07 ] そうそう、「俺様ルール」を持ち出して、マルチを正当化するなんてどうかしているよね。
439 名前:430 mailto:sage [2008/01/11(金) 01:20:38 ] >>436 はあ。ネット原則なのかどうかはともかく、嫌う人も多いのだということですね こちらで答えてくれる人が早くいらっしゃれば、外部で質問する事もなかったのですが… これからはなるべく気をつけて書き込む掲示板を選ぶ事といたします。 ご忠告どうもありがとうございました
440 名前:デフォルトの名無しさん mailto:sage [2008/01/11(金) 01:22:32 ] 訳 : 使えねー掲示板だな。もうこねーよヽ(`Д´)ノ
441 名前:デフォルトの名無しさん mailto:sage [2008/01/11(金) 01:25:30 ] いいんじゃねーの別に。マルチ嫌うって感覚はよくわからんよ しょせん掲示板なんて使い捨てなんだしさ
442 名前:デフォルトの名無しさん mailto:sage [2008/01/11(金) 01:26:00 ] ネチケットもしらねえのか
443 名前:デフォルトの名無しさん mailto:sage [2008/01/11(金) 01:28:11 ] ネチケットわきまえてるような人種はここにはいないんじゃないかな
444 名前:デフォルトの名無しさん mailto:sage [2008/01/11(金) 01:36:07 ] ま、向こうの解答者は間違ってるけどな IsPlayingはスピーカーで音が鳴ってるかどうかを判断するものだから Playした直後でも鳴ってないという結果になる場合がある 結局の所、メッセージ拾う方が確実に終了を検知できるんだよ
445 名前:デフォルトの名無しさん mailto:sage [2008/01/11(金) 01:45:16 ] これか。糞仕様すぎる ttp://msdn.microsoft.com/library/ja/directx9_c/directx/htm/idirectmusicperformance8isplaying.asp?frame=true
446 名前:デフォルトの名無しさん mailto:sage [2008/01/11(金) 02:15:20 ] 所詮MSですから
447 名前:デフォルトの名無しさん mailto:sage [2008/01/11(金) 02:34:32 ] ネチケットとかもう死語じゃね? 掲示板であろうとログが残り、そのログは将来同じような問題を抱えた人間にとって有益なものとなりうる。 複数サイトでの同様の質問は検索を困難にさせ、解決方法を見つけにくくなる。 そうなればまた同じ質問をすることになる。ネットの世界であろうとリソースは有限なので無駄であることに変わりはない。 とかキモイこと書いてみましたw ぶっちゃけ回答する側の人間はいろんなサイトを回っていることが多く、マルチは実際問題よく見かける。 解決したならその方法や、今回の場合であれば解決した側のサイトのアドレスでも張ってくれれば多少はよかったかな?
448 名前:デフォルトの名無しさん mailto:sage [2008/01/11(金) 03:12:44 ] むしろ複数サイトに書いてあったほうがみつけやすくていいよ
449 名前:デフォルトの名無しさん mailto:sage [2008/01/11(金) 03:16:00 ] 何も答えもしない相手に解決方法書く馬鹿がどこにいるんだよ
450 名前:デフォルトの名無しさん mailto:sage [2008/01/11(金) 03:50:47 ] 一箇所にしかない答えってのは結局、他の可能性を潰してるだけだと思うんだ その答えが真である保証だってどこにもないんだから 一箇所にしかない答えより、複数の答えがある方がずっといい
451 名前:デフォルトの名無しさん mailto:sage [2008/01/11(金) 04:02:03 ] ぶっちゃけそんなの気にする奴はたいしていない 短気な奴の方が声が大きいのはネットもリアルも同じと言うだけの話
452 名前:デフォルトの名無しさん mailto:sage [2008/01/11(金) 07:13:46 ] 俺は2ちゃん以外みてないからマルチOKだよ マルチが嫌な人は2穴責めが嫌な人だと思う
453 名前:デフォルトの名無しさん mailto:sage [2008/01/11(金) 10:30:38 ] これはひどい自演ですね。
454 名前:454 mailto:sage [2008/01/11(金) 10:37:00 ] 自己解決しました
455 名前:デフォルトの名無しさん mailto:sage [2008/01/11(金) 11:04:12 ] カスラックみたいな事言うなよ コピーワンスなんて馬鹿馬鹿しいものが導入されたせいで 後世に文化を繋ぐことが困難になってしまったというのに
456 名前:デフォルトの名無しさん mailto:sage [2008/01/11(金) 11:18:57 ] カスラックは好かんけどコピーワンスと文化云々は関係ねーだろ(w
457 名前:デフォルトの名無しさん mailto:sage [2008/01/11(金) 11:44:31 ] 関係あるだろ マイナー番組を録ったメディアが劣化したら取り返しが利かなくなるんだから
458 名前:デフォルトの名無しさん mailto:sage [2008/01/11(金) 12:16:58 ] >>452 ケツの穴のちいさい奴だな
459 名前:デフォルトの名無しさん mailto:sage [2008/01/11(金) 13:07:00 ] 俺はマルチよりあおいちゃんの方が好きだな
460 名前:デフォルトの名無しさん mailto:sage [2008/01/11(金) 13:19:03 ] なんでDirectX関連以外の話題だと盛り上がるんだよw
461 名前:デフォルトの名無しさん mailto:sage [2008/01/12(土) 00:18:54 ] DirectXゲームグラフィックスプログラミングVer.2.1Vistaのサンプルで //カメラのパラメータ設定 // ビューポートの取得 D3DVIEWPORT9 vp; if(FAILED(pD3DDevice->GetViewport(&vp))) { return; } // アスペクト比の計算 float aspect; aspect = (float)vp.Width / (float)vp.Height; (以下略) とあるのですが、 vp.Widthとvp.Heightを見てみると0と770になっていました。 vp.Widthが0になっているせいでaspectが正常に取得できません。 なぜ0になっているのでしょうか?
462 名前:デフォルトの名無しさん mailto:sage [2008/01/12(土) 00:28:18 ] >>460 俺がよく燃える燃料を投下してしまったからorz
463 名前:デフォルトの名無しさん mailto:sage [2008/01/12(土) 03:34:32 ] >>461 SetViewportしてないからじゃ ちゃんと設定してるかい?
464 名前:デフォルトの名無しさん mailto:sage [2008/01/12(土) 17:48:14 ] direct Showの解説してるサイト知ってる方居たら教えてください。 VC++6.0です。
465 名前:デフォルトの名無しさん mailto:sage [2008/01/12(土) 17:56:30 ] Direct Show 解説で検索
466 名前:デフォルトの名無しさん mailto:sage [2008/01/12(土) 19:15:18 ] >>465 お前に聞いてない。
467 名前:デフォルトの名無しさん mailto:sage [2008/01/12(土) 20:05:43 ] DirectShow で解説、だよなあ。
468 名前:デフォルトの名無しさん mailto:sage [2008/01/12(土) 20:09:50 ] 解説じゃなくて検索だった。
469 名前:デフォルトの名無しさん mailto:sage [2008/01/12(土) 20:23:03 ] これらに当てはまる人のための質問スレです。 1.C/C++は多少理解している。 2.最近DirectXを始めたばかり 3.SDKを見ても、Googleで検索しても、いまいち理解できない人
470 名前:デフォルトの名無しさん mailto:sage [2008/01/12(土) 20:45:04 ] >>468 お前に聞いてない。
471 名前:デフォルトの名無しさん mailto:sage [2008/01/12(土) 21:41:06 ] >>463 セットしないといけないんですね。 サンプルに見当たらなかったので追加してみました。 //カメラのパラメータ設定 // ビューポートの取得 D3DVIEWPORT9 vp; if(FAILED(pD3DDevice->SetViewport(&vp))){ return; } if(FAILED(pD3DDevice->GetViewport(&vp))) { return; } // アスペクト比の計算 float aspect; aspect = (float)vp.Width / (float)vp.Height; (以下略) すると、 Direct3D9: (ERROR) :Viewport width or height is zero or negative というエラーが延々とでてきてしまいました。 もしかしてSetViewportの使い方間違ってます?
472 名前:デフォルトの名無しさん mailto:sage [2008/01/12(土) 21:48:49 ] SetViewportは自分でビューポートのサイズを指定するんだYO・・・
473 名前:デフォルトの名無しさん mailto:sage [2008/01/12(土) 22:26:41 ] もはや頭が悪いとか言うレベルじゃないぞ。
474 名前:デフォルトの名無しさん mailto:sage [2008/01/12(土) 22:37:02 ] DirectXを理解していないとかC++を理解していないとかじゃなく プログラミング自体を理解していないんだな
475 名前:デフォルトの名無しさん mailto:sage [2008/01/12(土) 23:10:35 ] ワロタ(w エラーメッセージくらい読めよ
476 名前:デフォルトの名無しさん mailto:sage [2008/01/13(日) 03:23:18 ] そんなエラーメッセージ出してくれるのか 親切だなw
477 名前:デフォルトの名無しさん [2008/01/13(日) 06:35:13 ] VC++2005ExpressEdition DirectX 9.0を使用しています。 Game.h Game.cpp Input.h Input.cppというファイルで入力によって値を変えようとしてるんですけど、Game.h内で class Game{ <略> privete: struct AIRPLANE{ FLOAT v; FLOAT roll; FLOAT pitch; }airplane; } と構造体を宣言して、Input.cpp内で構造体の値を入力によって変えたいんですがうまくいきません。 error C2061: 構文エラー : 識別子 'AIRPLANE' とエラーが出てしまいます。Input.cppの実際に値を変えようとしているところは #include "Input.h" <略> void Input::GetInput_Game(AIRPLANE airplane){ if(KEY_Z == TRUE){ airplane.v += 0.001f; } でInput.hのクラスでは "Game.h"をincludeして void GetInput_Game(AIRPLANE airplane); としています。キー入力はうまくいくのですが、構造体の受け渡しがうまくいきません。includeのやりかたが悪いのでしょうか?
478 名前:デフォルトの名無しさん mailto:sage [2008/01/13(日) 07:23:11 ] ひょっとしてそれはギャグでいっt
479 名前:デフォルトの名無しさん mailto:sage [2008/01/13(日) 09:49:30 ] . ィ .._ .......、._ _ /:/l! :~""''.>゙' "~ ,、、''‐'、| _ ゙、'、::::::ノ:::::::_,.-=. _〜:、 /_.}'':, ``、/:::::::::__....,._ `゙'Y' _.ェ-、....._ /_゙''i゙ノ、ノ ,.--l‐''"~..-_'.x-='"゙ー 、`'-、 ,:' ノ゙ノブ " .!-'",/ `'-‐'') /\ `/ でノ-〈 .-''~ >'゙:: ‐'"゙./ ヽ.,' ~ / //::::: ', / ,:'゙
480 名前:デフォルトの名無しさん mailto:sage [2008/01/13(日) 09:57:14 ] >>477 君それ、DirectX全く関係ないから。 DirectXに手を出す前に、とりあえず君はコンソールアプリでも作って クラスと構造体、引数の受け渡しの勉強をしなおせ // 構造体定義 typedef struct { FLOAT v; FLOAT roll; FLOAT pitch; } AIRPLANE; // クラスメンバに構造体を加える class Game { private: AIRPLANE airplane; (略) }; void Input::GetInput_Game( Game *game ) { if( KEY_Z == TRUE ) { game->airplane.v += 0.001f; } } どういう動作をさせるつもりだか知らんが、だいたいこんな感じか
481 名前:デフォルトの名無しさん mailto:sage [2008/01/13(日) 10:15:02 ] 志村ぁ、属性属性!
482 名前:デフォルトの名無しさん mailto:sage [2008/01/13(日) 11:19:15 ] ああすまんwprivete→privateだけ気になってて間違えた privateじゃなくてpublicねw
483 名前:デフォルトの名無しさん mailto:sage [2008/01/13(日) 15:25:11 ] ありがとうございます。 上手くいきました。
484 名前:デフォルトの名無しさん mailto:sage [2008/01/13(日) 17:44:37 ] DirectX SDK を使いたいんだけど、インストールの仕方がいまいちわからんのです。 いろいろ試したところ以下の操作でビルドできるようになったけど、これって正しい? 1. DirectX 9.0b SDK をダウンロードして c:\dx90bsdk に展開する 2. DirectX SDK - (November 2007) をダウンロードして c:dx90bsdk に上書きコピーする 3. インクルードパスに c:\dx90bsdk\Include を追加する アドバイスあればお願いします。
485 名前:デフォルトの名無しさん mailto:sage [2008/01/13(日) 17:50:40 ] 普通に実行すればインストーラーが勝手にやってくれるだろ 頭にウジが涌いているのか?
486 名前:デフォルトの名無しさん mailto:sage [2008/01/13(日) 17:54:33 ] >>484 1はいらない 2はアップグレードじゃないので単体で動作する むしろ、前のバージョンのSDKは抜くべき 3はその動作だけじゃ足りないはず わからなければ入門書を買ってきたほうがいい 時間とお金を考えたら1人で考えるのは無駄かもわからんね 本は自分で立ち読みして探せ 致命的なのは1と2 なんでこんなことした? 普通に最新のSDKをダウンロードしてこい アップグレードキットはない
487 名前:デフォルトの名無しさん mailto:sage [2008/01/13(日) 18:03:11 ] >485 まず DirectX 9.0b SDK をインストールしてビルドを試みたところ、最近のコードをビルドできなかった。 で、DirectX SDK - (November 2007) をダウンロードして上書きコピーしたらとりあえずビルドできた。 「そんなことしなくても○○をDLして入れればおk」とかアドバイスがあれば知りたいなと思って聞いてみた。 スマン>485
488 名前:デフォルトの名無しさん mailto:sage [2008/01/13(日) 18:10:20 ] >>486 アドバイスありがとう。明日、本屋にいってみるよ。
489 名前:デフォルトの名無しさん mailto:sage [2008/01/13(日) 18:30:40 ] ばーか
490 名前:デフォルトの名無しさん mailto:sage [2008/01/13(日) 19:07:33 ] >>487 >ダウンロードして上書きコピーしたら これ駄目 レジストリとか環境変数とかなんも考えないのか? ファイルだけ書き加えて動くもんなんてそうそうないから 動いた→OK は全体の構造を把握してない限りありえない 一度アンインストールしてもう一度インストールしなおせ その状態で進めるとまた問題が起こったときに何が原因かさっぱりわからなくなるぞ
491 名前:デフォルトの名無しさん [2008/01/13(日) 19:16:51 ] DirectX9.0c以上ってどれをダウンロードしたらいいんですかね? いつも確認したら8.0になってるんですよ・・・
492 名前:デフォルトの名無しさん mailto:sage [2008/01/13(日) 19:22:45 ] Windows95はDirectX8.0aまでの対応だよ。
493 名前:デフォルトの名無しさん mailto:sage [2008/01/13(日) 19:38:56 ] そうだ まずOSのバージョンの確認からだな たまに古いの使ってる分際で開発なんてしようと思うキチガイがいるから閉口する とりあえずXPにしろよな つか、もっというと金がない奴はゲーム開発なんてやろうと思うな 色々楽をしようとするたびに出費がかさむ職業だぞw なんでもケチるとなんにもできない上になんにもわからない だからなんのゲームもできない 入門書のこともそう 読めばわかるようなことだけど自分で調べるとなるとひと月ふた月平気で過ぎていく なんにも金を出さないと2年たっても3年たってもいつまでたってもゲームなんかできない
494 名前:デフォルトの名無しさん mailto:sage [2008/01/13(日) 20:45:34 ] 5000円の参考書買って役に立たなくても 「はずれか、チッ」としか思わなくなるようでないとだめ
495 名前:デフォルトの名無しさん mailto:sage [2008/01/13(日) 20:56:55 ] 古い環境での動作、古い環境での開発が求められる場合もあるだろ まあガキの遊び程度だったら新OSでやった方が色々と楽だが あと、別に今時本がなくったって検索ワードを使いこなす技量があれば さほど情報に困ることはない もちろん本があるにこしたことはないけどね 楽をしようとするたびに出費がかさむというのには同意 馬鹿は大人しく金を使った方がいい
496 名前:デフォルトの名無しさん mailto:sage [2008/01/13(日) 21:00:35 ] VC++2005の本を買ったけど、.NETフレームワーク開発が主体だと気づいて 結局ほとんど使ってない俺
497 名前:デフォルトの名無しさん mailto:sage [2008/01/13(日) 21:21:23 ] >>493 は言い過ぎかもしれんが、俺も専門書にかかる出費はけちるべきではないと思う。
498 名前:デフォルトの名無しさん mailto:sage [2008/01/13(日) 21:25:59 ] この分野はプログラミングの中でもニッチな方だから、 Web常に情報の蓄積がなく、本にしか書いてない基礎的情報も多い。
499 名前:デフォルトの名無しさん mailto:sage [2008/01/13(日) 21:26:18 ] >>495 ていうか、調べてもいいけど該当する情報を見つけるまでかなりかかる場合もあるしね お前が本がなくてもなんてのは本を十分みたり、たくさんの人と話す機会があって何かを学んだいま だからこそいえることだろ? なくてもいいというにもたくさん本をみたうえでないとなくてもいいといえないわけだから そういう情報なんだよね必要なのって あるものごとを決める平均値みたいなもの、最適な判断材料は糞も糞なりに全部みないと 最後の解は得られない たくさんの選択肢を判断できるだけの情報力があればあとは時代が変わるごとの 差分値だけで済む こうなってしまっている状態の人間を基準にしてもしょうがない はじめはなんでも買ってなんでも吸収する気でないととても普通にプログラムが作れるレベルまで届かない 低賃金の割りに意外とつらいと思うぜ
500 名前:デフォルトの名無しさん mailto:sage [2008/01/13(日) 21:56:42 ] ごめん。俺本買ったことないけど、使いこなせてるや。
501 名前:デフォルトの名無しさん mailto:sage [2008/01/13(日) 22:03:39 ] 金出して買う程の書籍とかないよな。 ネットで十分。
502 名前:デフォルトの名無しさん mailto:sage [2008/01/13(日) 22:04:50 ] まあ初心者レベルの情報だったら買うほどのこともないだろう 本屋に通えるだけの行動力があればいい
503 名前:デフォルトの名無しさん mailto:sage [2008/01/13(日) 23:10:22 ] >>500 わかってるつもりで実はわかってない ってのはよくある ゲーム系から業務系にいったときにちょっとだけ苦労した 実務の正確さがちょっと足りなったかな 精度を高めるためにちょっとした苦行がいった でもそれだけだったけどw
504 名前:デフォルトの名無しさん mailto:sage [2008/01/13(日) 23:12:43 ] ゲーム系は速さ重視だからな 業務系だとどうでもいいような決まりが多そうだ
505 名前:484 mailto:sage [2008/01/13(日) 23:35:48 ] 484です。 個人サイトとか MSDN とかを見て Visual Studio 2008 Express Edition で DirectX SDK のサンプルをビルドして実行できるようになった。 特に >>486 のコメントが参考になったよ。どもです。 ところで、DirectX (特に3D) プログラミングをするのにおすすめの本とかある? ネットで十分っていうコメントもあるけど。 ちなみにスキルは win32 API プログラミングはペゾルト本で一通りやってて、 ベクトル・行列の計算は苦にならない感じ(予習したから)。
506 名前:デフォルトの名無しさん mailto:sage [2008/01/13(日) 23:38:51 ] すすめられる程の本は無い。 ネットでOK。 DirectXに特化した本はロクなのない。
507 名前:デフォルトの名無しさん mailto:sage [2008/01/13(日) 23:41:35 ] >>505 1冊も買わないか 全部買って良いとこ取りするかのどっちかしかない 1冊あればOK的な本はない
508 名前:484 mailto:sage [2008/01/14(月) 00:53:51 ] >>506 >>507 そうか。しばらく DirectX SDK のサンプルと API リファレンスでがんばってみる。
509 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 02:47:22 ] >>508 一冊も買わないなんて効率悪いだけだと思うぜ俺は 細かい技術が足りてないくせにできると思ってる奴のいうことだと思う 俺のこれまでの経験でいうとネットなんてざっとしか載ってない おおざっぱに知るだけ知って知った気でいる分にはそれでもいいけど はじめはいろんな本を読んでまず技術の土壌を固めるべき そっちのが速い いらないとか言ってる奴は自分は過去に他の分野の本を読んで細かい技術を身につけてる場合が多い そういう奴は新人とか育てるのものっすごい下手なのであまり信用しないほうがいい これまで自分が出会った人とかちょっとの間でも教え請うた人の存在とかすっかり頭から抜けてる 馬鹿で恩知らずな奴なのでもうこういう奴が技術的に伸びることはもうない 本を読むことは人を知ることでもある ネットでは薄い 色んな人の色んな考えを吸収するには本をたくさん読む必要がある プログラム構成がめちゃくちゃ下手糞な奴とかいるけど アイディアが浮かばないとか素質がないんじゃなくて単純なスキル不足である場合がほとんど グローバル変数・関数使いまくりのままとか糞なソースばっかり書いて何年たってもグローバル変数を使う初心者のままとか結構ザラw
510 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 03:12:43 ] >509 それじゃ、一冊本のタイトルあげてみ?
511 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 03:19:24 ] まあ本買うやつなんて旧世代の人間だけだな。
512 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 03:23:01 ] >>510 誰向けの?
513 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 03:23:06 ] 本だったら電車の中とか布団の中とか喫茶店でも読めるだろ
514 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 03:29:22 ] DirectX SDK のサンプルってどうやってみれるの?
515 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 03:29:44 ] >512 俺に聞かんでも自分で良書と思うもんあげればおk。
516 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 03:39:21 ] >>514 DirectX Sample Viewer
517 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 03:40:32 ] 俺のオススメ Game Programming Gems 1-6 日本語版 (単行本) ゲームプログラミングのための3Dグラフィックス数学 (単行本(ソフトカバー)) 難しいので初心者にはオススメできないけど 絶版になる前には買っておいてほしいと思う 初心者にいいと思ったのは irectX ゲームグラフィックス プログラミング Ver. 2.1 Vista [NextCreator] (NEXT CREATOR) (大型本) ゲームエフェクトマニアックス (C MAGAZINE) (大型本) がおもしろいと思った 小さいプログラムを組みながら覚えるといいと思う 読んでないけどなんかいいかなと思った本は アクションゲームプログラミング (大型本) ホントに初心者がアクションゲーム作れるようになるかどうかやってみてくれw
518 名前:484 mailto:sage [2008/01/14(月) 03:46:42 ] >>512 たしかに自分が win32 API プログラミングを調べていたころを思い出すと ペゾルト本を読まなければ理解に時間がかったかも。 一度理解すれば API リファレンスでなんとかなるけど 道しるべとして本を頼るのも手だな。
519 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 04:03:11 ] >>509 おちつけ 何か嫌なことでもあったか?
520 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 04:09:23 ] >>509 の社内人間関係を綴った本が出版されたら買う(w
521 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 09:02:00 ] >>509 は将来会社を引っ張っていく貴重な存在。
522 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 12:08:48 ] 俺も一冊では足らず、DirectXでゲーム制作する本を四冊くらい買ったかな しかしどうしても本では理解できず 最終的にネットの情報に助けられた事もあるのも確かだな 国内のサイトじゃなかったけど
523 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 14:23:21 ] Managed DirectXでお勧めの入門書ってある? 洋書で黒い表紙の本がなかなか良かったんだけど、 和書だと見つからないんだよトニー
524 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 14:33:57 ] >>523 ないと思う。自分もさらっと調べてみた事あるけど XNA以上に日本じゃ通らないような感じうけるしねぇ。 きっと和訳やその他の場合でも出版で十分なリターンが見込めない領域と思われてる そう邪推するぐらいにはManagedはないねぇ。
525 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 14:43:21 ] C++/CLIでMDXしたいよぅ
526 名前:484 mailto:sage [2008/01/14(月) 14:46:55 ] 大きめの本屋2件まわって「マスタリングDirectXプログラミング」を買ってきた。 ttp://www.amazon.co.jp/%E3%83%9E%E3%82%B9%E3%82%BF%E3%83%AA%E3%83%B3%E3%82%B0DirectX%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0-%E6%A9%8B%E5%8F%A3-%E3%82%86%E3%81%86%E3%81%99%E3%81%91/dp/4797340258 立ち読みした感想 DirectX 関連本は工学社の緑色の本がいっぱいあったがどれも内容は微妙だった。 「DirectX 9プログラミング入門」は DirectX SDK のサンプルプログラムを載せて、ほんの少しコメントを足しただけのひどい本だった。 前書きにだまされて思わず買ってしまうところだった。 ttp://www.amazon.co.jp/DirectX-9%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E5%85%A5%E9%96%80-Windows-2000-XP%E7%89%88/dp/4886487262/ref=sr_1_13?ie=UTF8&s=books&qid=1200288761&sr=1-13 他にも何冊か読んだけど、あんまりいい本ないな。 ネットだけで十分っていう人はひどい本つかまされたのかな。
527 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 15:02:52 ] それなら、「ネットだけで十分」じゃなく、「本は使えない、ネットの方がマシ」ってなるだろ 先に国語の教科書買った方がよかったんじゃない?
528 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 15:22:41 ] 工学者のDirectXの本はヘルプをなぞるようにできてるだけだけど 色んな要素がつながってない初心者には全体が見渡せていいと思う 俺は超オススメ ただ、緑っぽい外装で中身が違う類似品があるので中身は見て買わないとw
529 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 16:50:52 ] >>523 ManagedってUnmanagedとどう違うの? 関数名やクラス名が違うだけであんまり変わらないと思うんだけど。
530 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 17:14:43 ] .NETかそうでないか
531 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 17:18:42 ] >>516 ありがとうございます
532 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 17:21:13 ] >>517 Game Programming Gemsはなかなか絶版にならないよ
533 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 17:23:10 ] >>517 初心者用の2Dアクションゲーム本ならソフトバンクから出してるよ
534 名前:533 mailto:sage [2008/01/14(月) 17:26:44 ] あっ出てたw
535 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 18:17:53 ] >>533 うーん、ただ2Dで満足してほしくないな 3Dを知ってる人間が作る2Dゲームのほうが圧倒的に出来がいいからw
536 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 18:45:14 ] >>535 初心者本ね
537 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 19:03:29 ] 3Dを知ってるのと2Dゲームの出来は別に関係ないよ エフェクトに3Dを使う事もあるだろうけど、それは純粋な2Dゲーではないから もっとも、DirectX自体が2Dを3Dの一部とする考え方なので 2Dゲーを作るにも3Dの知識が少しは必要になる
538 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 19:13:47 ] >>537 全然わかってないな 見た目は2Dでもゲームの空間を3Dにする技術のことを言ってるんだよ 表現次第でグラがいくら2Dでもゲームの空間を3Dにすることは可能 3Dの機能なんて理解してて当たり前
539 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 19:32:33 ] だからそれは見た目2Dなだけの3Dゲーだっての
540 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 19:33:25 ] タクティクスオウガみたいなのを想定しているのか?
541 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 19:35:27 ] >>538 が2Dゲーだと思ってるのは3次元上にビルボードを貼り付けた 3Dゲーの事を言ってるんだろ
542 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 19:41:14 ] レイフォースが使ってる表現なんかのことじゃないの?
543 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 19:46:57 ] まあFFなんかでも2Dの美麗マップ上を3D空間座標で キャラが移動してたりするからな それを2Dゲーと見るか3Dゲーと見るかは人それぞれ
544 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 20:04:59 ] >>543 そうそうそういうことそういうこと 高低差とか奥行きとかあるマップとか理解してもらえるといいと思う 螺旋階段とかw
545 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 20:05:57 ] ま、一般的には3Dゲーって言うけれども
546 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 20:18:54 ] >>545 2Dゲーっていうんじゃない? だって見た目3D機能使ってないように見えるんだよ? 内部の演算まで見通して「あ、これ3Dだ」っていえないと思うんだよね 2Dでうまくやってるかもしれないし
547 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 20:20:34 ] あらかじめレンダリングしたデータを 2D で持ってるだけっしょ。 z-order などを工夫して立体っぽく見せてるだけで。
548 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 20:29:45 ] 本当に重要なのは2Dか3Dかではなく、回転有りか無しかだけどな。 回転無しの3Dは全然難しくない。
549 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 20:40:41 ] 正確には、回転と移動の組み合わせが難しい。 思い通りに座標点を制御するのはプログラムそのものだけじゃなく、 最低でも高三以上の線形代数の知識が必要。
550 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 21:24:40 ] Release()し忘れたDirectxTextureなどを検出する方法ってありますか
551 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 21:33:32 ] CComPtrでも使っとけ
552 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 21:45:45 ] >>517 アクションゲームプログラミング (大型本)持ってるけど玄人以外にはいいと思う ページ構成は糞だけど
553 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 21:52:11 ] >>547 3Dを表現した2Dの絵に当たり判定(地形なども含む)を合わせるときなんかは どうしても内部は3Dでもったほうが楽だ フラグとか利用して根性で2Dでも表現できるっちゃできるけど、 開発が長引いたときに地獄みると思うw
554 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 22:00:34 ] 回転を一切使わない3Dって成り立つのか?
555 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 22:02:55 ] >>554 何の話だよw カメラ固定なら拡大縮小だけでいけるんじゃね?w
556 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 22:10:59 ] スマブラみたいに基本を2Dで、モデルを3Dでっていうのは成り立つ。 そういうのはあんまし線形代数の知識はいらん。
557 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 23:03:41 ] >>556 GCで出たのは結構小技が冴える出来だったけどな 板ポリレーザーなんだけどカメラをぐるぐるまわしてもちゃんとレーザーに見える・・・みたいな
558 名前:デフォルトの名無しさん mailto:sage [2008/01/15(火) 01:37:58 ] >>554 ジャンプできる2Dアクションゲームは大抵、中身は回転を一切使わない3Dだよ。 古い例だとサークとか。
559 名前:デフォルトの名無しさん mailto:sage [2008/01/15(火) 12:52:33 ] VRシステムは回転をサポートしていません。
560 名前:デフォルトの名無しさん mailto:sage [2008/01/15(火) 22:59:20 ] パースペクティブシャドウマップで質問です。 スポットライトの場合、 matrix4x4 toShadowSpace = cameraView * cameraProj * lightView * lightProj; のようにするのが一般的だと思いますが、このlightProjの作り方がわかりません。 cameraの射影空間では、スポットライトのコーンがひしゃげてしまい ワールド空間のように、コーンから一意に射影行列を求める訳にはいきません。 現在はひしゃげたコーンから近似的に射影行列を作っていますが、 満足のいく精度ではありません。世の中一般ではどうするのが普通なんでしょうか?
561 名前:デフォルトの名無しさん mailto:sage [2008/01/15(火) 23:09:00 ] LPDIRECT3DTEXTURE9 pTexture; と宣言していて、デストラクタで pTexture->Release(); と解放しようとすると 0x004897d1 でハンドルされていない例外が発生しました: 0xC0000005: 場所 0xcccccccc を読み込み中にアクセス違反が発生しました。 とエラーが出てしまいます。 初期化では D3DXCreateTextureFromFile(pD3DDevice,"sample.bmp",&pTexture) としています。 環境はdirectx9.0 , Visual C++ 2005です。 解放の仕方が悪いのでしょうか?
562 名前:デフォルトの名無しさん mailto:sage [2008/01/15(火) 23:10:17 ] ロード失敗したのに解放しようとしてるとか
563 名前:デフォルトの名無しさん mailto:sage [2008/01/15(火) 23:21:09 ] >562 そう思って if ( pTexture != NULL ) { pTexture->Release(); } としてみたんですが、それでもエラーが出てしまいます。
564 名前:デフォルトの名無しさん mailto:sage [2008/01/15(火) 23:23:54 ] NULLで初期化してる?
565 名前:デフォルトの名無しさん mailto:sage [2008/01/15(火) 23:30:11 ] >564 やってないことに気づいて if(FAILED(D3DXCreateTextureFromFile(pD3DDevice,"select_back.bmp",&pTexture))){ pTexture = NULL; return E_FAIL; } としてみましたが、やはりエラーが出てしまいます。
566 名前:デフォルトの名無しさん mailto:sage [2008/01/15(火) 23:38:02 ] if ( pTexture != NULL ) { pTexture->Release(); pTexture = NULL; } 次はこれだ! ・・・なーんか違うような気もするが・・・w
567 名前:デフォルトの名無しさん mailto:sage [2008/01/15(火) 23:39:19 ] なんかたくさん聞かなきゃいけないけど そもそもD3DDeviceは取得できてるの? それとテクスチャロードして、それ使って表示できてる?
568 名前:デフォルトの名無しさん mailto:sage [2008/01/15(火) 23:43:14 ] 当然アドレスは調べたんだろうな。
569 名前:デフォルトの名無しさん mailto:sage [2008/01/15(火) 23:46:55 ] >567 すいません、初期化やる場所が悪かったみたいで、コンストラクタ内でやったらか解決しました。 ありがとうございます。
570 名前:デフォルトの名無しさん mailto:sage [2008/01/16(水) 00:07:06 ] } catch (...) {
571 名前:デフォルトの名無しさん mailto:sage [2008/01/16(水) 00:31:47 ] 変数の初期化は、その変数を最初に作ったときに必ずするべきだ クラスのメンバ変数なら全てコンストラクタで初期化すべし
572 名前:デフォルトの名無しさん mailto:sage [2008/01/16(水) 07:25:37 ] >>569 はぁ? しばらく悩みそうだなお前・・・w
573 名前:デフォルトの名無しさん mailto:sage [2008/01/16(水) 19:55:28 ] Win32APIはある程度書けるけど、DirectXはまったく知らないって状態なんだけど どの本買って勉強すればいい?
574 名前:デフォルトの名無しさん mailto:sage [2008/01/16(水) 19:55:57 ] ネットで十分
575 名前:デフォルトの名無しさん mailto:sage [2008/01/16(水) 20:20:53 ] そもそも何をしたいのかすら説明するのを面倒くさがる、 その必要性を鑑みることの出来ない人間が何をやっても無駄。
576 名前:デフォルトの名無しさん mailto:sage [2008/01/16(水) 20:48:54 ] >>575 氏ね
577 名前:デフォルトの名無しさん mailto:sage [2008/01/16(水) 21:32:46 ] 反論できずに罵倒しか出てこない場合、図星だったってことだ
578 名前:デフォルトの名無しさん mailto:sage [2008/01/16(水) 21:45:24 ] >>573 人生論(トルストイ著)
579 名前:デフォルトの名無しさん [2008/01/17(木) 18:34:42 ] DirectMusicが 2007November からなくなってしまいましたが、代替手段はどうしていますか? やっぱりDirectSoundでゴリゴリ書くしかないのでしょうか……
580 名前:デフォルトの名無しさん mailto:sage [2008/01/17(木) 23:31:32 ] www.4gamer.net/specials/tooearlytogetvista/003/tooearlytogetvista_003.shtml
581 名前:579 [2008/01/18(金) 18:39:32 ] >>580 情報ありがとうございます まだ混沌としているみたいですね。落ち着くまで古いバージョンのSDK使うことにしました
582 名前:デフォルトの名無しさん mailto:sage [2008/01/18(金) 19:30:02 ] SDIで開発してるんですが、各コントロールにリアルタイムで動くグラフを書きたいんですが、 SwapChainであってるんですか? またその後の方法もわからんです・・・
583 名前:デフォルトの名無しさん mailto:sage [2008/01/19(土) 07:26:10 ] スレ違いの予感 グラフ描くだけならGDIで事足りるだろ
584 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 01:20:27 ] 統合シェーダ型GPUって、DirectX9.0でも動的にVS、PSの振り分けしますよね?
585 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 06:33:59 ] >>584 ドライバーの設計次第。
586 名前:584 mailto:sage [2008/01/20(日) 10:02:27 ] >>585 ありがとうございました!
587 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 10:34:34 ] >>573 本が好きなら本屋で自分好みのDirectX本を探せ あと、どうでもいいコメントはスルーしろ
588 名前:デフォルトの名無しさん [2008/01/20(日) 21:08:22 ] DirectXを使ってWindowsゲームを作ろうとしてます。 買った教則本ではDirectX 9bを使ってましたが、 Microsoftのサイトに行くと、 9とか10とか数字のバージョンが書いてなくて、 DirectX SDK (Novemeber 2007)というのがありました。 これでいいんでしょうか?
589 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 21:24:57 ] 当然C++は理解してるんだろうな?
590 名前:588 mailto:sage [2008/01/20(日) 21:29:48 ] >>589 俺あてでしょうか? 大丈夫です。CとC++は1ヶ月くらい勉強しました。
591 名前:588 mailto:sage [2008/01/20(日) 21:41:07 ] Novemeber 2007をインストールしてみたら、 教則本で使ってる<d3dx9.h>ってのが入ってたので、 9も使えるっぽい感じでした。
592 名前:588 mailto:sage [2008/01/20(日) 21:58:32 ] と思ったら"d3dx9dt.lib"と"dplayx.lib"がないです。。。 前者は"d3dx9d.lib"で代用できるっぽいですが、後者はないんでしょうか。
593 名前:588 mailto:sage [2008/01/20(日) 22:27:22 ] つまずきました。。。InitD3d(hWnd)ができません。 エラー「'InitD3d': 識別子は、引数依存の照合を使用しても見つかりません。」 #include <d3dx9.h>はできてるのに、なんで?
594 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 22:38:59 ] >>588 www.microsoft.com/downloads/results.aspx?freetext=DirectX%20SDK&DisplayEnglishAlso=true&sortCriteria=date&displaylang=ja まず必要なバージョンを調べて入れろ。 分からなきゃ教則本と同じバージョンを入れろ。 教則本を一通り終えるまでここには書き込むな。
595 名前:588 mailto:sage [2008/01/20(日) 22:39:58 ] <d3dx9.h>に入ってるのかと思ったら、 InitD3dは自前の関数だったようです。。。
596 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 22:50:10 ] また今度な。いちいちお前のレポでスレ消費したくない
597 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 23:29:11 ] >>595 気持ちは分かるがんばれ
598 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 23:53:46 ] >>588 ここの住人は辛口だが、これくらいで挫折するなよ。 それからはじめから全部理解しようとするな。 まず本に書いてあるとおりに開発環境を整えて、 DirectX SDKのサンプルコードをビルドして実行しろ。自力で。
599 名前:デフォルトの名無しさん [2008/01/21(月) 00:28:08 ] >>593 全然C/C++理解してねーだろw
600 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 00:57:46 ] >>599 上げんなクソガキ
601 名前:588 mailto:sage [2008/01/21(月) 02:20:31 ] 初心者質問スレなんだからいいじゃん。。。 なんとか2Dのスプライト描画ができました。
602 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 02:48:25 ] お前のチャットルームじゃねーんだよ甘えんな糞ガキ
603 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 03:12:59 ] はたしてクソガキに見えるレスをしているのはどちらだろうか。
604 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 03:48:21 ] >>603 ズバリあなたです。
605 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 04:16:20 ] お前らクソガキクソガキ書きたいだけちゃうんかとクソガキが
606 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 05:29:49 ] >>601 分からないなら参考書と同じSDKを入れるのが一番いいと思うぞ