1 名前:デフォルトの名無しさん mailto:sage [2008/12/12(金) 19:39:57 ] 前スレはカスしか居ないので廃棄の方向で。 ※回答する人も、質問する人も必ず読んでください これらに当てはまる人のための質問スレです。 1.C/C++は多少理解している。 2.最近DirectXを始めたばかり 3.SDKを見ても、Googleで検索しても、いまいち理解できない人 4.余計な雑談は不要ですよ 【 回答してくださる方 】 ・ できるだけ優しく質問に答えてあげてください。 ・ 優しく教えるのが嫌でしたら、解決するためのヒントだけでも結構です。 「ググれ」「SDK見れ」以外の回答でおながいします。 ・ 神ですら理解不能な質問は無視して下さい。 【 質問する方 】 ・ どんな事で躓いているのか明確にしよう。 ・ 長くならないなら躓いている部分のコードを晒してみれ。 ・ 解決した場合、お礼を言うのは当然だが、何をどうしたら解決したかを明確に書こう。 ・ 回答して貰ったら、出来るだけお礼もしよう。
293 名前:デフォルトの名無しさん mailto:sage [2009/01/26(月) 23:35:29 ] PIX for Windowsを使ってフレームの情報をキャプチャしようとしているのですが、 自分で書いたプログラムを起動すると、"PIX Experiment File Version Mismatch" というエラーのようなものが出て、キャプチャが出来ません。 このエラーは何が原因なのでしょうか? DirectX SDKのバージョンは August 2007 です。 DirectXのサンプルをコンパイルしたものは上記のエラーは出ずに正常に動作して、キャプチャも出来ます。
294 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 00:08:54 ] >>293 ファイルパスに全角文字があるとダメな場合があるわよ。
295 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 00:37:53 ] >>294 実行ファイルをドライブのルートに置いて試したところ、正常に動作しました ありがとうございました
296 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 02:34:41 ] HLSLを使って描画したいんですが、IDirect3DDevice9::CreateVertexShader メソッドの引数の const DWORD *pFunction, [in] 頂点シェーダ機能トークン配列へのポインタ。このパラメータでは、各頂点に適用する処理を定義する。 の意味がよくわからないんですけど、いったい結局何を渡せばいいんでしょう?
297 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 06:15:44 ] >>289 めちゃくちゃ重い uvの値を5,6・・・10,11, って上げるほど恐ろしく重くなる っていうかいくつかのPCでやってみろよ 少なくとも自分の環境でやって報告しろ すぐにわかる >>290 知らないなら黙ってろよ ためしたことあるやつならわかる
298 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 06:43:29 ] >>296 msdn.microsoft.com/ja-jp/directx/cc917744.aspx >>297 試してみたけど別に何も変わらん GeForce7900GT GeForce 8600 GT Quadro FX 3700 てか、別に全ての環境で落ちるわけじゃなくて 落ちる場合もあるのでそれに頼るのは止めようねって流れだろ? なんか前にも同じ事書いてスルーされて切れてた奴と同じ匂いがする
299 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 08:28:42 ] >>288 明らかに古いごみドライバ使ってるとか いんてるwのオンボードとかの話なら論外だぞ。 自前でソフトレンダラー組んだことあれば分かるが WRAPのアルゴリズムは&演算1個だからどう考えても重くなりようがない。
300 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 08:32:22 ] ソースのピクセル量が増えて負荷が増えるだけなんだから、 それで遅くなるビデオカードならwrapしようが、 パターンを敷き詰めてた大きなテクスチャを使おうが、 同じように遅くなるだけ。
301 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 08:44:31 ] >>300 テクスチャキャッシュのキャッシュミスか・・・。 つーかそれならよほどデカイテクスチャ使ってるか 貧相なグラボつかってるかのどっちかだな。
302 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 10:30:28 ] 描画サイズが変わらないなら 何回wrapしても ソースのピクセル量は変わらないし サンプリング回数も変わらないし フィルレートも変わらないと思うんだけど もしかして何か別の話してる?
303 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 12:05:03 ] wrapするかしないかの話をしているんだろ。 wrapせず描画色が決定して範囲外を単一カラーで塗りつぶす処理と、 何度もパターンを敷き詰める処理、当然前者の方が軽くなるというだけの話。
304 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 12:10:44 ] 塗りつぶしてる時点でコストは一緒でそ
305 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 12:38:31 ] 全然違うぞ。 どれだけ頭が悪いんだ?
306 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 12:42:35 ] >>304 ミップマップ計算で重くなるという話ならこの辺に出てるね。 ttp://forums.microsoft.com/MSDN-JA/ShowPost.aspx?PostID=4245145&SiteID=7
307 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 12:44:41 ] とりあえずWrapの定義をはっきりさせようぜ 1、テクスチャ・アドレッシング・モード (D3DSAMP_ADDRESSxのD3DTADDRESS_WRAP) 2、テクスチャ・ラッピング・モード (D3DRS_WRAPxのD3DWRAP_x) 3、それ以外の何か
308 名前:306 mailto:sage [2009/01/27(火) 12:47:18 ] さっきの書き方だと語弊があるか。 ミップマップを作っていない場合に極端に遅くなったって話ならここにでてる。 ttp://forums.microsoft.com/MSDN-JA/ShowPost.aspx?PostID=4245145&SiteID=7
309 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 14:46:26 ] なんかWrapを スタンプみたいに敷き詰めてると勘違いしてるお馬鹿さんが混じってない? 単なるテクスチャ座標の扱いの違いだろ
310 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 14:55:25 ] ↑ 一番馬鹿
311 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 15:08:04 ] UVが0-1の範囲を超えていたらスタンプのようになるし、 Wrapが設定されていなければ境界色なりで塗りつぶされる。
312 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 15:13:56 ] 違うだろう 結果的にスタンプになるだけで やってることは たとえば(u,v)=(2.5,3.8)を(u,v)=(0.5,0.8) としてサンプリングしてるだけだ
313 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 15:18:19 ] Windows via C/C++みたいなコンセプトがわかる書籍ってありますか? ここにいる人は詳しそうなのでどういったもので勉強しているのか教えてください。
314 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 15:42:08 ] DirectXのコンセプト?
315 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 15:57:49 ] >>312 繰り返しにならなければ範囲外の色が決定できるんだから、 そのぶんの読み出しコストが無くなるだろ。 もう頭が悪いのは仕方がないから、せめて自分で塗りつぶし処理を書いてみろよ。
316 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 16:08:18 ] 話噛み合ってねーーー!!
317 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 16:38:49 ] 第三者だが噛み合ってなさ過ぎワロタ
318 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 16:54:24 ] だれか助けてやれよw
319 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 18:03:03 ] たとえばスクリーン上の100x100の領域に描画するとしましょう この描画はどこで行っているかというとピクセルシェーダです 自分で塗りつぶし処理を書く必要はありませんね 以下が最小のテクスチャ付きピクセルシェーダです 固定機能パイプラインであっても見えていないだけで似たような処理をしています float4 PixScene( float4 Diffuse : COLOR0,float2 Tex0 : TEXCOORD0 ) : COLOR0 { return tex2D( g_Texture, Tex0 ) * Diffuse; } これは、アドレッシングモードが違ってもまったく同じものが ピクセルの数だけ、つまり100x100=10000回呼び出されます たとえ広範囲に同じ色が固まっていっても関係ありません、どのモードでも1フレームあたり10000回です ここでピクセルシェーダーの中をみてみましょう tex2Dとはg_Texture(テクスチャです。ここでは256x256のテクスチャを既にセットしてあるとします) のTex0(uv座標、頂点シェーダで計算済み)の色をサンプリングしてくれる関数と考えてください 例えば、Tex0.x=0.25、Tex0.y=0.5だったときはフィルタリングの状況にもよりますが テクスチャの(64, 128)ドットの位置の色を返します この色とDiffuse(ポリゴンの色、頂点シェーダで計算済み)を合成して最終的に塗りつぶす色を決定しています。 アドレッシングモードの違いはTex0の値が0.0〜1.0を超えたときのtex2Dの挙動を決定します Tex0.x=1.25、Tex0.y=1.5だったとしましょう CLAMPでは0.0以下であれば0.0、1.0以上であれば1.0として扱います つまりTex0.x=1.0 Tex0.y=1.0と同じ色、テクスチャの(256, 256)ドットの位置の色を返します WRAPでははみ出た分は巻き戻って計算します つまりTex0.x=0.25、Tex0.y=0.5と同じ色、テクスチャの(64, 128)ドットの位置の色を返します 当然では在りますが、PIXで処理時間を計測しても両者に差異は見当たりません
320 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 18:06:21 ] そういえば nVidia系のボードだと 同じ処理を固定機能で書いた場合とシェーダーで書いた場合で 結構処理速度に違いがでるんだけど ATI系だとほとんど差がでないんだけどこれって何でだろう?
321 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 18:33:15 ] >>319 恥の上塗りをしてるだけだからやめとけって…… >>320 どっちの方向に違いが出るのよ?
322 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 19:23:04 ] >>306 ,308 これだ GeForce8300Gsでも激重になる現象確認 >>306 ,308の対応をしたら直った というわけでmipmapに気をつけないと糞重くなります
323 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 20:39:27 ] 今まで気をつけていなかった方が逆に不思議なんだが。
324 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 20:43:10 ] >>323 そこまでいうほどじゃねぇと思うな 俺なんか全く知らなかったしw
325 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 21:42:40 ] なんでミップマップ使うと軽くなるか分かってないんだろうな・・・ float4 PixScene( float4 Diffuse : COLOR0,float2 Tex0 : TEXCOORD0 ) : COLOR0 { return tex2D( g_Texture, Tex0 ) * Diffuse; } このソースで速度が上下するのはtex2D()の部分。 テクスチャが大きすぎてキャッシュに乗らない場合は1サンプルごとに メモリからの読み込みで帯域を食ってしまうが、キャッシュに乗るくらい 小さければキャッシュからの読み出しができるので大変高速に読み出せる。 ミップマップを使うと過剰なサンプリングを回避できる。 命令数と描画ピクセル数だけでは速度は決まらない。 テクスチャサイズが256x256で、-2.5をサンプリングしたら -640&(256-1)の計算でサンプルピクセルが出る。 この計算がどの程度重いかは考えてくれ。
326 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 21:50:23 ] でかいテクスチャを使うと重くなる理由がキャッシュだけしか思いつかない馬鹿が、 知ったかを晒す悲しいスレ。
327 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 21:59:58 ] 素直に感心した。なるほどな
328 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 22:12:57 ] >>325 おおー 俺も理解できた すごいね
329 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 23:36:16 ] なんで、ATI系はおそくならないの? 多少大きいテクスチャを参照したぐらいで 露骨に性能減するって、しょぼい木がするけど そんなもんなの?
330 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 23:40:02 ] >>329 前、Radeon9600proもってたけど 遅くなった気がするけどな
331 名前:デフォルトの名無しさん mailto:sage [2009/01/28(水) 00:13:01 ] ドライバーのバージョンによっても変わるし、 実際のゲームだと描画するたびにテクスチャ切り替えとか 複数のテクスチャを1度の参照したりとかで重くなったりするから、 正確に何が重くなってるか測らないとあかん。
332 名前:デフォルトの名無しさん mailto:sage [2009/01/28(水) 05:57:00 ] >>331 変わるか? あんまり大差ないよ
333 名前:デフォルトの名無しさん [2009/01/28(水) 13:12:45 ] 同次座標(D3DFVF_XYZRHW)での表示はビルボードと同じ効果が得られますか?
334 名前:デフォルトの名無しさん mailto:sage [2009/01/28(水) 13:18:27 ] はい
335 名前:デフォルトの名無しさん [2009/01/28(水) 13:29:32 ] >>334 ありがとうございます
336 名前:デフォルトの名無しさん [2009/01/28(水) 16:36:54 ] まぁそういう現象の起きるハードウェアは実際に結構あるので Wrapに頼る設計はWindowsではやらん方がいいね
337 名前:デフォルトの名無しさん mailto:sage [2009/01/28(水) 21:23:38 ] XFileでアニメーションを実装するのとObjファイルを書きだしてモーションパスでアニメーションを実装するのはどちらがいいですか? XFileは簡単だけど処理が重いと聞きました この2つならどちらがいいかアドバイスお願いします
338 名前:デフォルトの名無しさん mailto:sage [2009/01/28(水) 21:41:32 ] ファイル形式が違うだけで処理の重さは処理を作るやつ次第だと思うが・・・
339 名前:デフォルトの名無しさん mailto:sage [2009/01/29(木) 07:15:44 ] Xファイルは処理が重いって言うより、単純にアニメーション再生させるなら簡単だけど それ以上のことをやろうとすると難しいっていう感じだな
340 名前:デフォルトの名無しさん mailto:sage [2009/01/29(木) 07:19:50 ] >> 339 なるほど 例えばOBBで衝突判定をしたりとかですか?
341 名前:デフォルトの名無しさん mailto:sage [2009/01/29(木) 07:27:22 ] >>337 objファイルでアニメーションしたほうが何かといいよ
342 名前:デフォルトの名無しさん [2009/01/29(木) 15:54:56 ] up2.viploader.net/pic3/src/vl2_094953.jpg これだろ
343 名前:デフォルトの名無しさん mailto:sage [2009/01/29(木) 16:27:31 ] 半透明のポリゴンを持つメッシュを表示したいんですが 普通に描画すると、半透明ポリゴンを先に描画してしまった時に後ろのポリゴンが表示されない場合があると思うんですが どうすればいいでしょうか?
344 名前:デフォルトの名無しさん mailto:sage [2009/01/29(木) 17:02:21 ] Zバッファ法の限界なのでどうにもならない 半透明ポリゴンは最後に書き込む何らかの仕組みが必要
345 名前:デフォルトの名無しさん mailto:sage [2009/01/29(木) 20:37:16 ] ttp://www.hsjp.net/upload/src/up57929.jpg 販促チラシ
346 名前:デフォルトの名無しさん mailto:sage [2009/01/29(木) 20:48:17 ] ここんとこずっと朝から晩まで本見たりネット見たりしているのにいまだに画面に何か出すことすら出来ない
347 名前:デフォルトの名無しさん mailto:sage [2009/01/29(木) 20:54:56 ] Javaでもやれば?手っ取り早いし、それなりに実用的だぞ
348 名前:デフォルトの名無しさん mailto:sage [2009/01/29(木) 22:42:13 ] DirectMusic8で音鳴らしてるんだが エラーでないのに音が鳴らないときとかあって困る DirectMusicLoaderは1つしか使うなっていうから 1つしか使わないようにコードかえたが やっぱり音が鳴らないときがある
349 名前:デフォルトの名無しさん mailto:sage [2009/01/29(木) 22:49:49 ] >>346 だせぇなゆとりにもほどがある
350 名前:デフォルトの名無しさん mailto:sage [2009/01/29(木) 23:02:52 ] >>348 MIDI?WAV?そもそもキミのPCは正常に音は再生できてるのかい?
351 名前:デフォルトの名無しさん mailto:sage [2009/01/29(木) 23:11:26 ] >>349 みんなできててすげーな これでも高校のとき成績は理系でトップクラスだったんだぞ
352 名前:デフォルトの名無しさん mailto:sage [2009/01/29(木) 23:18:12 ] >>351 ケツからだろ 夢みんな
353 名前:デフォルトの名無しさん mailto:sage [2009/01/29(木) 23:32:02 ] そもそも発想がイケてない 画面に何か出てるサンプルからみろよ っていうかそこまでアフォならちょっとしたゲームを作れる入門書から買ったほうが速いだろ? VCとかDirectXとかもうダウンロードしてきたのか?
354 名前:デフォルトの名無しさん mailto:sage [2009/01/29(木) 23:37:27 ] VC++もSDKももうある サンプルを改変して.xを表示することくらいはできた 自分で1から作ることができない。"概念"さえ掴めばパッパといける気はするが
355 名前:デフォルトの名無しさん mailto:sage [2009/01/29(木) 23:41:07 ] >>350 WAV 正常に再生できてるよ DirectSoundのサンプルはちゃんと再生されるけど DirectMusicのサンプルは再生されないときがある ワケワカラン おとなしくDirectSound使いたいところだが SDKのVerがアレなので(ry >>346 WIN32APIプログラムとかの入門をとばして いきなりDirectXの入門書を見てたりしないか?
356 名前:デフォルトの名無しさん mailto:sage [2009/01/29(木) 23:52:36 ] >>354 なんだできてんじゃん >自分で1から作ることができない 1からってどういうこと? なにもみないで書くって意味だったら10年やってる俺でも無理だ テキトーに必要なもんかき集めてぺたぺた貼って動かすぐらいならできるがな 初期化処理の書き方なんてその時代時代でやることかわるし 大事なのはサンプル理解して応用していける力なので そういう自分で・・・っていうのは必要ない まずはなんでもいいからゲームを作ってみろ それ以外のことは無駄だから考えるな そうだ、テトリス作れ3Dテトリスな(ゲーム的には2Dの)ハイ決定さっさと作れ
357 名前:デフォルトの名無しさん mailto:sage [2009/01/30(金) 00:31:25 ] 頭が悪い奴って勉強頑張れるらしい
358 名前:デフォルトの名無しさん mailto:sage [2009/01/30(金) 03:52:30 ] ID3DXSpriteはIDirect3DDevice9のように2つのテクスチャを合成してから表示させたり出来ないんでしょうか?
359 名前:デフォルトの名無しさん mailto:sage [2009/01/30(金) 19:18:22 ] 質問です Direct3Dで線分を描画したいんですけど、どうすればいいんでしょうか?
360 名前:デフォルトの名無しさん mailto:sage [2009/01/30(金) 19:23:30 ] これはググレカスといわざるを得ない
361 名前:デフォルトの名無しさん mailto:sage [2009/01/30(金) 19:31:36 ] DrawPrimitiveで引数にLINELIST
362 名前:デフォルトの名無しさん mailto:sage [2009/01/30(金) 19:58:38 ] なるほど、DrawPrimitiveでできたんですね ありがとうございました
363 名前:デフォルトの名無しさん [2009/01/30(金) 23:00:59 ] DirectXのプロジェクトってユニコードビルドにしないとだめなのでしょうか、 単にデフォルトがそうなっているだけなのでしょうか? チュートリアルのプロジェクトがデフォルトがユニコードになってます。
364 名前:デフォルトの名無しさん mailto:sage [2009/01/30(金) 23:15:07 ] サンプルフレームワークのDXUTがUnicodeビルド前提ってだけだ。 DirectX SDK使う分にはどっちでもいいよ。
365 名前:デフォルトの名無しさん [2009/01/31(土) 01:40:58 ] トンクス!
366 名前:デフォルトの名無しさん mailto:sage [2009/01/31(土) 18:19:59 ] 中国人ですらこれ位作れるのにお前らときたら ttp://www.amazon.cn/mn/detailApp?qid=1232375855&ref=SR&sr=13-1&uid=168-9317868-9331419&prodid=pcgm812027
367 名前:デフォルトの名無しさん mailto:sage [2009/01/31(土) 18:33:34 ] 画面にピクセル単位で指定して描画したのですが D3DFVF_XYZRHWで描画したポリゴンではできるのですか?
368 名前:デフォルトの名無しさん mailto:sage [2009/01/31(土) 18:38:10 ] 画面にピクセル単位で指定して描画したいのですが D3DFVF_XYZRHWで描画したポリゴンではできるのですか? 訂正ですすいません
369 名前:デフォルトの名無しさん mailto:sage [2009/01/31(土) 18:40:31 ] >>366 ただのBitBltじゃん
370 名前:デフォルトの名無しさん mailto:sage [2009/01/31(土) 18:45:50 ] 既に描画したポリゴンでできるのかと聞かれても、よくわからない。 D3DFVF_XYZRHWを使って作った頂点バッファだったら簡単にできると思う。 >>369 どういうこと?話が見えないんだけれども
371 名前:368 mailto:sage [2009/01/31(土) 18:50:16 ] >>370 レスありがとうございます とりあえずやってみます><
372 名前:371 mailto:sage [2009/01/31(土) 20:13:11 ] タイトル画面を表示させようと思い試しに作ってみました appleloader.bbsnow.net/pic_loader/nomal/html/4441.html 上の画像は512*512のテクスチャをD3DFVF_XYZRHWを使って作ったポリゴンに貼り付けて 表示させたやつです 下の画像は1024*768のテクスチャを・・・ 512*512のほうは正常に描画されるのですが1024*768のほうは変になってしまいます これはDirectXが2のべき乗の大きさのテクスチャしかサポート?していないからですか? 他に理由あったら指摘お願いします
373 名前:デフォルトの名無しさん mailto:sage [2009/01/31(土) 20:17:52 ] なんで1024×1024で試してみてから質問しないのですか?
374 名前:デフォルトの名無しさん mailto:sage [2009/01/31(土) 20:23:01 ] >>373 1024*1024で貼り付けてUVで調整したら解決しました お手数掛けて申し訳ありません
375 名前:デフォルトの名無しさん mailto:sage [2009/01/31(土) 20:23:34 ] テクスチャの画像はどうやって作ってるの? それのために呼び出したAPIを全部調べたの?
376 名前:デフォルトの名無しさん mailto:sage [2009/01/31(土) 20:30:33 ] D3DXCreateTextureFromFileEx です API調べてませんでした 次から調べてから質問します 申し訳ございません
377 名前:デフォルトの名無しさん mailto:sage [2009/01/31(土) 22:02:43 ] DirectXに、次はねぇ・・・
378 名前:デフォルトの名無しさん mailto:sage [2009/01/31(土) 23:09:12 ] if(diks[DIK_UP] & 0x80) { m_dir = FOR; Sleep(500); } DirectInputでキーボードから入力値を取得しています Sleep()を抜くととてつもない速さでカーソルが移動してしまいます Sleep()を使うとほかの処理も止まってしまうので 他の処理をとめないで同じようなことできる方法ありませんか?
379 名前:デフォルトの名無しさん mailto:sage [2009/01/31(土) 23:50:11 ] 押しっ放しじゃなくて 押した瞬間だけ検出するようにしろよ
380 名前:デフォルトの名無しさん mailto:sage [2009/02/01(日) 01:24:16 ] >>378 マルチ
381 名前:デフォルトの名無しさん mailto:sage [2009/02/01(日) 02:41:44 ] D3DPRESENT_PARAMETERSのPresentationIntervalをD3DPRESENT_INTERVAL_ONE にするとリフレッシュレートに勝手にあわせてPresentが行われまする。 普通1フレーム当たり1/60秒になるので、待たせたい秒数になるように フレーム数をカウントして、一定数ごとにカーソルを移動とかじゃだめ? 間抜けな回答してたらどうしよう・・・。
382 名前:デフォルトの名無しさん mailto:sage [2009/02/01(日) 04:11:24 ] >>381 SDKのサンプルみろ それが一番速い 設定選べるようになってるサンプルあるだろ?
383 名前:デフォルトの名無しさん mailto:sage [2009/02/01(日) 04:13:23 ] > 普通1フレーム当たり1/60秒になるので、 とはかぎらない。
384 名前:デフォルトの名無しさん mailto:sage [2009/02/01(日) 04:16:10 ] まあ、だいたい液晶だからなるっちゃなるなw
385 名前:デフォルトの名無しさん mailto:sage [2009/02/01(日) 04:17:04 ] よくいるよね、一般的な例の話をしてるのに特殊な例を持ち出してこれは違う!って言う奴。 そんなことは百も承知だってのに。 そんなに自分が物知りだってひけらかしたいのかね。
386 名前:デフォルトの名無しさん mailto:sage [2009/02/01(日) 04:29:04 ] www-06.ibm.com/jp/domino04/pc/support/Sylphd03.nsf/jtechinfo/SYJ0-02925C4
387 名前:デフォルトの名無しさん mailto:sage [2009/02/01(日) 04:30:52 ] >>386 >>385 を読めばそれが反論になってないことは理解できるだろ、馬鹿?
388 名前:デフォルトの名無しさん mailto:sage [2009/02/01(日) 04:49:27 ] お前らよくこんなカス共の質問に回答してやれるなw
389 名前:デフォルトの名無しさん mailto:sage [2009/02/01(日) 04:52:54 ] そもそもマルチだしな。
390 名前:デフォルトの名無しさん mailto:sage [2009/02/01(日) 07:07:06 ] 60にすると具合悪い事はままある
391 名前:デフォルトの名無しさん mailto:sage [2009/02/01(日) 14:17:41 ] V-Syncって普通自前でやるのかな?
392 名前:デフォルトの名無しさん mailto:sage [2009/02/01(日) 16:07:32 ] >>382 の言ってるサンプルがどれかわかんなかったw よく調べたらうちのはディスプレイモードによってリフレッシュ レートが56〜75の間で4種類くらいあるから、フレーム数決め打ち だと環境によって変わっちゃうなあ。>>386 は50Hzだったし。 QueryPerformanceCounterとかからミリ秒算出して、前のカーソル 移動時の時間と比べて一定時間たったら再実行とか。だめ?だめ?
393 名前:デフォルトの名無しさん mailto:sage [2009/02/01(日) 16:09:49 ] 液晶でも最近のフルHDのTVにつなぐとデフォが24Hzになったりするしな。
394 名前:デフォルトの名無しさん mailto:sage [2009/02/01(日) 16:24:32 ] QueryPerformance系使うくらいならtimeGetTime()の方が制約が少なくてらくだけどね どうせミリ秒単位を扱うわけだし
395 名前:デフォルトの名無しさん mailto:sage [2009/02/01(日) 16:30:29 ] DirectXのVSyみそなんかリフレッシュレートっぽい 時間でウェイトかけてるだけだから。 ゲーム機の実Vクロックでループ回すのとはわけが違う。
396 名前:デフォルトの名無しさん mailto:sage [2009/02/01(日) 17:32:20 ] >>395 タイマでウェイトかけるのはウインドウモードのときだけだよ。
397 名前:デフォルトの名無しさん mailto:sage [2009/02/01(日) 17:37:00 ] >>392 >サンプルがどれかわかんなかったw 全部見ろよ
398 名前:デフォルトの名無しさん mailto:sage [2009/02/01(日) 17:38:53 ] サンプル連呼されても初心者にはわからんものだよ 頭の固い奴にはそれがわからんのです
399 名前:デフォルトの名無しさん mailto:sage [2009/02/01(日) 17:39:41 ] ゲームで複数のXFileを読み込むときのロード時間が気になっているのですが これを高速化したりするのは可能でしょうか? ネットで調べたところ、一度DirectXの「Xファイル読み込み関数」で ロードしておいたメッシュデータをバイナリで保存して、次回起動時に そのデータを直接読み込むという手段を取られていた方がいるのですが 具体的にどうやるのでしょうか?また、本当に早くなるのでしょうか? D3DXLoadMeshHierarchyFromXなどのXファイルロードルーチンはそのマシン で描画が早くなるようにロードしたメッシュを最適化しているという 話を聞いたことがあるので、このやり方で本当にロードが早くなるのか 心配です・・・。 どなたかXFILEのロードの高速化について詳しい人がいたらアドバイスを お願いします。
400 名前:デフォルトの名無しさん mailto:sage [2009/02/01(日) 21:36:01 ] どれだけ速くなるかは知らないけど 頂点バッファとインデックスバッファ、あと属性テーブルみたいなの取得すればいいじゃん
401 名前:デフォルトの名無しさん mailto:sage [2009/02/02(月) 04:57:21 ] >400 ありがとうございます、階層化されたメッシュの場合にかなり面倒そうですが 今度の週末にでも一度組んでみようと思います。
402 名前:デフォルトの名無しさん mailto:sage [2009/02/02(月) 23:55:43 ] >>401 最近その問題(遅い)にぶちあたったが、遅いのはアニメーションのロードだった アニメーションのロードだけ自前でやるのお勧め メッシュのロードはそこそこに早かったよ
403 名前:デフォルトの名無しさん mailto:sage [2009/02/03(火) 00:21:39 ] カメラの回転での質問です。 横回転は問題ないのですが、縦回転すると90度を超えると 急に視界が反転してしまいます。 90度になったらD3DXMatrixLookAtLHのpUpを逆方向にすると 縦回転だけする場合は良いのですが、 少しでも縦回転した状態で横回転すると、視点がぐるぐる 変に回ってしまいます。 どうすれば良いでしょうか?
404 名前:403 mailto:sage [2009/02/03(火) 00:32:03 ] すいません 横回転が加わっている状態で縦回転すると、でした。 横回転はどの場合でも普通に回転してくれます。
405 名前:デフォルトの名無しさん mailto:sage [2009/02/03(火) 01:12:25 ] まわす順番がおかしいんじゃねーの? とりあえずその部分のコード貼れや
406 名前:デフォルトの名無しさん mailto:sage [2009/02/03(火) 02:39:51 ] D3DXMatrixLookAtLHの引数で回転するんじゃなくて 注視点を原点とするカメラのローカル姿勢を回転させて そこからビュー行列を逆算すればおk
407 名前:403 mailto:sage [2009/02/03(火) 06:23:07 ] >>406 すいません具体的にどのようにすれば良いでしょうか? 今現在は D3DXMatrixRotationX(&mat, g_CameraAngle.x); D3DXVec3TransformCoord(&g_Camera.vecEyePt, &g_Camera.vecEyePt, &mat); という感じでカメラの座標を変換してから D3DXMatrixLookAtLH(&matView, &vecEyePt, &vecLookatPt, &vecUpVec); pDevice->SetTransform(D3DTS_VIEW, &matView); でカメラ位置を変更しています。
408 名前:デフォルトの名無しさん mailto:sage [2009/02/03(火) 11:04:16 ] // カメラの初期姿勢(視点(0,0,-10)、注視点(0,0,0)の場合)(変更しないで保持する) const D3DXVECTOR4 vecEyePt(0,0,-10,1) ; const D3DXVECTOR4 vecLookatPt(0,0,0,1) ; const D3DXVECTOR4 vecUpVec(0,1,0,0) ;//ここだけw成分が0であることに注意(回転のみ反映) // 初期姿勢からどれくらい移動したいかの行列 // 回転だけでなく拡大縮小移動なども合成できる D3DXMatrixRotationY(&mat, g_CameraAngle.y); D3DXVECTOR4 Eye, Look, Up D3DXVec4Transform ( &Eye, &vecEyePt, &mat ) ; D3DXVec4Transform ( &Look,&vecLookatPt, &mat ) ; D3DXVec4Transform ( &Up, &vecUpVec, &mat ) ; D3DXMatrixLookAtLH(&matView, (D3DXVECTOR3*)&Eye, (D3DXVECTOR3*)&Look, (D3DXVECTOR3*)&Up); もうちょっとスマートなやり方あるけどそれは少し考えればわかるよね
409 名前:デフォルトの名無しさん mailto:sage [2009/02/03(火) 18:17:31 ] 最初はスマートなやりかたより理解しやすさを追求すればいいじゃない UpVectorが0成分だと気づかなくて 3日くらい悩んでたのを思い出した
410 名前:デフォルトの名無しさん mailto:sage [2009/02/03(火) 19:00:34 ] >402 ありがとうございます、時間が取れたのでアニメーションの書き出しを 試してみたのですが、アニメーションコントローラにアニメーションデータの 実体が見当たりません。 アニメーションデータの実体とサイズはどうやって取得したら 宜しいのでしょうか?
411 名前:デフォルトの名無しさん mailto:sage [2009/02/03(火) 20:59:38 ] >>410 sizeof()じゃだめ?
412 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 05:07:11 ] Xファイルを読み込むためのD3DXLoadMeshHierarchyFromX関数にて LPD3DXANIMATIONCONTROLLERというアニメーションコントローラに 値を入れてアニメーションを管理しているんですが、どうもこの LPD3DXANIMATIONCONTROLLERに実体が無いというかsizeofしても 4の値しか返ってこないんですが・・・。
413 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 05:20:33 ] C/C++の基礎を勉強したらどうかね?
414 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 08:22:41 ] DirectXの前のCの本読んだほうがいいなコレは。
415 名前:412 mailto:sage [2009/02/04(水) 09:57:16 ] 日頃の勉強不足を晒してしまい申し訳ございませんでした。 DirectXでゲームを何本か作った事はあるのですが、DirectX側で 保持しているアニメデータを直接いじった経験が無く、ネットで色々 調べてみたのですが、どうにもお手上げな状態です。 アニメデータ等が読み込まれているメモリ配列部分がどこにあるのか 皆目見当がつかないのです。 なにかアドバイス等もらえないでしょうか・・・?
416 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 11:47:54 ] >>415 頭に LP がついているのは、ポインタだ。 ポインタは(32bitOSなら)4バイトで当然。 あと、アニメーションコントローラーの内部が確保したメモリーに直接アクセスする手段はない。 AnimationSetを取得したり、そこからさらにAnimationを取得したりという間接的な手段でアクセスするべし あと、AnimationControllerをいじるのはやめたほうがいいぜ。 メモリーリーク含め、バグが多すぎる。 例えば時間0の情報を書き換えると、アニメーションが正常に行われなくなる。 取得したAnimationSetを、他のコントローラーにセットしてもまともに再生されない。 Animationを削除してから追加すると、メモリーリークする。などなど
417 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 12:40:57 ] ウィンドウの左端を画面外に移動させると画像も画面外から描画されることを期待していたのですが 画面端から表示されてしまいます。 画面外に移動させてもクライアント座標の(0, 0)から描画させるにはどうすればいいのですか? // これだとウィンドウの左端が画面外に出たときに(0, 0)から描画されない LPDIRECT3DDEVICE9 pD3Ddev; pD3Ddev->Clear(0, NULL, D3DCLEAR_TARGET, D3DCOLOR_XRGB(255, 255, 255), 1.0f, 0); pD3Ddev->BeginScene(); Draw(); D3Ddev->EndScene(); if( FAILED(pD3Ddev->Present(NULL, NULL, m_hWnd, NULL)) ) { pD3Ddev->Reset(&g_pDirectX->d3dpp); }
418 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 17:24:28 ] つーかアニメデータなんて自分用の形に吐き出して自分で管理クラスつくれよ
419 名前:デフォルトの毛無しさん mailto:sage [2009/02/04(水) 19:49:35 ] >>417 Presentの引数を全部NULLにするとか。 ごめん、勘で言った。
420 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 21:46:56 ] >>417 ウィンドウサイズを変える毎にクライアント領域のサイズに合わせてデバイスを作り直す
421 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 21:51:39 ] デスクトップ領域からウィンドウが外れたときの話だと思うが
422 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 21:56:26 ] 無知発見。
423 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 22:51:27 ] >>417 そのソースコピペ? コピペじゃないならコピペにしてくれ。 他にも書き写しのときにミスがありそう。 ああ、あと、俺の環境では画面からはみ出しても普通にクライアント座標の端っこから描画されるぞ。 はみ出した部分は画面外だから当然見えない。 <環境> WindowsXP Home Edition SP2 DirectX 9.0c (4.09.0000.0904) DirectX SDK Novemver 2007 こんぱいら BCC 5.5
424 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 22:57:09 ] だからクライアントサイズとデバイスサイズが合ってないとそうなるんだよ
425 名前:403 mailto:sage [2009/02/04(水) 23:06:07 ] >>408 とても参考になりました わかりやすいコメントまでつけてくださって 本当にありがとうございます
426 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 07:31:39 ] DirectinputのDIK_LEFTとかを引数で渡したい場合は どうやるんですか? intなら foo(int i); foo(??? DIK)
427 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 07:45:17 ] BYTEでいいんじゃね? >Dinput.h に定義されているキーボード デバイス定数は、キーボード デバイスの >データ パケット (256 バイト配列) 内でのオフセットを表す。
428 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 07:52:20 ] ありがとうございます><
429 名前:412 mailto:sage [2009/02/05(木) 08:21:42 ] >416 丁寧な解説ありがとうございました。 自前でアニメーションの仕様を0から組むのはあまりにも敷居が高いですし メモリリークなどが発生してしまうようではどうも面倒の方が多そうですね。
430 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 15:04:07 ] 現在頂点カラー(0xFFFFFFFF)で描画しているテクスチャを 頂点カラー(0xFF000000)に変更して全く同じように描画、 つまり、テクスチャのポリゴンとの合成方法を加算合成にしたいのですが、 どの設定メソッドを使用すればいいのでしょうか? ピクセルシェーダを自作すべきなのでしょうか?
431 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 18:58:25 ] DirectInputやDirectSoundについて質問です ゲームループをタイトルとゲームで分けています タイトルが呼ばれたらインプットデバイス・サウンドデバイスを作る ゲームが呼ばれたらタイトルを破棄してゲームでインプットデバイス・サウンドデバイスを作る というやり方でいいでしょうか?
432 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 19:51:35 ] >>430 デバイス->SetTextureStageState( 0, D3DTSS_COLORARG1, D3DTA_TEXTURE );// 合成元1(テクスチャ) デバイス->SetTextureStageState( 0,D3DTSS_COLORARG2, D3DTA_DIFFUSE );// 合成元2(頂点カラー) デバイス->SetTextureStageState( 0, D3DTSS_COLOROP, D3DTOP_ADD );// 合成方法(加算)
433 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 19:55:41 ] >>431 タイトルとゲームでウインドウ遷移したりするの? しないならデバイス作り直さなくてもよくね? 別に作り直ししちゃいけないわけでもないし そのやりかたでもいいんじゃね? シーンごとにリソース解放するってならわかるけど デバイスを無理して作り直す必要はないとは思うけどね
434 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 20:21:31 ] >>433 ありがとうございます
435 名前:430 mailto:sage [2009/02/06(金) 13:53:26 ] >>432 ありがとうございました
436 名前:デフォルトの名無しさん [2009/02/06(金) 16:01:00 ] 最近3Dの勉強を始めた者ですが、質問です。 人間モデルがあったとして、手に別のモデルをくっ付けたい場合は、その座標等を取得する関数のような モノがあるのでしょうか? いまいちその辺のスタンダードな取得方法がわからなくて迷走してます。 3Dモデルのノード?に名前をつけれるのでその名前から取得したりするのかなぁと思ったりしてるんですが どうなんでしょう? ググッて調べても検索ワードがまずいせいか、その辺がまったくわからなくて…Orz
437 名前:デフォルトの名無しさん mailto:sage [2009/02/06(金) 16:06:28 ] ボーンの座標計算を自前で行えば自由自在
438 名前:デフォルトの名無しさん mailto:sage [2009/02/06(金) 16:07:26 ] 一発で座標を取得できるような便利関数は無い しかし、どんな方法であれアニメーションをさせている限り ボーンが今現在どんな姿勢をしているかは取得できるはずなので 自力で目的のボーンの変換行列を探せばOk
439 名前:436 [2009/02/06(金) 16:31:55 ] >>437 >>438 なるほど、モデルじゃなくボーンの方を何らかの方法で調べて 目的の行列が見つかりさえすれば座標が取得できるわけですね。 もやもやした感じが少し晴れました。 その方向で調べてみます。 ありがとうございました。
440 名前:デフォルトの名無しさん mailto:sage [2009/02/06(金) 16:48:29 ] 深度バッファの取得方法がよく分からないんだけど もしかして2回レンダリングするの?
441 名前:デフォルトの名無しさん [2009/02/06(金) 22:08:55 ] direct X ではベクトルの始点、終点を与えて矢印を引くことできないんだ。。。 (x,y,z)成分が与えられていれば、θ=arctan(y/x)、φ=arctan(z/sqrt(x^2+y^2) から角度が求められるから、x-Fileで作成した例えばy方向の矢印を順次回転 させて(x,y,z)方向に向ければいいんだろけど(しかし、これもx≒0のときθの 精度が悪くなるからarcsinやarccosに切り替えたり、θが第何象限にあるかを 判定する必要があるから、そう簡単ではない)。 それよりもわからないのは、剛体の3次元運動の角速度は、普通、剛体に固定 された回転座標系ξηζ上で成分表示されている。これをもとに角速度ベクトル、 角運動量ベクトルをワールド座標系上で矢印表示するにはどうしたらいいんだ? directXの回転変換マトリックスってベクトルを回転してるのか、それとも座標系 を回転してるのか?マトリックスの内容と表示を照らし合わせて確認すればいいが 面倒クセェ。 、
442 名前:デフォルトの名無しさん mailto:sage [2009/02/06(金) 22:34:26 ] >>440 深度バッファをシェーダで利用したりするのは、DirectX10以降でないとダメ。 それ以前はNVIDIAが独自拡張で別のことに使っていた関係で使えない。 だから9では、MRTで深度値を別のテクスチャに描画して使う。 >>441 なんでいちいちθを求めるんだ。 方向ベクトルがあれば、そこから直接回転行列作ればいいだろう。 ちゃんとベクトルの勉強してたら暗算でできるレベル。
443 名前:デフォルトの名無しさん [2009/02/06(金) 22:51:54 ] >>442 わかってない。もういい
444 名前:デフォルトの名無しさん mailto:sage [2009/02/06(金) 23:09:43 ] >>443 質問文が長すぎる 簡潔にこれがわからないって最初に書け詳細がその後だ
445 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 00:56:22 ] 正直、何が聞きたいのかさっぱり分からないけど ベクトルからその向きになるような回転行列を作りたいって話なら ここを参考にすればいいと思うよ ttp://marupeke296.com/DXG_No47_CharacterDirectionMatrix.html
446 名前:デフォルトの名無しさん [2009/02/07(土) 07:25:07 ] >>444 お前はひっこんでろ >>446 ありがとう。 directXには任意の軸方向回りに、ある角度だけ回転した場合の 回転行列を求める関数がある。 なので、X-Fileで作成した初期方向のベクトルaと希望の方向の ベクトルbの外積を求めれば、必要な情報が得られることは紹介 してくれたサイトを見ないでも、しばらくしてわかった。 あとは、World座標系と剛体に固定された座標系の間の座標変換行列 が必要だけど、これはベクトルの回転変換行列と要素が一致するだろう。 (そうあってほしい)
447 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 08:20:06 ] >>446 直接 〜が知りたい って文章かけないわけ?
448 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 15:57:37 ] もういいから放置しておけよ こいつが必要なのはDierctXの知識じゃなく日本語の知識だ
449 名前:デフォルトの名無しさん [2009/02/07(土) 16:49:31 ] >>447 馬鹿は相手しないね。悪いけど。 >>448 馬鹿がもういっぴき。臭ぇーちんぽが、死ね。
450 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 16:58:13 ] 考えるまでもなくベクトルの回転も座標の回転も同マトリックスでできるだろ。 座標の回転なんて基底ベクトルの回転に等しい。
451 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 17:06:21 ] 数学がわからんだけじゃないか DirectX関係ねぇ
452 名前:デフォルトの名無しさん [2009/02/07(土) 17:18:49 ] ふぁーーっ。 >>450 おお!、あんた、なかなk筋のいい回答してるよ。 良くできましたね! 皆さんでほめてあげましょう(校長先生のお話)w。 >>451 相変わらず馬鹿だな。お前に言われるのは、100年早い。 死ね、臭ぇーーー腐れチンポが。 まだ、書いていいぞ。あっははは。 やーい、腐れチンポ、あははは
453 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 17:58:32 ] DirctXってかシェーダーの質問なんです game.watch.impress.co.jp/docs/20071227/3d30.jpg ↑みたいにライティング結果をメッシュのテクスチャに焼きこんで それを出力させたいんですが、どうすればいいんでしょうか?
454 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 22:55:54 ] 見た瞬間、グロかとおもた。
455 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 22:58:12 ] ビビタ
456 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 01:45:47 ] >>453 UV座標をスクリーン座標にしてレンダーターゲットに描画するとか? ttp://www1.axfc.net/uploader/File/so/18247 でもテクスチャの使いまわし(特に左右対称の場合とか)があると うまくいかないのよね。
457 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 04:05:10 ] >>453 モデリングソフトで真正面・真横・真上・真下から レンダリングした絵をテクスチャにして平行投影で貼ればよかろ?
458 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 04:06:46 ] ってCGワールドに載ってたw
459 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 16:19:04 ] ゲームのDVDから画像データを抜き出すことってできるんですか?
460 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 16:24:09 ] できるよ GetModuleDds(Disk code);
461 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 16:25:43 ] >>459 ゲーム実行中にVRAMコピーすれば余裕 でもそんなこと頑張ってもたかが知れてるぞ
462 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 16:47:30 ] >>461 専門がそっちなんで最初はそれを作ってたんですが、XBOXを3台ほど壊してしまって 少しぐらい難しくても経済的にソフトでやろうと思ったんですが、予想以上にファイルがどうなってるのかわからず困ってます アドバイスお願いします。
463 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 17:31:16 ] スレチ
464 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 17:46:12 ] 該当しそうなスレはことごとく餓鬼の巣窟でまったく話にならないんです。 本気で取りだしたいのでゲームに埋め込むときのノウハウががわかっている方がいるであろうこのスレを選びました。 3Dデータの本質がわかっているこのスレでお願いします!
465 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 17:52:42 ] pc11.2ch.net/test/read.cgi/prog/1229250800/
466 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 18:06:42 ] それらしいスレにはわかる人はいないんですよ
467 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 18:07:47 ] 俺はわからないけど、とりあえず夜まで待てば?
468 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 18:17:12 ] データだけ取り出せればいいの? 画像フォーマットの解析は自分でやるんだよね?
469 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 18:26:14 ] 暗号化されているのか、対応ソフトがあれば見れるのか そもそも3Dデータであろう部分は判別できるのかとか ゲームを作る時のデータ扱いの常識と、あとは自分で調べていけるような流れを教えてもらえるとうれしいです
470 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 18:30:33 ] スレチだっつってんだろ死ね
471 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 18:31:00 ] XBOXは覗いたことないけど普通は独自で解析できないようにしてるんじゃないのか? もし見れたらMADゲームとかで好きにキャラとか動かして遊べるからそうとう盛り上がってるはずだけど ぐぐっても出てこない、きびしいんじゃないだろうか
472 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 18:38:46 ] DirectX関係ないだろアホか
473 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 18:41:32 ] 単なるbyteの配列を抜き出してどういうフォーマットのデータがどう並んでいるかなんて判別不可能に近い。 ましてやXBOXなんてUMAだからシステムメモリとビデオメモリが共有だろ。 どこに何があるのかすら分からないだろ。
474 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 18:45:32 ] まったく関係なくもないな 同じような道だし DirectXを使ったPCゲームで3Dモデルをどう使ってるかから調べればいいんじゃないのか? XBOXはPCゲームを移植しやすいように作ってあるらしいから共通点がみつかるかも
475 名前:デフォルトの名無しさん [2009/02/08(日) 18:54:57 ] 俺も知りたいからあげ
476 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 19:01:56 ] そんなもんゲームによりけりだろ
477 名前:ボコボコにしてやんよ ◆BokoBoko7c [2009/02/08(日) 19:31:23 BE:1083996656-2BP(2537)] 氏ね
478 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 20:19:06 ] >>471 VRAMに展開された状態なんだから圧縮も糞もないだろ 開発環境あったら普通にみれるじゃん
479 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 20:47:04 ] VRAMってもしかしてメモリチップのことじゃなかった?
480 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 20:53:17 ] 質問者はDVDからっていってるからファイル解析じゃないの というかVRAM覗ける様にする方がしんどくね?
481 名前:デフォルトの名無しさん [2009/02/08(日) 21:08:52 ] D3DX10CreateEffectFromFile()で失敗します。 FXファイルはあります。この場合失敗する理由をどうやって調べればよいですか? よろしくお願いします。
482 名前:デフォルトの名無しさん [2009/02/08(日) 21:12:11 ] 481です。 D3DX10CreateEffectFromFile()からはE_FAILが返ってきてました。
483 名前:デフォルトの名無しさん [2009/02/08(日) 21:33:39 ] 481です。 自己解決しました。 fxc.exeでFXファイルをコンパイルしてみたところコンパイルできなかったので FXファイルを再度チェックしたところ、書き方の間違いが見つかりました。 それを修正したら動作しました。 ありがとうございました。
484 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 21:34:03 ] fxc使う!
485 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 21:34:58 ] orz
486 名前:デフォルトの名無しさん mailto:sage [2009/02/09(月) 02:49:37 ] まずは圧縮(パッキング含)されてそうならそのアルゴリズムを解析する。 たいていLZ法やハフマン法とかなんで、あとはつじつまが合いそうな データ並びを調べ、展開ツールを自作する。 それが終わったらデータ一つ一つのフォーマット解析だ。 単純そうなデータがあればそれを解析サンプルとして使う。 ピクセルカラーやパレットがどう入ってるかあたりを付けながら、 確認可能な画像フォーマットに変換してみる。 ここまで読んでわからない奴には無理だから諦めなさい。
487 名前:デフォルトの名無しさん [2009/02/09(月) 03:19:16 ] HLSLの質問です サチュレーションをシェーダで実装したいのですが 参考になるサイトや書籍、調べるきっかけになる単語があれば教えてください。 よろしくお願いします。
488 名前:デフォルトの名無しさん mailto:sage [2009/02/09(月) 03:24:06 ] >>487 もっと詳しくかいて 何をどう飽和させたいのかがさっぱり意味不明
489 名前:デフォルトの名無しさん [2009/02/09(月) 03:49:45 ] すみません、 実装したい現象は2つあります。 @ game.watch.impress.co.jp/docs/20030403/tcsc2.htm での炎で起こるサチュレーション 他のモデルに光が浸食する現象です A 夜中に車のライトを直視して、光の針が四方に突き出るような現象 よろしくお願いします
490 名前:デフォルトの名無しさん [2009/02/09(月) 05:00:05 ] @はHDRを中心に検索をかけ、ある程度自己解決 Aは、擬似HDRで実装したゲームでの表現があることから糸口発見 もし参考になるサイト、書籍を知っている方、 アドバイスをいただける方がいらっしゃれば情報をください。 よろしくお願いします。
491 名前:デフォルトの名無しさん mailto:sage [2009/02/09(月) 13:13:40 ] シェーダプログラミングブックのクロスフィルタ
492 名前:デフォルトの名無しさん mailto:sage [2009/02/09(月) 18:01:19 ] 質問です。 3Dキャラクタを表示するとともに、仕込んであるボーンも表示するビュワーを作ったところ、疑問がでました。 3DキャラはXファイルを読み込んでいます。 Direct3Dだと、どうやらボーンは「ボーンの長さ + そのボーンの先での変換行列」という形で情報を持っているようです。 ですが、通常3Dソフトだと「そのボーンの根本での変換行列 + ボーンの長さ」という形が一般的だと思うのです。 たしかにDirect3Dの形式だと、「末端のボーンには長さ要らないんだけどなー」という点において有利な気はします。 が、直感的には後者のほうがずっとわかりやすいと思います。 また、ボーン名を表示する機能もつけてあるのですが、Direct3Dの仕様に合わせると「1つ上の階層のボーン名」を表示しないと、人間の直感からは1つずれた名前になってしまいました。 私が思ってる「一般的」は、もしかしてズレてるのでしょうか? Xファイルしかファイルフォーマットを勉強したことないのですが、他の形式がどうなっているのか知っている方がいらっしゃいましたらコメントいただきたいと思います。 よろしくお願いします。
493 名前:デフォルトの名無しさん mailto:sage [2009/02/09(月) 18:51:18 ] Xファイルなんか使うな
494 名前:デフォルトの名無しさん mailto:sage [2009/02/09(月) 20:03:59 ] Xfile使うなって言ってるやつは何つかってんだよ 誰が何使おうが好きなようにすればいいじゃない
495 名前:デフォルトの名無しさん mailto:sage [2009/02/09(月) 20:10:29 ] >>494 調べればわかるけどXファイルは面倒臭い 逆に聞き返すが何のツールでXFile出そうとしてんの? 5万だしてXSI買ったほうがナンボか楽
496 名前:デフォルトの名無しさん mailto:sage [2009/02/09(月) 20:27:42 ] modとかならmaxかmaya行くと良いよ
497 名前:デフォルトの名無しさん mailto:sage [2009/02/09(月) 20:32:28 ] >>496 maxとmayaってゲームで使えるモデルが出力できる環境整えると いくらぐらいになんの? mayaがタダになったような気がするけど プラグインまで使えるバージョンだっけ?
498 名前:デフォルトの名無しさん mailto:sage [2009/02/09(月) 20:39:31 ] いきなり初心者に5万出せってのはどうなんだよw
499 名前:デフォルトの名無しさん mailto:sage [2009/02/09(月) 20:44:05 ] >>498 オラァ!さっさとジャンプしてみろ! チャリチャリなるだろチャリチャリィィィィィィィィィ!
500 名前:デフォルトの名無しさん mailto:sage [2009/02/10(火) 00:58:34 ] >>499 夜中に声出して笑っちまったw
501 名前:デフォルトの名無しさん mailto:sage [2009/02/10(火) 07:11:33 ] チャリチャリなるような財布に5万はないだろ
502 名前:デフォルトの名無しさん mailto:sage [2009/02/10(火) 07:13:21 ] ウォレットチェーンに違いない
503 名前:デフォルトの名無しさん mailto:sage [2009/02/10(火) 10:14:00 ] DirectXシェーダプログラミングとかいう本読んでるんですが、 これ、DirectXほとんど関係なくないですか?シェーダって思いっきり別言語じゃないですか DirectXでGPUを操作するものは用意されてないんですか? 今後はシェーダのスレに言った方がいいんでしょうか?そもそもシェーダのスレはあるんですか?
504 名前:デフォルトの名無しさん mailto:sage [2009/02/10(火) 10:20:37 ] >>503 お前はDirectXを何だと思ってるんだ シェーダのスレはあるかと思いきや意外と見あたらないな。 別にここでいいと思うが。
505 名前:デフォルトの名無しさん mailto:sage [2009/02/10(火) 10:29:09 ] まじこのHLVSとかいうの覚えなきゃいけないんですか?
506 名前:デフォルトの名無しさん mailto:sage [2009/02/10(火) 10:35:21 ] HLSLだよ何で間違えるw 覚えたくないならDirect3D9以前を使うこと。 Direct3D10では必須。 基本的な機能だけならコピペでもなんとかなるが。
507 名前:417 mailto:sage [2009/02/10(火) 10:37:56 ] 返信遅れてすみません。 >424さんの言うとおりクライアントサイズをデバイスサイズが違うことが原因でした。 ありがとうございました!
508 名前:デフォルトの名無しさん mailto:sage [2009/02/10(火) 15:35:53 ] HLSLってかなり楽しいと思うんだが 正直、DirectXとか機能覚えるだけで全然楽しくないけど シェーダは、この表現はそういう処理になってたのか、とか そういうのがあって楽しいよな
509 名前:デフォルトの名無しさん [2009/02/10(火) 20:43:00 ] SIZE構造体とか、RECT構造体とか、こういうのって使いますか? 本のサンプル見てるとやたら使ってるんですが、全部覚えないとだめ?
510 名前:デフォルトの名無しさん mailto:sage [2009/02/10(火) 20:54:57 ] >>509 関数の引数で決まってるので使わざるを得ない
511 名前:デフォルトの名無しさん mailto:sage [2009/02/10(火) 20:59:09 ] >>509 なんで覚えるんだよ 必要なとき調べりゃいいだろ まさか暗記でもする気か? 無駄だぞ無駄
512 名前:デフォルトの名無しさん [2009/02/10(火) 21:10:16 ] DirectXシェーダプログラミング読もうかと思ったんですが、この本の内容ってDirectX10 でも使えますか?
513 名前:デフォルトの名無しさん mailto:sage [2009/02/10(火) 21:59:54 ] 特にDirectXAPI側の形式が変わってしまっているが、やってることは同じ。 そのままコピペで使えるのかという質問なら否。
514 名前:デフォルトの名無しさん [2009/02/10(火) 22:57:42 ] >>513 ありがとうございます。 そのままコピペできるような本は日本語ではないですか? なければ英語でもいいので教えてください。
515 名前:デフォルトの名無しさん mailto:sage [2009/02/10(火) 23:20:06 ] なんでコピペにこだわるんだろうか・・・ 初心者の前に人間ですらないのだろうか?
516 名前:デフォルトの名無しさん mailto:sage [2009/02/10(火) 23:21:13 ] コピペ君って本当に馬鹿なんだなって聞こえた気がした
517 名前:デフォルトの名無しさん mailto:sage [2009/02/10(火) 23:38:44 ] コピペして動かせた方が勉強するにしても役立つのは明らかだからな
518 名前:デフォルトの名無しさん mailto:sage [2009/02/11(水) 00:01:10 ] だったらSDKのサンプルでもみろよw ていうか ソースが本に書いてあってもそのソースの解説が載ってる 本は正直みたことねぇな っていうかそんなことしたらページがいくらあっても足りない ただ、載ってるだけだw
519 名前:デフォルトの名無しさん [2009/02/11(水) 00:18:16 ] だって分からないんス。 SV_POSITIONとか言われてもぜんぜんピンとこない。 だれかがソースを目の前で書きながら分かりやすく解説しつつ、 手取り足取り教えてくれたらいいのに。シェーダのプログラムのやり方を 解説した実況中継DVDとかないですかね。
520 名前:デフォルトの名無しさん mailto:sage [2009/02/11(水) 03:15:58 ] シェーダの流れに便乗して質問なんですが tex2Dprojって、MSDNに微分係数付きのテクスチャ座標という説明しかなくてよくわかりません デプスシャドウなどで深度値を比較するときに使われてるみたいですが 普通のtex2Dと何が違うんですか?
521 名前:デフォルトの名無しさん [2009/02/11(水) 07:27:22 ] >>519 ピンとこないと駄目なんだ?w
522 名前:デフォルトの名無しさん mailto:sage [2009/02/11(水) 07:43:23 ] >>519 ピンとこないとダメなら自分でピンとくる3Dエンジンを作るよろし。
523 名前:デフォルトの名無しさん mailto:sage [2009/02/11(水) 08:52:21 ] >>520 微分は、tex2Dgradの方じゃ? tex2Dprojは、xyをwで割って サンプリングする座標を求めるもの tex2Dproj( xy, t ) ≒ tex2D( xy / t ) シャドウマップではサンプリングに射影変換が 必要なケースがあるので、こいつが使われる。
524 名前:デフォルトの名無しさん mailto:sage [2009/02/11(水) 09:03:50 ] ↑間違ってる、正しくは↓ tex2Dproj( s, xyzw ) ≒ tex2D( s, xyzw / w )
525 名前:デフォルトの名無しさん mailto:sage [2009/02/11(水) 14:18:26 ] よく分からないけど、wで割るっていうのは スクリーン座標をビュー座標にしてるってことですか?
526 名前:デフォルトの名無しさん [2009/02/11(水) 20:17:20 ] そんなわけねーじゃん
527 名前:デフォルトの名無しさん mailto:sage [2009/02/11(水) 20:39:30 ] 俺の頭じゃ理解できない 詳しく教えて下さい
528 名前:デフォルトの名無しさん mailto:sage [2009/02/11(水) 20:57:54 ] だってビューってみたかんじからして Y座標逆っぽいじゃん
529 名前:デフォルトの名無しさん mailto:sage [2009/02/11(水) 21:32:48 ] すみません、なんか勘違いしてたみたいです wで割ると射影空間上のX座標Y座標が-1から1の間に収まるっていう感じであってますか?
530 名前:デフォルトの名無しさん mailto:sage [2009/02/11(水) 22:30:21 ] >>525 同次クリップ空間からビュー座標にしてるんじゃね?
531 名前:デフォルトの名無しさん [2009/02/11(水) 23:46:32 ] 独習デザインパターンC++は役に立った
532 名前:デフォルトの名無しさん mailto:sage [2009/02/12(木) 11:22:52 ] >529 ここ見るといいよー そもそも「w」って何なのか? ttp://marupeke296.com/DXG_No55_WhatIsW.html
533 名前:デフォルトの名無しさん mailto:sage [2009/02/12(木) 20:02:33 ] 288*256の画像ファイルを読み込んで、24け32の範囲を 貼り付けると横が伸びるんですけどなんか方法はないですか?
534 名前:デフォルトの名無しさん mailto:sage [2009/02/12(木) 20:07:11 ] どうやって画像を読み込んで、どうやって表示してるのか言わないとわからない。
535 名前:デフォルトの名無しさん mailto:sage [2009/02/12(木) 20:46:41 ] 256*256にしとけ
536 名前:デフォルトの名無しさん mailto:sage [2009/02/12(木) 20:47:37 ] 「288*256の画像ファイルを読み込んで」の時点で テクスチャが512x256になってるって落ちじゃ? D3DXCreateTextureFromFileで読み込むとそうなる D3DXCreateTextureFromFileExでちゃんと幅と高さを指定してつくれ
537 名前:デフォルトの名無しさん mailto:sage [2009/02/13(金) 05:34:17 ] Maneged DirectXってDirectShowだけじゃなくてDirectMusicも含まれてないんですか? VS2008なんですけど、ヘルプを組み込むにはどうすればいいんでしょうか DirectXをインストールして入ってなければあきらめるしかないですか? 今はchmを直接開いてるんです
538 名前:デフォルトの名無しさん mailto:sage [2009/02/13(金) 07:26:26 ] スレ違い
539 名前:デフォルトの名無しさん mailto:sage [2009/02/13(金) 07:34:32 ] うほ
540 名前:デフォルトの名無しさん mailto:sage [2009/02/13(金) 20:19:51 ] アルファブレンディングとZバッファの関係で躓いています。 使用バージョン DirectX 8.0 (d3d8.h d3dx8.h) VS2008 VC++ 最背面 背景 > 半透明オブジェクト 最前面 のように描画されてて半透明オブジェクトの中身は TLVertex で 000 010 000 0は完全透明、もしくは半透明だと思ってください。 1は完全不透明です。 で、この半透明オブジェクトの背面に新たに TLVertexのオブジェクトを描画したくて、 0の部分はこの新たなオブジェクトと普通の半透明処理をして 1の部分は描画を破棄するなどして背面にあるように見せかけたいのです。 仕様として描画の順番を入れ替えることができないのでZソート法などを使うことができないのですが、 多少結果が食い違ってもかまわないのでどうにか背面にあるように見せる方法はないでしょうか?
541 名前:デフォルトの名無しさん mailto:sage [2009/02/13(金) 20:29:13 ] >>540 半透明はZソートしない限り不可能。 完全に透明なら、Zテストを使えばいい。
542 名前:デフォルトの名無しさん mailto:sage [2009/02/13(金) 20:41:58 ] img.2ch.net/ico/apple.gif フルオリジナルだから実現できた!綾波レイが頼んだラーメンを完全再現。 ・エヴァテイストで全てをデザイン ・オリジナルATフィールドナルト入り ・「ロンギヌスの槍」蓋シール 販売価格 5,250円(税込) メーカー 日清食品 発売日 09年03月下旬 原作名 新世紀エヴァンゲリオン コピーライト (C)GAINAX・カラー 日清食品株式会社製 www.amiami.com/shop/ProductInfo/product_id/115659 www.amiami.com/images/product/main/091/CGD-2718.jpg
543 名前:デフォルトの名無しさん mailto:sage [2009/02/13(金) 21:49:16 ] >>541 現状完全透明でも描画できていないので半透明については保留にしておいて Zテストについて色々調べてみます。 ありがとうございました
544 名前:デフォルトの名無しさん mailto:sage [2009/02/13(金) 23:26:03 ] >>543 ごめん、Zテストじゃなくてアルファテストの間違い。
545 名前:デフォルトの名無しさん mailto:sage [2009/02/14(土) 00:32:49 ] DirectXで画面(800*600)の任意の場所にドット絵を表示させたいのですが どうしてもアンチエイリアスがかかったようにぼけてしまいます。 //プロジェクション行列 D3DXMatrixOrthoLH( &ProjectionMatrix, 400, 300, 0, 100 ); //キャラクターのマトリックス D3DXMATRIX mat; D3DXMatrixIdentity(&mat);//現在は原点 mat * ProjectionMatrix を掛け合わせた行列で シェーダーでキャラクターの頂点を変換しているのですがうまくいきません。 ご教授お願いします><
546 名前:デフォルトの名無しさん mailto:sage [2009/02/14(土) 00:37:05 ] シェーダを使わずにレンダリングしたら正常ってことだよな
547 名前:デフォルトの名無しさん mailto:sage [2009/02/14(土) 00:37:29 ] >>545 デバイス->SetSamplerState( 0, D3DSAMP_MIPFILTER, D3DTEXF_POINT ); デバイス->SetSamplerState( 0, D3DSAMP_MINFILTER, D3DTEXF_POINT ); デバイス->SetSamplerState( 0, D3DSAMP_MAGFILTER, D3DTEXF_POINT );
548 名前:デフォルトの名無しさん mailto:sage [2009/02/14(土) 00:58:05 ] >>546 シェーダーに頼り切ってるのでシェーダー使わない方法が今一わかってません… >>547 DirectXにテクスチャを送らなく シェーダーにテクスチャを送っていたので //普通のテクスチャ用 //普通のテクスチャ用 sampler2D NormalSmp = sampler_state { Texture = NormalTex; MipFilter = LINEAR; MinFilter = LINEAR; MagFilter = LINEAR; AddressU = CLAMP; AddressV = CLAMP; }; ↓ sampler2D NormalSmp = sampler_state { Texture = NormalTex; MipFilter = POINT; MinFilter = POINT; MagFilter = POINT; AddressU = CLAMP; AddressV = CLAMP; }; にしたらきちんとうつりました ありがとうございます。
549 名前:デフォルトの名無しさん mailto:sage [2009/02/14(土) 14:42:57 ] D3DXをつかわずにPNGとかの画像を読み込んで テクスチャーを作るにはどうするですか?
550 名前:デフォルトの名無しさん mailto:sage [2009/02/14(土) 14:47:07 ] CreateTextureで必要なサイズのテクスチャを作って そのテクスチャをLockRectして画像から読み取った色情報を書き込めばOK ただしその画像フォーマットがどのように色情報を格納しているかの知識が必要
551 名前:デフォルトの名無しさん mailto:sage [2009/02/14(土) 19:05:21 ] DirectXは△ポリゴンしかサポートしてないと聞いたのですが □ポリゴンが混ざっているXファイルが読み込めました 調べたのですがサポートしていないとは不具合があっても対処しませんということでいいのですか?
552 名前:デフォルトの名無しさん mailto:sage [2009/02/14(土) 19:09:30 ] それモデラーがXファイル出力するときに3角形にしてるだけだろ
553 名前:デフォルトの名無しさん mailto:sage [2009/02/14(土) 20:13:46 ] てかほっとくと普通に5角形とか6角形とかまざってね?>Xファイル モデラーで三角形分割しないと駄目だろ
554 名前:デフォルトの名無しさん mailto:sage [2009/02/14(土) 20:14:56 ] D3DX使うと読むときに全部三角分割してるよ
555 名前:デフォルトの名無しさん mailto:sage [2009/02/14(土) 20:26:38 ] >>554 どんな感じで?w(←絶対にデザイナに責任取らせたほうがいいと思うw)
556 名前:デフォルトの名無しさん mailto:sage [2009/02/14(土) 20:29:00 ] 自動で三角形分割やらせて ウンコみたいなUVの設定とか変な分割のされ方したぐらいで プログラマに怒りをぶつけるようなデザイナの尻には浣腸しかない
557 名前:デフォルトの名無しさん mailto:sage [2009/02/14(土) 20:31:46 ] どんな感じも何も四角形を三角形二つに分解したって、 表示結果は全く変わらないんだが、 責任とか訳のわからないことを言い出す>>555 って、 どれだけ頭が悪いんだろう?
558 名前:デフォルトの名無しさん mailto:sage [2009/02/14(土) 20:33:22 ] 三角形->四角形 非可逆 四角形->三角形 可逆
559 名前:デフォルトの名無しさん mailto:sage [2009/02/14(土) 20:39:38 ] >>558 すごいな どの三角形とどの三角形で四角形を形成してたのかわかるのか? 面積0とかはないとしても難しいな
560 名前:デフォルトの名無しさん mailto:sage [2009/02/14(土) 20:45:27 ] よく読め
561 名前:デフォルトの名無しさん mailto:sage [2009/02/14(土) 20:45:56 ] ランドスケープ(格子状モデル)みたいなのイメージしてみたけど結構難しいな 同一平面で辺がくっついてたらとか考えたけどサルの浅知恵だった
562 名前:デフォルトの名無しさん mailto:sage [2009/02/14(土) 20:47:17 ] UVぶっちぎれね?
563 名前:デフォルトの名無しさん mailto:sage [2009/02/14(土) 20:49:33 ] >>560 死んでくる
564 名前:デフォルトの名無しさん mailto:sage [2009/02/14(土) 21:09:18 ] >>557 四角は平面だとでも、思ってんのか?お前 ただ556の浣腸は正しい
565 名前:デフォルトの名無しさん mailto:sage [2009/02/14(土) 21:20:49 ] >>564 出力されたデータを検証したことがないだろ。 平面じゃなければ、すでにエクスポート段階でデータが欠損していることになるが、 そんな間抜けな実装をしているエクスポータを挙げてみろよ。
566 名前:デフォルトの名無しさん mailto:sage [2009/02/14(土) 21:27:41 ] 平面じゃない場合は四角形ではない。 四角形なら必ず平面。
567 名前:デフォルトの名無しさん mailto:sage [2009/02/14(土) 23:08:44 ] 危険生物を萌え絵で擬人化した『萌え萌え有毒生物図鑑』が発売に 『有毒生物の世界を、萌えながら学ぶビジュアル図鑑』という 萌え萌え有毒生物図鑑が12日に発売になり、 とら1号店・メロン秋葉原店で見かけた。表紙イラストは中村博文氏。 イーグルパブリッシングの2月新刊案内 では『有毒生物達を擬人化イラストと共に大紹介』などとし、 とら1号店のPOPは『ヒトデがロリっぽくて・・・ハァハァ』とかだった。 表紙:node3.img3.akibablog.net/09/feb/13/303s.jpg オニヒトデ:node3.img3.akibablog.net/09/feb/13/304a.jpg アカエイ:node3.img3.akibablog.net/09/feb/13/308a.jpg キングコブラ:node3.img3.akibablog.net/09/feb/13/314.jpg マムシ:node3.img3.akibablog.net/09/feb/13/315.jpg 蚊:node3.img3.akibablog.net/09/feb/13/313.jpg ブラリナトガリネズミ:node3.img3.akibablog.net/09/feb/13/309.jpg デスストーカー:node3.img3.akibablog.net/09/feb/13/310.jpg ピトフーイ:node3.img3.akibablog.net/09/feb/13/311.jpg オオスズメバチ:node3.img3.akibablog.net/09/feb/13/312.jpg ドクツルタケ:node3.img3.akibablog.net/09/feb/13/316.jpg
568 名前:デフォルトの名無しさん mailto:sage [2009/02/14(土) 23:12:54 ] 蚊以外いらん
569 名前:デフォルトの名無しさん mailto:sage [2009/02/14(土) 23:20:08 ] キングコブラと蚊はいいセンスしてんなw
570 名前:デフォルトの名無しさん mailto:sage [2009/02/14(土) 23:27:01 ] 蚊のやつ、上半身と下半身が分離してるように見えてならない
571 名前:デフォルトの名無しさん mailto:sage [2009/02/14(土) 23:28:51 ] こんなの人間の女の子に猫耳つけて猫ですってレベルと変わらないじゃん
572 名前:デフォルトの名無しさん mailto:sage [2009/02/14(土) 23:46:06 ] マムシハァハァ …ふぅ
573 名前:デフォルトの名無しさん mailto:sage [2009/02/15(日) 00:02:21 ] 俺もマムシ一択だな
574 名前:デフォルトの名無しさん mailto:sage [2009/02/15(日) 00:08:37 ] DirectX関係ないぞ
575 名前:デフォルトの名無しさん mailto:sage [2009/02/15(日) 00:15:35 ] そのコピペそこらじゅうに張ってあるぞ そのあとのトークとセットで
576 名前:デフォルトの名無しさん mailto:sage [2009/02/15(日) 00:17:01 ] >>567->>571 までコピペワロタ
577 名前:デフォルトの名無しさん mailto:sage [2009/02/15(日) 10:09:05 ] >>565 お前様はfbxいじった事はあるの? てか、もし師範様なら、割られた三角で取得する方法教えて下さい・・・
578 名前:デフォルトの名無しさん mailto:sage [2009/02/15(日) 10:17:41 ] >>577 FBXなら普通にメッシュのクラスにTriangle化するメソッドあるだろ・・・
579 名前:デフォルトの名無しさん mailto:sage [2009/02/15(日) 13:28:20 ] DirectX9でMFCのViewに表示させる場合、CreateDeviceのhWndはViewのm_hWndじゃだめなんでしょうか? コンパイルできるんですが、そのあとの描画でデバイスのClearで止まるんです
580 名前:デフォルトの名無しさん mailto:sage [2009/02/15(日) 13:42:39 ] ClearでとまるならZバッファないのにZクリアーしてるとか ステンシルないのにステンシルクリアーしてるとかだろ。
581 名前:デフォルトの名無しさん mailto:sage [2009/02/15(日) 14:21:13 ] HRESULTいくつよ?
582 名前:デフォルトの名無しさん mailto:sage [2009/02/15(日) 14:34:22 ] 戻り値までいきません。ハンドルされていない例外でストップするんです。 class CView : public CView{ CXView::CXView() { pDirectX9 = new CDirectX9(); pDirectX9->InitD3D(this->m_hWnd); } void CView::OnDraw(CDC* /*pDC*/) { CXDoc* pDoc = GetDocument(); ASSERT_VALID(pDoc); if (!pDoc) return; g_pD3DDev->Clear( 0, NULL, D3DCLEAR_TARGET, D3DCOLOR_XRGB(0,0,0), 1.0f, 0 ); } }
583 名前:デフォルトの名無しさん mailto:sage [2009/02/15(日) 14:40:07 ] if( FAILED( g_pD3D->CreateDevice( D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, hWnd, D3DCREATE_SOFTWARE_VERTEXPROCESSING, &d3dpp, &g_pD3DDev ) ) ) { return E_FAIL; } これが失敗してます。 CViewのハンドルはm_hWndで問題ないですか?
584 名前:デフォルトの名無しさん mailto:sage [2009/02/15(日) 14:49:14 ] これってソースそのままコピペ? class CView : public CViewでいいのか?
585 名前:デフォルトの名無しさん mailto:sage [2009/02/15(日) 14:50:52 ] class CXView : public CViewでしたすいません
586 名前:デフォルトの名無しさん mailto:sage [2009/02/15(日) 14:57:30 ] g_pD3DDevがNULLってこたぁないよな
587 名前:デフォルトの名無しさん mailto:sage [2009/02/15(日) 14:58:31 ] デバイスの生成でミスってんならそこでちゃんとエラーだせよ・・・。 パラメーターがどっかしらおかしいんか、ウィンドウハンドルがNULLじゃなきゃ失敗しねえ。
588 名前:デフォルトの名無しさん mailto:sage [2009/02/15(日) 15:06:44 ] CreateDeviceの戻り値は-2005530516です。 最新版のSDKでdxerr9.libからMAX_ERROR_TEXT_LENってなくなってないですよね? これdefinいくつかわかりませんか?エラー関数コンパイルできなくなってエラーコード調べられなくなりました
589 名前:デフォルトの名無しさん mailto:sage [2009/02/15(日) 15:14:44 ] 失敗してんじゃん d3dppがおかしんじゃね
590 名前:デフォルトの名無しさん mailto:sage [2009/02/15(日) 15:26:01 ] D3DERR_INVALIDCALLでしょ。 d3dppの内容は?
591 名前:デフォルトの名無しさん mailto:sage [2009/02/15(日) 15:28:35 ] thx これです D3DPRESENT_PARAMETERS d3dpp; ZeroMemory( &d3dpp, sizeof(d3dpp) ); d3dpp.Windowed = TRUE; d3dpp.SwapEffect = D3DSWAPEFFECT_DISCARD; d3dpp.BackBufferFormat = d3ddm.Format;
592 名前:デフォルトの名無しさん mailto:sage [2009/02/15(日) 15:29:57 ] とりあえず CViewのコンストラクタ内ではまだm_hWndはNULLであることをお伝えしておく
593 名前:デフォルトの名無しさん mailto:sage [2009/02/15(日) 15:32:31 ] そこ手打ちみたいで怪しいから無視してたわ・・・
594 名前:デフォルトの名無しさん mailto:sage [2009/02/15(日) 15:34:02 ] つーかDirectXをまずデバッグモードにしろや。 それでコンソールにエラー内容全部表示されるようになるだろ。
595 名前:デフォルトの名無しさん mailto:sage [2009/02/15(日) 15:38:20 ] うおーできた!!! ありがとう。 まじありがとう!!!
596 名前:デフォルトの名無しさん mailto:sage [2009/02/15(日) 16:04:27 ] >>595 解決したらどんなエラーだったかを示すのがスジ。
597 名前:デフォルトの名無しさん mailto:sage [2009/02/15(日) 16:07:55 ] まあOnCreateあたりでCreateDeviceしたんだろうけど。
598 名前:デフォルトの名無しさん mailto:sage [2009/02/15(日) 16:25:44 ] CViewのコンストラクタ内でハンドルを渡したら中身がNULLだったので InitUpdateの中でやったら解決しました。
599 名前:デフォルトの名無しさん [2009/02/15(日) 20:08:59 ] DXTRACE_ERR()をやたら使ってるソースがあるんですが、これって意味あるんでしょうか? なんにも有効そうなログとかだしてくれないんですが、、、
600 名前:デフォルトの名無しさん mailto:sage [2009/02/15(日) 21:06:28 ] それこそ使い方による
601 名前:デフォルトの名無しさん mailto:sage [2009/02/15(日) 22:25:28 ] Xファイルのアニメーションを切り替えるサンプルコードどっかにない? SDKのは長すぎて解読不能だたよ
602 名前:デフォルトの名無しさん mailto:sage [2009/02/15(日) 22:26:55 ] まるぺけ
603 名前:デフォルトの名無しさん mailto:sage [2009/02/15(日) 22:51:23 ] まるぺけは自作関数使ってるじゃん わかりづらいよ
604 名前:デフォルトの名無しさん [2009/02/15(日) 22:58:31 ] まるぺけって結構有名なんだな。 参考にしたのオレだけかと思ってたよ。
605 名前:デフォルトの名無しさん mailto:sage [2009/02/15(日) 23:08:31 ] 分かりやすいサンプル=SDK付属のサンプルだと思うんだ
606 名前:デフォルトの名無しさん mailto:sage [2009/02/15(日) 23:42:46 ] それはお前だけ(笑)
607 名前:デフォルトの名無しさん mailto:sage [2009/02/15(日) 23:46:29 ] Xファイルの読み込みってめたくそむずかしくないですか? VBだと読み込みと描画で2行でかけるのに・・・やばくないですか?Cとかいって 自分が見てる解説サイトがわかりずらいだけなのかな
608 名前:デフォルトの名無しさん mailto:sage [2009/02/15(日) 23:58:08 ] VS2008なんですが、プロジェクト新規作成にDirectXウィザードが無いんですが どうすればいいと思いますか?
609 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 00:23:16 ] あきらめればいいと思います
610 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 02:40:41 ] エンプティープロジェクト シンプルサンプル
611 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 05:27:05 ] D3DCAPS9の中身を埋めてくれる関数は何ですか?
612 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 05:34:21 ] GetDeviceCapsがありました
613 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 15:40:06 ] 質問です レンダリングターゲットとして生成したテクスチャーは、マルチサンプリングが無効になってしまうようなのですが これは「2倍の大きさで描画して、表示する際に50%縮小すればアンチエイリアシングかかるじゃん」というやり方をしろということなのでしょうか? それとも何かしら設定があるんでしょうか?
614 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 18:14:42 ] 質問です 1.レンダリングターゲットのサーフェイスを変えて描画 2.深度バッファはそのままでレンダリングターゲットを元に戻しす 3.深度値の書き込みOFFで画面サイズのスプライトにさっき描画した内容をテクスチャとして描画 4.深度値の書き込みONにして適当にオブジェクトを描画 このときに、サーフェイスのサイズが正方形だとうまくいくんですが 640x480とか、横に長かったりするとスプライトに描画したときにピクセルが微妙にずれてしまいます。 たぶんサンプリングの問題だと思うんですが、 最後のオブジェクトを描画するときに最初の深度バッファをそのまま使いたいので ずれてしまうと、何もないのに隠れてたり、その逆が起きたりしてしまいます。 ピクセルがずれるのは1ピクセル程度ですが。 どうすればいいのでしょうか?
615 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 18:44:13 ] DirectXにスプライトなど無い。
616 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 23:18:06 ] DirectSoundを使って音楽を再生しようとしているのですが wav形式は再生できたのにmid形式をデバッグなしで再生しようとすると失敗します。 (デバッグありなら再生可能で、デバッグしてなくてもたまに鳴り出す) これはいったい何が原因なんでしょうか。
617 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 23:21:46 ] デバッグありだと再生できる方が超常現象だろう
618 名前:616 mailto:sage [2009/02/16(月) 23:53:52 ] 訂正 DirectSoundじゃなくてDirectMusicでした。
619 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 01:47:47 ] 初期化で hr = D3DXCreateTextureFromFile( m_pD3DDev, _T("earth.bmp"), &m_pTexture ); の後、 m_pD3DDev->SetTexture(0, m_pTexture); を描画start,endの間に追加したんですが 四角形の色が変わるだけで絵が表示されません、どこが原因なんでしょうか
620 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 02:16:28 ] uvがちゃんと設定されてないんじゃ?
621 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 02:45:58 ] どこかおかしいところありますか? typedef struct { float x, y, z, rhw; //スクリーン座標での位置 DWORD color; //頂点色 float tu, tv; } CUSTOMVERTEX; CUSTOMVERTEX vertices[] = { // x y z rhw color (赤 緑 青 α) {50.0f, 50.0f, 0.5f, 1.0f, D3DCOLOR_RGBA(0xff, 0xff, 0xff, 0xff), 0, 0}, {250.0f, 50.0f, 0.5f, 1.0f, D3DCOLOR_RGBA(0x00, 0x00, 0x00, 0xff), 1, 0}, {50.0f, 250.0f, 0.5f, 1.0f, D3DCOLOR_RGBA(0xff, 0xff, 0xff, 0xff), 0, 1}, {250.0f, 250.0f, 0.5f, 1.0f, D3DCOLOR_RGBA(0x00, 0x00, 0x00, 0xff), 1, 1} };
622 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 03:30:26 ] SetFVF で D3DFVF_TEX1 入れ忘れてるんだろう
623 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 03:41:27 ] m_pD3DDev->SetFVF(D3DFVF_CUSTOMVERTEX); これですか? コメントアウトしてもだめでした
624 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 03:43:29 ] D3DFVF_XYZ だけにしたんですがそれでもだめでした
625 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 03:47:59 ] わかりました D3DFVF_XYZ を D3DFVF_XYZRHW にしたら表示されました ありがとうです!