1 名前:デフォルトの名無しさん mailto:sage [2013/06/01(土) 00:56:31.97 ] 回答する人も、質問する人も必ず読んでください これらに当てはまる人のための質問スレです。 1.C/C++は多少理解している。 2.最近DirectXを始めたばかり 3.SDKを見ても、Googleで検索しても、いまいち理解できない人 4.余計な雑談は不要ですよ 【 回答してくださる方 】 ・ できるだけ優しく質問に答えてあげてください。 ・ 優しく教えるのが嫌でしたら、解決するためのヒントだけでも結構です。 「ググれ」「SDK見れ」以外の回答でおながいします。 ・ 神ですら理解不能な質問は無視して下さい。 【 質問する方 】 ・ どんな事で躓いているのか明確にしよう。 ・ 長くならないなら躓いている部分のコードを晒してみれ。 ・ 解決した場合、お礼を言うのは当然だが、何をどうしたら解決したかを明確に書こう。 ・ 回答して貰ったら、出来るだけお礼もしよう。 >>2 リンク
331 名前:デフォルトの名無しさん [2014/01/16(木) 10:49:02.29 ] IDirect3DDevice9::SetTexture関数は重いので必要最低限だけ呼び出すべき と言うのをググっててよく見るのですが、 具体的に1フレームで呼び出しても影響のない回数はどのくらいでしょうか 目安でいいので教えてください
332 名前:デフォルトの名無しさん mailto:sage [2014/01/16(木) 12:49:04.78 ] >>331 つmsdn.microsoft.com/ja-jp/library/bb172234.aspx 他人に目安とか求めてもあまり意味の無い問題やな 自分自身のプログラムで許容される閾値を計測したまへ
333 名前:デフォルトの名無しさん mailto:sage [2014/01/16(木) 23:21:01.62 ] >>332 了解です ありがとうございます
334 名前:デフォルトの名無しさん [2014/01/17(金) 23:50:26.72 ] DirextX11使ってるんだけどエンディアン問題ってどうなってるんだろ? DirextX側が処理してくれてるのか、自分で処理しなければいけないのか そもそもリトルエンディアンしか考慮してないのか
335 名前:デフォルトの名無しさん mailto:sage [2014/01/18(土) 07:41:46.84 ] どのリソースの話をしているんだ?
336 名前:デフォルトの名無しさん mailto:sage [2014/01/18(土) 16:33:41.40 ] そんなこと気にする場面なんて皆無・・・
337 名前:334 [2014/01/18(土) 21:51:08.85 ] ID3D11DeviceContextのUnmapを使ってCPUメモリ上のデータをGPUメモリに送るときに エンディアンって大丈夫なのかなって感じです Mapで割り当てられたメモリに値をコピーするときに 自分でリトルエンディアンの配置にしないといけないのか、それとも気にせずmemcpyなどでコピーしてしまっていいのか そんな感じのことで悩んでます
338 名前:デフォルトの名無しさん mailto:sage [2014/01/18(土) 22:10:36.27 ] >>337 馬鹿なんだな 自分が扱ってるデータについてよく考えろ
339 名前:デフォルトの名無しさん mailto:sage [2014/01/18(土) 22:24:21.46 ] 逆ならまだしも、337の書き方から察するにGPU側はリトルエンディアンだと 思っているなら何を気にしているのだろう エンディアン問題って言いたかっただけちゃうんかと…
340 名前:デフォルトの名無しさん mailto:sage [2014/01/19(日) 01:58:50.38 ] どんな状況を想定してるのかよくわからんな そもそもWindows PhoneやWindows RTもCPU側はリトルエンディアンだし Direct3Dを使う上では杞憂としか思えんが
341 名前:デフォルトの名無しさん mailto:sage [2014/01/19(日) 03:40:32.50 ] ビッグエンディアンのXBox360も9世代だしなー
342 名前:デフォルトの名無しさん mailto:sage [2014/01/19(日) 15:32:02.18 ] XBox360ってインテルじゃなかったのか 初めて知ったわ XenonとXeon間違えてさらに混乱したわw
343 名前:デフォルトの名無しさん mailto:sage [2014/01/19(日) 15:44:05.40 ] ははw たしかに名前は似てるなw
344 名前:デフォルトの名無しさん mailto:sage [2014/01/19(日) 17:47:43.20 ] しかしアプリを作るうえでエンディアンを意識するケースなんてあるんだろうか まあデバッグではバイナリ列見たりあるんだろうけど。
345 名前:デフォルトの名無しさん mailto:sage [2014/01/19(日) 17:54:35.22 ] 具体的に何のデータを扱っているときに何が心配なのかを明確にしないと全く意味が無い。 幽霊が出るかもしれない怖いっていわれたところで、だからどうしろと? 具体的な話にまとめられない時点で、はっきり言って適性が無いからプログラムなどやめた方がいい。
346 名前:デフォルトの名無しさん mailto:sage [2014/01/19(日) 19:07:46.05 ] Q.エンディアン気にする必要ありますか? A.いいえありません でいいだろ。初心者質問スレですよここは 人の進む道にまで口出すなよ。面倒くさい奴だな
347 名前:デフォルトの名無しさん mailto:sage [2014/01/19(日) 19:09:48.69 ] 昔は3Dの色々な技術も含めて質問や議論が盛んだったけど、 最近はすっかり寂れちまったね・・・。
348 名前:デフォルトの名無しさん mailto:sage [2014/01/19(日) 20:49:19.72 ] >>344 あるに決まってるだろ 360のモデルデータをぶっこ抜いて表示するのに変換したわ
349 名前:デフォルトの名無しさん mailto:sage [2014/01/25(土) 11:41:47.71 ] DX11の質問おなしゃす UpdateSubresource等でVRAMを書き換えを実行した直後に その結果をMapで取得するのはどうしたらいいんでしょうか? そのまま実行した時はGPUコマンドが実行されていないのか 古い値が取得されてしまいます FlushやQUERY_EVENTを確認してみたものの即時値をとれないので困っています
350 名前:デフォルトの名無しさん mailto:sage [2014/01/25(土) 12:41:55.44 ] Flushでもダメなのか・・・。 もうDrawコールするしかないんじゃね?
351 名前:デフォルトの名無しさん mailto:sage [2014/01/25(土) 16:07:23.69 ] 意図がわからんな・・・ UpdateSubresourceでデータを渡してるなら。その渡したデータこそが取得したいデータだろう ちゃんと書き換えられているか知りたいとかなのか?
352 名前:349 mailto:sage [2014/01/25(土) 17:52:02.45 ] >>350 Drawは表示する物がないので試してみてないですが Dispatch、Presentも試してみても駄目で sleepで一秒ぐらい待てば思った通りの挙動にるんですが、さすがに実用に問題があるので >>351 目的はコンピュートシェーダの結果を取得したく UpdateSubresource(バッファのリセット) ↓ CSでバッファ書き換え ↓ Map(バッファのメインメモリ上への取得) この流れを作成したく、CSを実行しなくても正常な値が取れなかったので 質問からCSの処理を省きました
353 名前:デフォルトの名無しさん mailto:sage [2014/01/25(土) 18:10:46.33 ] まさかとは思うがUSAGE_DEFAULTで作ったリソースを読むなんて馬鹿なことはしていないよな? 聞くだけばかばかしいことだとは思うが。
354 名前:349 mailto:sage [2014/01/25(土) 18:40:50.44 ] >>353 Default→Stagingに複製してからMapしてます 書き換えてから数フレーム待ったり、Map前にSleepして待った後 結果が取得出来るのは確認しています 即時に結果を取得が出来なくて困ってます GPUとCPUの同期のズレが原因かと目星をつけて 同期するような処理を挟んでみても上手くいかずお手上げな感じです
355 名前:デフォルトの名無しさん mailto:sage [2014/01/25(土) 18:48:44.95 ] GetDataで出力が完了しているのかは確認した?
356 名前:デフォルトの名無しさん mailto:sage [2014/01/25(土) 19:31:31.62 ] そういや、コンピュートでうまく実行されなくて悩んだことあったな・・・俺も Dispatchした後に以下のコードを追加して試してみたらどうだ? ID3D11DeviceContext->CSSetUnorderedAccessViews( 0, 0, NULL, NULL ); ID3D11DeviceContext->CSSetShaderResources( 0, 0, NULL ); ID3D11DeviceContext->CSSetConstantBuffers( 0, 0, NULL ); ID3D11DeviceContext->CSSetShader( NULL, NULL, 0 );
357 名前:349 mailto:sage [2014/01/25(土) 19:55:42.14 ] 解決しました Unmapしてなかったっていうアホな理由でした そのせいで値がふわふわ変化して怪しい挙動していたみたいです 助力ありがとうございました なぜかUnmapしなくていいっていう謎の思い込みがあったのが原因です Dx9時代はちゃんとUnLockしてたのに、、
358 名前:デフォルトの名無しさん mailto:sage [2014/01/25(土) 20:01:50.18 ] ・・・ねぇわ
359 名前:デフォルトの名無しさん mailto:sage [2014/01/25(土) 20:07:04.36 ] ちょwww まぁ、よかったけどw
360 名前:デフォルトの名無しさん mailto:sage [2014/01/25(土) 23:37:39.21 ] まぁ、何事も経験ではあるが、ここで聞く前に解決できる間抜けな失敗だよな 阿保杉ワロタ
361 名前:デフォルトの名無しさん mailto:sage [2014/01/26(日) 08:55:34.88 ] つまりここに居るのは「ここで聞く前に解決できる間抜けな失敗」すら解決出来ない人達なのか悲しいな まぁ、経験がなければ回答できないから仕方ない むしろUnmapしなくてもそれっぽく動作しちゃうのが驚きだ
362 名前:デフォルトの名無しさん mailto:sage [2014/01/26(日) 10:11:12.97 ] game.watch.impress.co.jp/img/gmw/docs/586/729/gra_55.jpg game.watch.impress.co.jp/img/gmw/docs/586/729/gra_56.jpg こんなふうに、GPU処理の内訳を知りたいんですが、 どうすればイイですか? VisualStudio2012、Direct3D11です。
363 名前:デフォルトの名無しさん mailto:sage [2014/01/26(日) 15:23:29.10 ] 内訳とだけ言われてもな・・・ 処理時間を測定したいならtimeGetTimeかQueryPerformanceCounteで自前で実装してリスト化すればいい
364 名前:362 mailto:sage [2014/01/26(日) 15:50:58.28 ] >>363 あ、CPUの時間計測でできるんですか。 ありがとうございました。
365 名前:デフォルトの名無しさん mailto:sage [2014/01/27(月) 09:29:24.37 ] >>362 この画面ってNSightだと思う おれはCudaでしか使ったことないけど
366 名前:デフォルトの名無しさん mailto:sage [2014/01/27(月) 10:21:37.59 ] graphics.stanford.edu/~mdfisher/GPUView.html Windows SDK 7の頃ならGPUViewっての入ってたんだがなー Visual Studio 2012以降だと既定じゃSDKの中に見当たらん ぐぐってみたらスタンドアロン版Windows SDK 8の中にあるらしいが、めんどいので確認してない
367 名前:デフォルトの名無しさん [2014/01/27(月) 14:03:54.68 ] マップ間移動をしたときにマップの配列に移動先のマップ情報を読み込ませたいのですが、 本来なら控えるgoto文をつかって int WINAPI WinMain(略){ DxLib_Init(), SetDrawScreen( DX_SCREEN_BACK ); _FirstLoad : /* 初回に必要な読み込み */ goto _GAMELOOP; _Load : /* 読み込み */ if(読み込みが完了したら){ goto _GAMELOOP; } else{ /* 読み込みが失敗したときの処理*/ } _GAMELOOP : while(条件(略)){ if(プレイヤーが別のマップに移動したら){ goto _Load; } } DxLib_End(); return 0; } などとしても、大丈夫でしょうか?
368 名前:デフォルトの名無しさん mailto:sage [2014/01/27(月) 14:07:54.00 ] 馬鹿には無理
369 名前:デフォルトの名無しさん [2014/01/27(月) 14:10:01.32 ] >>368 一気にロードしても良いのですがメモリを食うので 随時配列にロードする形をとりたいのですが 具体的な回答を希望します
370 名前:デフォルトの名無しさん mailto:sage [2014/01/27(月) 14:18:57.33 ] 当人がgoto文使わないと随時配列にロードできないって言うんならそれでいいんじゃね
371 名前:デフォルトの名無しさん [2014/01/27(月) 14:23:08.33 ] >>370 やはり、ループの中で処理を済ませてしまった方が良いでしょうか
372 名前:デフォルトの名無しさん mailto:sage [2014/01/27(月) 14:26:28.00 ] 本来なら控えるgoto文を使ってまでやりたい理由があるんでしょ? なら使えば良いしないならやめとけば
373 名前:デフォルトの名無しさん [2014/01/27(月) 14:30:34.89 ] >>372 ふと思いついたので... 不安要素の方が大きかったので質問させてもらいました 無理に使う事も無いので方針的にはやめとく方にしますが、参考意見が聞きたかったので
374 名前:デフォルトの名無しさん mailto:sage [2014/01/27(月) 14:31:30.87 ] 別に絶対gotoを使うな!なんて話はないぞ あれも一種の宗教だ
375 名前:デフォルトの名無しさん [2014/01/27(月) 14:38:12.38 ] >>374 まさに 毒にも薬にもなりますからね 上手に使えればいいのですが
376 名前:デフォルトの名無しさん [2014/01/27(月) 14:45:56.59 ] 別のパソコンで実行しようとしたらD3DX9_42.DLLがないと言われた このパソコンにインストールできる権限はない コンパイルしたパソコンにわざわざ古いDirectXSDKを入れてコンパイルしなおすのもダルい 他に解決方法は?
377 名前:デフォルトの名無しさん mailto:sage [2014/01/27(月) 14:46:01.97 ] せめて前方移動と後方移動でキーワードが分かれていれば ずっとマシな評価だったのではないか
378 名前:デフォルトの名無しさん mailto:sage [2014/01/27(月) 15:28:34.15 ] >>376 SDKのRedistフォルダにファイルあるから実行ファイルと同じパスに置けば動くよ ただ、そのファイルは再配布用インストーラを通して入れないというルールがあるので(DirectSetupで調べて) 運用は自己責任でな
379 名前:デフォルトの名無しさん mailto:sage [2014/01/27(月) 18:36:36.90 ] そういや、PCを自己責任で使うのって、わりと当たり前じゃね?
380 名前:362 mailto:sage [2014/01/27(月) 23:06:54.60 ] >>365 >>362 の画像はPSVitaの開発関連のものなのですが、 NSightはNVidia以外でも使えたりするんでしょうか? まぁ、使えなかったとしても、NSight的なものがあるんでしょうね。 >>366 ありがとうございます。 MicrosoftはVisualStudioにこの機能を統合してほしいですね。
381 名前:デフォルトの名無しさん [2014/02/11(火) 16:13:20.60 ] 今MMDのPMXビューワを作っていて、頂点モーフィングを実装したいんだが、 どう作れば良いかアドバイス頂戴。 例えばPMXの亜北ネルは頂点数10399のモデルだが、 モデルに含まれている頂点モーフパッケージは、 どれも高々200頂点程度しか移動させない。 10399頂点のモデルの高々200頂点をモーフィングさせる為のシェーダは どういう設計で組めば効率が良いだろうか?
382 名前:デフォルトの名無しさん mailto:sage [2014/02/11(火) 16:59:55.26 ] >>381 面積が10399以上のfloat4テクスチャ作ってそれに移動量をモーフ数だけ加算してVSで足すとか
383 名前:デフォルトの名無しさん mailto:sage [2014/02/11(火) 18:15:51.31 ] >>381 微妙にモーフを理解してないような気がするんだが、気のせいか?
384 名前:デフォルトの名無しさん mailto:sage [2014/02/11(火) 18:26:55.99 ] メモリの効率よくいくにはこいつを使うしかない ↓ コンピュートシェーダ「・・・興味があるならやり方を教えてやる(´・ω・`)」
385 名前:デフォルトの名無しさん mailto:sage [2014/02/11(火) 19:20:47.81 ] >>382 そうするなら、単純に移動量だけ収めた頂点バッファを作って バインドした方が自然かも。1モーフ166KBか、 まずこの形で実装してみるのはありか。 >>383 端的に言うと、モーフ適用前メッシュと適用後メッシュを用意して アルファ値でブレンドするのを頂点モーフィングだと思ってる。 >>384 CS・・
386 名前:デフォルトの名無しさん mailto:sage [2014/02/11(火) 19:22:53.86 ] テッセレーション係数って最大64なんだな。 地形表現のために、もっと分割したかったのに・・・。
387 名前:デフォルトの名無しさん mailto:sage [2014/02/11(火) 23:20:02.31 ] >>383 Dx9でも行ける(VTF使うけど) モーフターゲット頂点の移動をテクスチャに1ドットずつ加算で打っていって VertexShaderでそのテクスチャを読みつつ元の頂点に足せばモーフる オフセットを記述したテクスチャじゃなくて最初の頂点位置入れても別にいいけども >>385 テクスチャだと全部GPU処理にできそうだっていう提案なんでそっちでやるほうが色々良さそう ポイントリストは意外と重いんだっけか
388 名前:デフォルトの名無しさん mailto:sage [2014/02/13(木) 15:28:47.49 ] VS2012でシェーダーファイルHLSLコンパイルできるようになってたけど main無いって怒られる DirectX11だからテクニック使わないの PSとVSあるので設定も複数いるような気がするし よくわからないです VS2012+DirectX11は、 定番はどうしたらいいの?
389 名前:デフォルトの名無しさん mailto:sage [2014/02/13(木) 15:38:56.11 ] シェーダーの種類ってのがあってピクセルシェーダーとか指定できた。 一つのファイルでps,vs両方コンパイルしたい場合はどうしたらいいですか?
390 名前:デフォルトの名無しさん mailto:sage [2014/02/13(木) 16:02:00.99 ] D3DCompileFromFile使ってプログラム内でコンパイルすればいい
391 名前:デフォルトの名無しさん mailto:sage [2014/02/13(木) 16:29:43.04 ] それはわかっております。せっかくある機能を使いたかったん… VSとPSでファイル分けるしかないのかな
392 名前:デフォルトの名無しさん mailto:sage [2014/02/13(木) 23:44:56.35 ] >>388 プロパティのHLSLコンパイラ-エントリポイント名をmainから 正しい名前に変えたらどうか? >>391 コンパイル毎にエントリポイント名を変えればファイルを分ける必要はないだろ。 コンパイルは関数の数分やる必要があるけど。 または VertexShader g_VS_main = CompileShader(vs_5_0, VS_main()); GeometryShader g_GS_main = CompileShader(gs_5_0, GS_main()); PixelShader g_PS_main = CompileShader(ps_5_0, PS_main()); これを入れてエフェクトIFで取り出す。
393 名前:デフォルトの名無しさん mailto:sage [2014/02/14(金) 16:43:45.38 ] >>392 VS2012登録でやるとコンパイルは1ファイル1関数(エントリポイント名)だけなんよ MSのサンプルでは test.fx( VSやPS入ってる。これはビルド除外 ) test_PS.hlsl( #include "test.fx" のみ記載で エントリポイントPS ) test_VS.hlsl( #include "test.fx" のみ記載で エントリポイントVS ) ってなってた
394 名前:デフォルトの名無しさん mailto:sage [2014/02/14(金) 23:39:58.35 ] HLSLをプロジェクトの設定でコンパイルは、俺も折角だから使おうと色々頑張ってみたけど使い勝手悪くて、 結局バッチとかスクリプト書いてコンパイルに戻しちゃったな。
395 名前:デフォルトの名無しさん mailto:sage [2014/02/22(土) 16:51:31.04 ] 初歩的すぎてこんなこと聞くのも恥ずかしい事かもしれんけど質問させてくれ シェーダに行列渡すとき転置するじゃない?あれってレジスタに列優先でバインドされるから って理由だったと思うんだけど、じゃあシェーダ側でmulするときにベクトルを右辺にしたらいいんじゃないのか って思うんだけどそれじゃダメなの?PC壊れててテスト出来ないんだけど気になってしょうがない ネットで探してもそういうもんだで完結してるとこ多すぎて悶々とする 仮にmulで右辺にベクトルでも問題ないなら何故転置が必要ってのが当たり前なのかも気になる 昔は左辺掛けしか出来なかったとかそういう制限あったんだろうか
396 名前:デフォルトの名無しさん mailto:sage [2014/02/22(土) 19:20:38.63 ] 右にベクトルで転置しなくても問題ないできるよ 計算が列ベクトルの方が早いとかなんとかだったような気がするが、理由は答えれるやつは少ないと思う。 書き方を統一する意味もあるんじゃないの?
397 名前:デフォルトの名無しさん mailto:sage [2014/02/22(土) 21:01:37.63 ] >>395 GL
398 名前:デフォルトの名無しさん mailto:sage [2014/02/22(土) 21:16:55.28 ] >>396 やっぱりそうなんだ、ありがとう 詳しい説明ってほとんどないよね、確かに列の方が早いってのは聞いたことあるような気がする 列優先でバインドされるからデータ取得が行優先より早いんだろうねきっと、微々たる差だろうけど しっかし本とかネットでは転置するものとしか書かれてないんだよなぁ、そういうもんと納得してね(キリッ)みたいな
399 名前:デフォルトの名無しさん mailto:sage [2014/02/22(土) 21:43:01.28 ] おお、あれってmulの左右入替えだけでできたのか。 変換が入るとややこしくなるから、行優先のデータ形式で十分っぽいな。
400 名前:デフォルトの名無しさん [2014/02/23(日) 12:00:47.34 ] テクスチャ用画像が半透明を含むかどうか(アルファが1.0以外あるか) 知りたい。 DirectXTexではScratchImage::IsAlphaAllOpaque()でわかるようだが、 DirectXTexではなくD3DX11を使用した場合、同等の機能はあるだろうか?
401 名前:デフォルトの名無しさん mailto:sage [2014/02/23(日) 16:12:11.77 ] 一発でやってくれる関数っぽいのはなかった気がしたが mapでテクスチャにアクセスして読み取れば簡単にわかるだろ
402 名前:デフォルトの名無しさん mailto:sage [2014/02/23(日) 17:16:45.34 ] >>398 アホな説明を鵜呑みにしないで、ちゃんと調べろ msdn.microsoft.com/ja-jp/library/bb509634 (VS.85).aspx D3DXMATRIXはcolumn-major(行優先)な仕様だ
403 名前:デフォルトの名無しさん mailto:sage [2014/02/23(日) 17:52:08.52 ] 行優先だからHLSLに送るとき列に転置させてるんだろ 何言っての???
404 名前:デフォルトの名無しさん mailto:sage [2014/02/23(日) 18:02:57.26 ] >>402 何いってるの?お前がまず先に文章ちゃんと読めよ 未だにD3DX 構造体使ってる時点で底が知れるけど
405 名前:デフォルトの名無しさん mailto:sage [2014/02/23(日) 19:33:51.71 ] >>396 ベクトルって4x1として扱われるんじゃないの? と思って調べたら http://msdn.microsoft.com/ja-jp/library/ee418342(v=vs.85).aspx >{ > float4 val; > return mul(val,val); // dot(val, val)と同じ >} >この乗算結果は、1x4 * 4x1 = 1x1 ベクトルです。 状況に応じて4x1と1x4で解釈変えてくれるってことなのかな
406 名前:405 mailto:sage [2014/02/23(日) 19:35:54.52 ] なんじゃこりゃ msdn.microsoft.com/ja-jp/library/ee418342 (v=vs.85).aspx >{ > float4 val; > return mul(val,val); // dot(val, val)と同じ >} >この乗算結果は、1x4 * 4x1 = 1x1 ベクトルです。 と書きたかった
407 名前:デフォルトの名無しさん mailto:sage [2014/02/23(日) 23:29:21.78 ] column-majorとは列優先のこと。 昔のSSEは内積命令がなかった為 ベクトルと行列の乗算には 列優先の方が効率が良かった。 今はどっちでもいい。
408 名前:デフォルトの名無しさん [2014/02/24(月) 23:42:19.43 ] 列優先はFORTRAN、C言語は行優先、それでDirectXも行優先にしたのでは? ところでDirectX11も左手座標系を基準にしているの? それと、DirectX9の行ベクトル*転置行列をやっぱり踏襲してるの?
409 名前:デフォルトの名無しさん mailto:sage [2014/02/25(火) 00:33:47.75 ] 開発者が自分で決めることを、DirectX云々はとかいう意味が分からない。
410 名前:デフォルトの名無しさん [2014/02/25(火) 00:56:02.20 ] 開発者って誰なんだよ。DirectX使ってソフト作っている奴かよ。 お前はDirectX云々も知らんで、サンプルプログラム動かして なんとなく納得している阿呆かよ
411 名前:デフォルトの名無しさん mailto:sage [2014/02/25(火) 03:57:22.19 ] >>410 Direct3Dの座標系は開発者が決められる そんなことも知らない馬鹿は氏んでろよ
412 名前:デフォルトの名無しさん mailto:sage [2014/02/25(火) 06:53:10.34 ] だからといってX座標の変数にyと定義しないし、Y座標にxと定義しない。
413 名前:デフォルトの名無しさん mailto:sage [2014/02/25(火) 07:05:46.11 ] XとYなんてビューの設定を開発者が変更した時点で、いかようにも変化する。 自分で決めることであって、あらかじめ定まっていることじゃない。 座標系も自分で決定することであって、DirectXに依存するようなことじゃない。 そんな簡単なことも分かっていない時点で勉強不足。
414 名前:デフォルトの名無しさん [2014/02/25(火) 10:10:28.99 ] >>413 突き詰めれば、左手系と右手系どっちなのかはプログラマの解釈の問題というのは そうかもしれない。 しかし、数学では右手系が普通、DirectX9が左手系がデフォルトだったから、 正の回転方向が右手系と逆なのに初心者はとまどってしまう。 メッシュモデルの読み込み(メタセコイアでは左手系、右手系に切り替え られるとお前は言うだろうが)やカーリングの問題もある。 それにD3DX9の算術関数は行ベクトル×転置行列になっている。数学では 行列×列ベクトルの演算が普通だから、この癖も知らないと初心者は混乱する。 だから、DirectX11はデフォルトで右手系になってるか、行列×列ベクトルに なってるのかと聞いてるのに「そんなの自分で決められる」かよ。そして、 最後は「自分で調べろ」と言うんだろ? お前みたいなのを融通のきかない、ピントはずれのボケナスと言うんだ。そして 職場で「テクハラ」をやって上司や同僚から嫌われてるだろ。 その程度のレスしかできないなら黙ってろ。おまえはどっかの掲示板の「あ」か?
415 名前:デフォルトの名無しさん mailto:sage [2014/02/25(火) 12:40:59.49 ] >>414 そもそも固定機能が無くなって頂点処理を自分で書かないといけないんだから 自分で書いたシェーダー次第。
416 名前:デフォルトの名無しさん mailto:sage [2014/02/25(火) 13:52:00.00 ] >>414 >しかし、数学では右手系が普通、DirectX9が左手系がデフォルトだったから、 いったい何を言っているんだ? そもそもそんなデフォルトは存在しない。 お前は頭が悪すぎる上に、思い込みがひどすぎる。
417 名前:デフォルトの名無しさん mailto:sage [2014/02/25(火) 13:55:43.87 ] なんでDirectX9が左手なんて勝手に思い込んじゃったんだろう? 馬鹿の考えることは常人には理解できない。
418 名前:デフォルトの名無しさん mailto:sage [2014/02/25(火) 17:44:31.59 ] 左手だから思い込みじゃなくて確信だろう。
419 名前:デフォルトの名無しさん mailto:sage [2014/02/25(火) 20:23:54.24 ] ん?でもHLSLの組み込み関数は左手なんだから、そちらに合わせたほうがシンプルで良くね? crossとか使ったことない?
420 名前:デフォルトの名無しさん mailto:sage [2014/02/25(火) 20:57:32.67 ] そもそもDirect3DもOpenGLも、同じ行列をセットして、 同じ頂点座標を描画すれば、同じ出力結果になるんだよ。 RM時代のX-Fileが左手でデータを格納していたから、 左手でやっているサンプルが多いと言うだけの話。 D3DXにべったり頼っている人間が、 疑いもせずそういうものだと思い込んでいる。
421 名前:デフォルトの名無しさん mailto:sage [2014/02/25(火) 21:02:04.13 ] hlslとglslなら、APIが違うから呼び出すまでの手続きは違えど、計算部分は完全に同じ内容になる。 両対応のプログラムを実際に作っているが、座標系の変換なんて意味不明な作業はしていない。
422 名前:デフォルトの名無しさん mailto:sage [2014/02/25(火) 21:12:54.83 ] まあ全部ただの行列の計算結果だしねぇ、唯一決まってるのはスクリーンの座標くらいか
423 名前:デフォルトの名無しさん mailto:sage [2014/02/25(火) 21:44:17.82 ] >>419 入力されるプリミティブの頂点が逆順になるだけで cross自体に右手左手なんてないでしょ?
424 名前:デフォルトの名無しさん mailto:sage [2014/02/25(火) 22:51:07.65 ] >>419 crossに座標系関係ないだろw アホ晒しもたいがいにしろ
425 名前:デフォルトの名無しさん mailto:sage [2014/02/25(火) 22:53:21.39 ] アセンブリレベルで考えればどちらかが最適だったような気がするけど。
426 名前:デフォルトの名無しさん [2014/02/25(火) 23:15:08.76 ] 自分では何も言えないくせに、弱い犬ほどキャンキャン吠えるわ ぺぇっ! はずかしくないのかよ。糞どもw
427 名前:デフォルトの名無しさん [2014/02/25(火) 23:16:29.81 ] ほんと見栄っ張りのこいつら見てると吐き気がするわ。 馬鹿の癖に
428 名前:デフォルトの名無しさん mailto:sage [2014/02/26(水) 01:02:10.02 ] VertexBufferからUnorderedAccessView作れないもんかね まあ試してみてダメだったんだが
429 名前:デフォルトの名無しさん mailto:sage [2014/02/26(水) 01:06:58.67 ] 426=427が自分の馬鹿さ加減に気が付いたようです
430 名前:デフォルトの名無しさん mailto:sage [2014/02/26(水) 01:10:01.87 ] >>429 君は相変わらずだな 毎度毎度バカだのアホだの もうちょっと成長したらどうなの?
431 名前:デフォルトの名無しさん mailto:sage [2014/02/26(水) 01:13:25.15 ] >>430 その無駄レスする電力を何かに活かせなかったのか と無駄レス
432 名前:デフォルトの名無しさん mailto:sage [2014/02/26(水) 05:30:24.00 ] >>428 コンピュートシェーダで頂点バッファ使いたいってことか? もしそうなら作ることは可能。 RWByteAddressBufferを使用する
433 名前:デフォルトの名無しさん mailto:sage [2014/02/26(水) 05:32:40.96 ] >>420 msdn.microsoft.com/ja-jp/library/bb204853 (v=vs.85).aspx >Direct3D は、左手座標系を使用します。 ほんとこいつ馬鹿だよな。少しは疑えって話だよなw
434 名前:デフォルトの名無しさん mailto:sage [2014/02/26(水) 05:41:01.82 ] あとサイズが不変で複数バッファ作ってもいいってんなら 頂点バッファと全く同じサイズのD3D11_BIND_VERTEX_BUFFERを外したバッファを作ればいい そいつをUAVに使って、頂点バッファのデータをコピー。 そのあとコンピュートなりピクセルなりを実行した後、結果を頂点バッファの方にコピーする
435 名前:デフォルトの名無しさん mailto:sage [2014/02/26(水) 05:44:35.79 ] >>433 やっぱり左手座標じゃないか。
436 名前:デフォルトの名無しさん mailto:sage [2014/02/26(水) 08:33:34.78 ] >>433 そのドキュメントが間違っているんだが、それが分からない時点で勉強が足りていない。 そこの解説にあるようなD3DXの数学ライブラリをOpenGLやDirect3Dに使った場合、 LH系で生成した行列を使えば左手になるし、RH系を使えば右手になる。 座標系を制御するのは上位層の話で、OpenGLやDirect3D自体に存在する話では無い。 X-Fileは左手で格納されているが、完全にデータフォーマットの話だ。 OpenGLやDirect3Dに座標系が存在するという意味不明な状態になるのなら、 それぞれに出力するデータを変えなければいけないということになるが、 実際に同じ行列と同じ頂点で動くのに、 じゃあ具体的に何のデータを変えると言うんだ?
437 名前:デフォルトの名無しさん mailto:sage [2014/02/26(水) 08:50:20.64 ] Microsoftが右手標準の3D業界に、RMという高レベルライブラリで対抗しようとして左手を押していた名残。
438 名前:デフォルトの名無しさん mailto:sage [2014/02/26(水) 10:11:19.29 ] 左手右手なんかZのスケール値の問題やろ 左手にZスケール-1で右手やん
439 名前:デフォルトの名無しさん mailto:sage [2014/02/26(水) 10:16:49.04 ] >>436 なに言ってるか分らないや。
440 名前:デフォルトの名無しさん mailto:sage [2014/02/26(水) 10:36:25.40 ] 判り易く言うと右手座標とか左手座標の問題というより 右回りの円と左回りの円で表裏が違うんだけど どっちを表裏にするかがDirectXとOpenGLでは逆ってこと これが物体の前後関係や陰面処理を可笑しくする
441 名前:デフォルトの名無しさん mailto:sage [2014/02/26(水) 11:49:41.69 ] >>440 カリングは自分で設定するものであって、 Direct3DやOpenGLに依存するものではない。
442 名前:デフォルトの名無しさん mailto:sage [2014/02/26(水) 12:04:12.30 ] 右左言っている奴は、 OpenGLとDirect3Dに設定する計算内容で、 いったい何を変えなければいけないのか具体的に言ってみろ。
443 名前:デフォルトの名無しさん mailto:sage [2014/02/26(水) 12:09:18.53 ] 左・右座標系「「私をめぐって争わないで・・・っ!」」
444 名前:デフォルトの名無しさん mailto:sage [2014/02/26(水) 12:11:20.53 ] >>433 を持ちだしてきて「DirectXは左手座標系!」とか言ってる人や>>439 に わざわざ本当のこと説明してあげる必要ないのに。 いいじゃん彼らの中では左手座標系ってことにしとこうよ。
445 名前:デフォルトの名無しさん mailto:sage [2014/02/26(水) 12:22:51.62 ] そういうコメントをすると自作自演とか言われるからやめてくれ。
446 名前:デフォルトの名無しさん mailto:sage [2014/02/26(水) 17:08:19.91 ] DirectXを開発したMSが左手だと言ってるんだから左手。 >>420 はまわりが見えないアホ。
447 名前:デフォルトの名無しさん mailto:sage [2014/02/26(水) 17:45:38.00 ] ドキュメントが間違っていても、自分で検証しようともせず、 盲目に信じ込む人間は開発には向かない。 下位レイヤーに座標系に違いがないなんて、 今回のやり取りで十分に分かっただろう。 自分で演算部分を組んで両方のプログラムを作っている人間なら、 そもそもそんな勘違いはしないんだよ。 同じ組み方で動くんだから。 自分で考えもせずにサンプルをマネするだけで既存の演算ライブラリに頼るから、 間違った情報をそのまま信じ込んでしまうんだよ。
448 名前:デフォルトの名無しさん mailto:sage [2014/02/26(水) 18:35:07.34 ] DirectXはふつうに左手だが、この人、そもそも座標系の意味を勘違いしてるっぽい。 >そもそもDirect3DもOpenGLも、同じ行列をセットして、 >同じ頂点座標を描画すれば、同じ出力結果になるんだよ。
449 名前:デフォルトの名無しさん mailto:sage [2014/02/26(水) 18:42:47.56 ] ならぬことはならぬものです
450 名前:デフォルトの名無しさん mailto:sage [2014/02/26(水) 19:02:24.11 ] なんか間抜けが1匹まじってるような ・Direct3Dのデフォルト座標系は左手系 ・ただし、右手系に設定可能 これだけの話しなんじゃないの?
451 名前:デフォルトの名無しさん mailto:sage [2014/02/26(水) 19:40:43.04 ] 自分で設定しないと機能しない物に、 デフォルトなど存在しない。
452 名前:デフォルトの名無しさん mailto:sage [2014/02/26(水) 20:01:01.65 ] 右だ左だデフォルト云々行っている奴は、具体的に何がデフォルトで、 Direct3DとOpenGLで何の計算に影響するか答えてみろ。 それだけで決着がつく話だろ。
453 名前:デフォルトの名無しさん mailto:sage [2014/02/26(水) 20:05:16.16 ] 438が全てだろ、何ごちゃごちゃ言ってんの?結論出てるじゃん
454 名前:デフォルトの名無しさん mailto:sage [2014/02/26(水) 20:10:18.49 ] 座標系は高レベルのレイヤの話。 だからたとえば左手が前提になっているX-Fileを使おうとした場合、 左手ならストレートに使えるが、右手でやるならデータの変換が必要になる。 しかしそれはデータ形式の問題であって、下位レイヤーの問題では無い。 今回の話をネットワークに例えると、 物理層でIPアドレスの話をしているような状態。
455 名前:デフォルトの名無しさん mailto:sage [2014/02/26(水) 20:11:14.04 ] 突き詰めれば一応、クォータニオンにもかかわってくるけどな・・・
456 名前:デフォルトの名無しさん mailto:sage [2014/02/26(水) 20:27:46.08 ] >>455 それはクォータニオンと言いたかっただけだろ。
457 名前:デフォルトの名無しさん mailto:sage [2014/02/26(水) 20:30:21.50 ] ああ、なんか響きがかっこいいだろう(´・ω・`)
458 名前:デフォルトの名無しさん mailto:sage [2014/02/26(水) 20:35:17.37 ] クォータニオン星人とかアニメとかに出てきそうな感じの名前 それはともかく戦闘機の姿勢制御の為に編み出されたっていう出自がカッコイイ
459 名前:デフォルトの名無しさん mailto:sage [2014/02/26(水) 20:35:47.52 ] 俺は四元数派
460 名前:デフォルトの名無しさん mailto:sage [2014/02/26(水) 20:52:32.22 ] 球面調和関数とか名前カッコいいよな
461 名前:デフォルトの名無しさん mailto:sage [2014/02/26(水) 20:52:43.37 ] >>454 ネットワークで言ったら座標系はプレゼンテーション層かな。
462 名前:デフォルトの名無しさん mailto:sage [2014/02/26(水) 20:57:34.17 ] ああ、このスレがこんなに盛り上がるなんて・・・。 おじさん、うれしいよw
463 名前:デフォルトの名無しさん mailto:sage [2014/02/26(水) 21:05:03.91 ] DirectX関係無い、というか関係無いことを主張するって流れなのが悲しいところだけどな 直交化法グラム・シュミットォ!(技名)
464 名前:デフォルトの名無しさん mailto:sage [2014/02/26(水) 21:21:24.13 ] 今DirectX使ってあれこれやってる人って少ないんかねぇ。 msdnのサンプルのダウンロード数見てもこのサンプルがこんだけ?ってなったりする。 あれにvisual studioからのダウンロード数が含まれてるかどうかは知らないけど。
465 名前:デフォルトの名無しさん mailto:sage [2014/02/26(水) 21:21:58.09 ] 右手系左手系の話についてまとめると、、 1、Z軸の方向 これはViewProj行列で使用者が制御するのでD3D11は関係なし 2、3角形の頂点の順番(時計回りか否か) D3D11ではD3D11_RASTERIZER_DESC::FrontCounterClockwiseで制御され デフォルト値は右回り(時計まわり)。 時計回り=左手系であるから、D3D11は関係がありデフォルト左手系と言える。 元々の質問内容が>>414 の >だから、DirectX11はデフォルトで右手系になってるか、行列×列ベクトルに >なってるのかと聞いてるのに「そんなの自分で決められる」かよ。そして、 だから、その答えはDirect3D11はデフォルトで左手系です、になるんじゃないの? 反論があるならプリーズ
466 名前:デフォルトの名無しさん mailto:sage [2014/02/26(水) 21:29:40.12 ] >>465 反論じゃないけどわからんから質問 時計回り=左手系って決まりあるの?
467 名前:デフォルトの名無しさん mailto:sage [2014/02/26(水) 21:48:20.53 ] >>466 さあ?わからん ただし、座標系と3角形頂点の順は関係無いだろうな 別にどっちがどうであれ、そもそも別の処理の話なんで。 ここでグダグダ続いている話のなんと中身のないことよ。
468 名前:デフォルトの名無しさん mailto:sage [2014/02/26(水) 22:01:51.24 ] じゃあ >だから、その答えはDirect3D11はデフォルトで左手系です、になるんじゃないの? にはならないじゃん。少なくともその論法では。
469 名前:デフォルトの名無しさん mailto:sage [2014/02/26(水) 22:04:31.49 ] DirectXってよりただのCG基礎知識になっちゃったな
470 名前:デフォルトの名無しさん [2014/02/26(水) 23:22:24.88 ] >>432 その方法でUAVを作ることが出来ました。 情報ありがとうございました。
471 名前:デフォルトの名無しさん mailto:sage [2014/02/27(木) 21:02:03.37 ] お、おう・・・。
472 名前:デフォルトの名無しさん mailto:sage [2014/02/28(金) 01:03:48.47 ] 質問させてください。 DirectX9ExのSetMaximumFrameLatency(1)が使いたく、 DirectX9をDirectX9Exに書き換えたところ D3DXLoadMeshFromXでエラーが発生するようになってしまいました。 どうすればよいのか検討がつかず困っております。 開発環境はWindows7HomePremium VisualStudio2008Pro、DirectX SDK (June 2010)です。 以下に、該当箇所のコードを書きますので、 よろしくお願いいたします。
473 名前:デフォルトの名無しさん mailto:sage [2014/02/28(金) 01:09:29.88 ] hr = Direct3DCreate9Ex( D3D_SDK_VERSION, &g_pD3DEx ); D3DPRESENT_PARAMETERS d3dpp = { 800, 600, D3DFMT_UNKNOWN, 0, D3DMULTISAMPLE_NONE, 0, D3DSWAPEFFECT_DISCARD, NULL, TRUE, TRUE, D3DFMT_D16, 0, D3DPRESENT_RATE_DEFAULT, D3DPRESENT_INTERVAL_ONE }; D3DDISPLAYMODEEX *pFullscreenDisplayMode = NULL; hr = g_pD3DEx->CreateDeviceEx( D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, hWnd, D3DCREATE_SOFTWARE_VERTEXPROCESSING, &d3dpp, pFullscreenDisplayMode, &g_pD3DDevEx );
474 名前:デフォルトの名無しさん mailto:sage [2014/02/28(金) 01:11:33.82 ] hr = D3DXLoadMeshFromX(L"tiger.x", D3DXMESH_MANAGED, g_pD3DDevEx, &pAdjacency, &pMtrlBuf, &pEffectInstances, &numMaterials, &pMesh); if(FAILED(hr)) { MessageBox(hWnd, L"D3DXLoadMeshFromX NG", L"CreateD3D", MB_OK); return FALSE; } MessageBox(hWnd, L"D3DXLoadMeshFromX OK", L"CreateD3D", MB_OK); 以上です。
475 名前:デフォルトの名無しさん mailto:sage [2014/02/28(金) 01:33:01.51 ] D3D9のランタイムをデバッグモードにしてVisualStudioの出力にエラーメッセージが記録されるか確認 またエラーの際のHRESULTの内容も
476 名前:デフォルトの名無しさん mailto:sage [2014/02/28(金) 01:43:12.34 ] D3D9ExはD3DPOOL_MANAGEDのリソース作れないので D3DXMESH_MANAGEDを外してみたらどうかしら
477 名前:472 mailto:sage [2014/02/28(金) 02:26:33.59 ] >>475 DirectXコントロールパネルから、Debugに設定したところ、 VisualStudioの出力に D3DX: D3DPOOL_MANAGED is not supported on D3D9Ex devices と表示されました。 HRESULTの値は E_INVALIDARG(無効なパラメータが関数に渡されました。) でした。 D3DXMESH_MANAGEDは使えなそうなので、 D3DXMESH_DYNAMICに変更したところ、うまくいきました。 素早いご助言で非常に助かりました。 ありがとうございます。大変感謝です。
478 名前:472 mailto:sage [2014/02/28(金) 02:29:08.45 ] >>476 そういう事だったのですか。勉強になります。 テクスチャの読み込みでもエラーが発生したので、 D3DPOOL_MANAGED から D3DPOOL_DEFAULT へ変更でOKでした。 ありがとうございました。
479 名前:デフォルトの名無しさん mailto:sage [2014/03/04(火) 02:32:45.95 ] 質問させてください DirectX11でピクセルシェーダへの入力は標準で補間されるんですよね つまりスムーズシェーディングはフォンシェーディングならPSに入力される法線を使えば勝手にできると理解したのですが どうしてもフラットシェーディングでしか表示できません そもそも法線の補間が効いてないようなのですが何か設定が必要なのでしょうか 初めて間もないド素人なので見当違いの質問だったらすjみません
480 名前:デフォルトの名無しさん mailto:sage [2014/03/04(火) 05:15:31.42 ] 全部の法線が同じ方向だったり
481 名前:デフォルトの名無しさん mailto:sage [2014/03/04(火) 05:46:56.27 ] >>480 どうやらそのようです 本を参考にGSで面の法線を計算させていたのですがそのまま頂点の法線にしても同じ方向ですよね あまりに基本的なこと過ぎてお恥ずかしい限りです ちょっとどつぼににはまっていたのですがあっさり解決しそうです ありがとうございました
482 名前:デフォルトの名無しさん [2014/03/04(火) 21:12:26.88 ] DirectX11で背景に画像を表示しようと思ったらどうしたらいい?
483 名前:デフォルトの名無しさん mailto:sage [2014/03/04(火) 21:29:20.91 ] 何が聞きたいのかさっぱり分からない。
484 名前:デフォルトの名無しさん mailto:sage [2014/03/04(火) 21:54:40.72 ] 画面クリアをテクスチャでやりたいってことなんじゃないの 色々方法あると思うけど、まず自分でやってみてから質問しろよ どうすればいい?ってんなら好きにすればいいとしか言えない
485 名前:デフォルトの名無しさん mailto:sage [2014/03/05(水) 03:21:50.13 ] とりあえずテクスチャ張った画面サイズの板ポリゴンを平行投影で描いてその後デプスバッファのクリアをしたらやりたいことはできた レンダビューを単色クリアするみたいに直接画素値を書き込むとかはできないのかな 全然機能を把握できてないからなんて調べたら良いかも分からん
486 名前:デフォルトの名無しさん mailto:sage [2014/03/05(水) 03:35:58.81 ] おまえは基礎知識がなさすぎなんだよ
487 名前:デフォルトの名無しさん mailto:sage [2014/03/05(水) 04:27:38.32 ] 基礎知識が無いから聞いてるんだけどな まあいいやもっと独学積んでからくるわ
488 名前:デフォルトの名無しさん mailto:sage [2014/03/05(水) 04:30:03.83 ] 正論
489 名前:デフォルトの名無しさん mailto:sage [2014/03/05(水) 06:32:32.66 ] Direct2D「・・・呼ばれた気がした」
490 名前:デフォルトの名無しさん mailto:sage [2014/03/05(水) 07:21:52.35 ] >>485 画像でクリアしたいなら、CopySubresourceRegionが多分使える。 単純コピーだからこっちのが早いだろうけど、基本的にリソースの初期化とか更新用なので、 フォーマット揃ってないとダメとか、矩形転送(回転は不可)だとか、はみ出してちゃダメとか、かなり厳しい制限が色々あるから、 背景を描画するのが目的ならシェーダ経由で描画するのが普通だと思う。 ホントに画像でクリアしたいんならこっちの方がいいだろうけど、 後で背景スクロールとかしたいなーとかなったら、結局シェーダー経由の実装に泣きながら書き換えるハメになるだろうし。
491 名前:デフォルトの名無しさん mailto:sage [2014/03/05(水) 07:33:43.59 ] CopySubresourceRegionは単純コピーじゃないぞ 毎フレームに使うのを躊躇するほど超絶重いから 軽いのはCopyResourceの方な
492 名前:デフォルトの名無しさん mailto:sage [2014/03/05(水) 13:42:48.14 ] >>485 そもそも描く時点でデプスバッファを更新しないようにする。
493 名前:デフォルトの名無しさん mailto:sage [2014/03/05(水) 15:39:37.66 ] >>489 ID2D1DeviceContext以降のお前なら歓迎するよ^^
494 名前:デフォルトの名無しさん mailto:sage [2014/03/05(水) 18:28:40.38 ] DirectShowについてってここでいいでしょうか? 動画ファイルに文字や絵を合成してまた動画ファイルにしたいのですが こういうのは自分でフィルタを書かないと ダメなものでしょうか?
495 名前:デフォルトの名無しさん mailto:sage [2014/03/05(水) 21:35:21.73 ] つ AviUtl
496 名前:デフォルトの名無しさん mailto:sage [2014/03/05(水) 22:55:23.00 ] DirectShowのストリームはアプリから触れないからねぇ。そういうぴったりのフィルタが なければ自分でフィルタを書くしかない。 Windows7以降ならDirectShowじゃなくてMediaFoundation使えば?
497 名前:デフォルトの名無しさん mailto:sage [2014/03/05(水) 23:26:06.15 ] >>495 プログラムでいじってみたいです。 >>496 自分でフィルタを書くものなのですね。 そうとわかればチャレンジしてみます。 MediaFoundationはDirectShow以上に情報が見つからないみたいなので 普及したら勉強してみます。
498 名前:381 mailto:sage [2014/03/06(木) 01:12:09.17 ] やっと頂点モーフィングを実装出来たぜ・・(結局CSで実装) 約1月、時間かけ過ぎたぜ 残るは剛体だけだぜ・・
499 名前:デフォルトの名無しさん mailto:sage [2014/03/06(木) 12:46:17.65 ] キタ━━━━(゚∀゚)━━━━!! blogs.msdn.com/b/directx/p/directx12.aspx
500 名前:デフォルトの名無しさん mailto:sage [2014/03/06(木) 13:01:37.43 ] 早速Mantle要らない子になるん?
501 名前:デフォルトの名無しさん mailto:sage [2014/03/06(木) 13:24:50.75 ] Mantleは既に使える技術 DirectX12は早くても来年 対応するハードウェアはいつになるか未定
502 名前:デフォルトの名無しさん mailto:sage [2014/03/06(木) 16:39:18.72 ] パートナーにQualcommがおる
503 名前:デフォルトの名無しさん mailto:sage [2014/03/06(木) 22:21:52.38 ] 来年なのか、じゃ11使っとくしかないか…
504 名前:デフォルトの名無しさん mailto:sage [2014/03/06(木) 22:46:52.31 ] またOSに制約つけそう もうDirectX自体がおわこん・・
505 名前:デフォルトの名無しさん mailto:sage [2014/03/06(木) 22:53:52.66 ] 当然8以降じゃないの?
506 名前:デフォルトの名無しさん mailto:sage [2014/03/06(木) 23:53:51.93 ] どんなフィーチャーが付くのかなワクテカ
507 名前:デフォルトの名無しさん [2014/03/07(金) 00:21:27.14 ] ここの馬鹿どもはベクトルの回転行列と座標変換行列の区別も知らんだろ。 期待するだけ無駄だ。なにせ両者の要素は全く同じだし。
508 名前:デフォルトの名無しさん mailto:sage [2014/03/07(金) 01:57:02.17 ] おじいちゃんもう寝る時間よ
509 名前:デフォルトの名無しさん mailto:sage [2014/03/07(金) 02:38:30.35 ] よくわからん煽り入れる場所を間違ってるつーの
510 名前:デフォルトの名無しさん mailto:sage [2014/03/07(金) 05:35:40.75 ] 次のDirectXは初期化が簡単になってると良いな。 逆にシェーダーがほとんどコンピュートシェーダ化して、 SMなんかのユニットを意識して書かなきゃならなくなるとか、そんなのになりそうだけど。
511 名前:デフォルトの名無しさん mailto:sage [2014/03/07(金) 19:16:01.59 ] またちゃぶ台返しするんだろうな XNAMathは廃止しまーす、代わりに○○を使ってね DirectXTexはサポートしませーん、変わりに○○使ってね D3DXEffectは廃止しまーす、代わり?いや無いけど?
512 名前:デフォルトの名無しさん [2014/03/07(金) 19:50:53.57 ] また、ガラクタどもがしょうもないことをw
513 名前:デフォルトの名無しさん mailto:sage [2014/03/07(金) 19:54:29.68 ] とりあえず知ってる単語並べてディスってみました感
514 名前:デフォルトの名無しさん [2014/03/07(金) 20:16:31.56 ] DirectXの初期化で無事死亡した
515 名前:デフォルトの名無しさん mailto:sage [2014/03/07(金) 21:56:18.10 ] >>511 わざと言ってるのか?w すごい外し方だな
516 名前:デフォルトの名無しさん mailto:sage [2014/03/08(土) 00:15:49.39 ] 11でだいぶ良くなった。 もう一息ってとこだね。
517 名前:デフォルトの名無しさん mailto:sage [2014/03/08(土) 00:38:57.41 ] どっちかって言うと 10でかなりまともになったが 11でまたおかしくなってきた
518 名前:デフォルトの名無しさん mailto:sage [2014/03/08(土) 01:03:19.38 ] 10のパワーアップ版が11なのにどこがおかしくなったんだよ
519 名前:デフォルトの名無しさん [2014/03/08(土) 01:28:23.30 ] おかしいのはお前らのドタマ
520 名前:デフォルトの名無しさん mailto:sage [2014/03/08(土) 02:15:31.53 ] 使い物にならないテッセレーションの為に、節操なくシェーダステージを量産 ID3D11DeviceとID3D11DeviceContextの分離(性能の為に簡素さを犠牲) CAPS的要素の復活(正しくは10.1からだが) RWStructuredBufferやRWByteAddressBuffer、AppendStructuredBufferなど、非汎用的な拡張(例えばvector< struct >1本では無理だったのか) 全体的に10で洗練されてかなりシンプルなデザインになったのに 11でまた複雑化する方向に舵を取った印象 おかしくなってるとはそういうこと
521 名前:デフォルトの名無しさん mailto:sage [2014/03/08(土) 10:41:48.02 ] うーん、そう言われると、たしかにもっと洗練された構造にできなかったのかな、と思う。 C++AMPなんかは裏でDirectCompute使ってるけど、 あれはかなり洗練されてる印象がある。
522 名前:デフォルトの名無しさん mailto:sage [2014/03/08(土) 10:42:27.20 ] シェーダステージはハードのアーキテクチャに合わせてるだけだから別によくね? 無理矢理使わないとダメなものでもないし 複雑化はしてると思うけど、それだけ出来ることが増えてるとも言えるし
523 名前:デフォルトの名無しさん mailto:sage [2014/03/08(土) 17:25:21.54 ] 11>10 これは間違いない
524 名前:デフォルトの名無しさん mailto:sage [2014/03/08(土) 18:25:59.28 ] ID3D11DeviceとID3D11DeviceContextの分離の部分は 個人的には便利だがな
525 名前:デフォルトの名無しさん mailto:sage [2014/03/08(土) 21:34:01.24 ] DeviceContextとの分離はマルチスレッドのための設計だからじゃないのかな
526 名前:デフォルトの名無しさん mailto:sage [2014/03/08(土) 21:39:47.34 ] ID3D11DeviceContextの分離は目的に対して素直な変更だし Capsについても広いハードウェアをサポートしつつ先進的な機能をAPIに取り込むスタンスにおいて 最初っからただの幻想だと思ってたから、まあそうなるよねって感想しかないな シェーダまわりがとっ散らかってるの完全に同意
527 名前:デフォルトの名無しさん mailto:sage [2014/03/08(土) 23:20:46.62 ] DifferedContextの利点がいまいち分からんw
528 名前:デフォルトの名無しさん mailto:sage [2014/03/11(火) 16:21:55.90 ] DirectX9の Presentには、 更新元、更新先矩形指定できたけど、 HRESULT Present( CONST RECT *pSourceRect, CONST RECT *pDestRect, HWND hDestWindowOverride, CONST RGNDATA *pDirtyRegion ); 11のPresentには、矩形指定が無いのです。 別に指定方法ってありますか?
529 名前:デフォルトの名無しさん mailto:sage [2014/03/11(火) 16:52:24.69 ] >>528 ドキュメントを読まない馬鹿は救いようがないな もう一度リファレンスをよく読め
530 名前:デフォルトの名無しさん mailto:sage [2014/03/11(火) 17:53:36.61 ] Present1
531 名前:デフォルトの名無しさん mailto:sage [2014/03/13(木) 16:51:05.51 ID:sXBITfll] DirectX 9.0 SDK Update - (October 2004)を 探しているのですが、microsoftのダウンロードセンターを 探しても見つからないです。どこかに置いてあるものなのでしょうか。 ちなみに、中に入っているdinput.libが欲しいのですが。
532 名前:デフォルトの名無しさん mailto:sage [2014/03/13(木) 17:41:01.98 ID:mfsOHz8n] >>531 探し方が悪いだけだろ やり直し
533 名前:531 mailto:sage [2014/03/13(木) 18:09:04.93 ID:sXBITfll] >>532 ありがとうございます。 結局、Microsoft内を探しても見つけられなかったので 仕方が無いので、怪しげなサイトに置いてある dxsdk_oct2004.exeを見つけ、ダウンロードすることにしました。 SHA-1は8097bb69676a20e55a98a67d960a8b6edc89dff9のようなので これが一致していれば大丈夫なはず、、、はず。。。 Microsoft内で簡単に見つかれば、こんな恐ろしい目に合わなくて済むのですが。。。
534 名前:デフォルトの名無しさん mailto:sage [2014/03/13(木) 18:19:53.43 ID:mfsOHz8n] >>533 「DirectX SDK October 2004」でググるという発想はないのか…
535 名前:デフォルトの名無しさん mailto:sage [2014/03/13(木) 18:24:08.44 ID:mfsOHz8n] >>534 自己レス ごめん、ググって出てこない というか、>>532 のいうようにMSのDLセンターからSDKがほぼ消えてる DXSDk October 2004 www.microsoft.com/downloads/details.aspx?FamilyId=B7BC31FA-2DF1-44FD-95A4-C2555446AED4%26displaylang=en DLセンタートップにリダイレクトされる 一時的なものかDX12を前に一掃されたかわからん 確認せずにいい加減なレスしてすまんかった
536 名前:531 mailto:sage [2014/03/13(木) 19:24:20.97 ID:sXBITfll] >>535 うちだけMicrosoftからブロックされたのかな?とか 訳のわからないことを考えてしまっていましたw 怪しい韓国サイトからDLしたものは、chromeさんに 「これ、危ないファイルだよ」と言われた上に、SHA-1も 異なっていたので、0と1に還元してあげました。 仕方がないのでしばらく様子見することにします。 ありがとうございました。
537 名前:デフォルトの名無しさん mailto:sage [2014/03/13(木) 20:04:37.05 ID:ehk1j1eU] 純正品ならMSの署名ついてるだろ
538 名前:デフォルトの名無しさん mailto:sage [2014/03/13(木) 22:22:44.58 ID:tA2XNf3V] つかdinputって推奨されてないんじゃなかったっけ。
539 名前:デフォルトの名無しさん mailto:sage [2014/03/13(木) 23:07:57.86 ID:C3VukTft] www.microsoft.com/en-us/download/details.aspx?id=6812
540 名前:デフォルトの名無しさん mailto:sage [2014/03/13(木) 23:58:34.99 ID:0zqrsvP1] ttp://www.microsoft.com/en-us/search/DownloadResults.aspx?q=directx%20software%20development%20kit&sortby=availabledate Oldest to Newestでソートしても、一番古いSDKはApril 2006になっちゃうみたいだね
541 名前:デフォルトの名無しさん mailto:sage [2014/03/14(金) 00:45:48.33 ID:eYqlzhTA] 古いDirectX本のCDに付いてると思う。 正規に入手するならそれ位しかないんじゃない?
542 名前:デフォルトの名無しさん mailto:sage [2014/03/14(金) 01:09:44.21 ID:MXy7+zpF] >>541 無知。MSDNにはあるよ msdn.microsoft.com/ja-jp/subscriptions/downloads/#searchTerm=&ProductFamilyId=251&Languages=en&PageSize=10&PageIndex=0&FileId=0
543 名前:デフォルトの名無しさん mailto:sage [2014/03/14(金) 02:02:01.99 ID:FYfc+HAB] いちいち口の悪い奴だ。
544 名前:デフォルトの名無しさん [2014/03/15(土) 14:37:10.27 ID:ZPMHjx2K] DrawInstancedIndirect()などIndirect系の利点がいまいちわからん。 DrawInstanced()の引数「uint x 4」がシェーダリソースになってるってことだが 描画がGPUで勝手にやってくれる訳でもなく、 CPUからのDrawInstancedIndirect()コールは必要な訳で、 それじゃDrawInstanced()コールしてんのと殆ど違いが無いよね。 引数「uint x 4」の転送がそんなに重いの?
545 名前:デフォルトの名無しさん mailto:sage [2014/03/15(土) 15:47:48.76 ID:rqH/Y87T] コンピュートシェーダ「俺が並列計算してインスタンス数をはじき出す、待ってろ!」 DrawInstancedIndirect「さすが、コンピュート先輩!」
546 名前:デフォルトの名無しさん mailto:sage [2014/03/15(土) 19:18:06.97 ID:OVnyPj77] ワロタw
547 名前:デフォルトの名無しさん mailto:sage [2014/03/15(土) 21:31:42.56 ID:m+I3XmHi] >>544 CPUとGPUは非同期で動いてるから、普通のDrawInstanced()だとコンピュート先輩が結果出すまでCPUは待ちぼうけくらうっしょ? でもコンピュート先輩がシェーダーリソースに結果を書き出して、後続のDrawCallがそこからパラメータを読み取って動作するって命令があればGPUの中で完結するからCPUを止めずに済む。 それがIndirect系の命令。
548 名前:デフォルトの名無しさん mailto:sage [2014/03/19(水) 15:16:43.92 ID:pQvJpOb/] d3dx9.h:No such file or directoryと出たのでヘッダーファイルズにd3dx9.hとd3dx9.hでインクルードされているヘッダーファイルを入れたのですが結果は変わりませんでした。 何が問題なのでしょうか?よろしくお願いします
549 名前:デフォルトの名無しさん mailto:sage [2014/03/19(水) 16:41:05.97 ID:GyaDX1Bo] >>548 おまえが環境構築の何たるかを理解してないのが問題なんだよ
550 名前:デフォルトの名無しさん mailto:sage [2014/03/19(水) 17:48:56.55 ID:mmxkXVjV] FAQだからエラーメッセージやらファイル名やらでぐぐれ あと勝手にコピーしたファイルは必ず戻しておくこと
551 名前:デフォルトの名無しさん mailto:sage [2014/03/19(水) 23:07:44.60 ID:3ifCllKW] もうDirectXでもなんでもないやんけそれ プログラミングの基礎から勉強し直せ
552 名前:デフォルトの名無しさん mailto:sage [2014/03/20(木) 01:03:46.28 ID:l7cmVyTY] 今そういえばVS2013とかにd3dx9.hって入ってないのか sdk探して下ろしたり知ってる人間でも割と面倒かもしれない と思った
553 名前:デフォルトの名無しさん mailto:sage [2014/03/20(木) 02:04:41.49 ID:x0ohoy4J] で、入ってないからと古いSDK入れようとすると KB紹介:DirectX SDK をインストールしようとするとエラーが発生する blogs.msdn.com/b/windows_multimedia_jp/archive/2013/09/05/kb-directx-sdk.aspx こういうエラーに遭遇したり。めんどくさい。
554 名前:デフォルトの名無しさん mailto:sage [2014/03/21(金) 01:56:22.38 ID:Uok2eO6l] もう最新のDirectX11でイイよ。
555 名前:デフォルトの名無しさん mailto:sage [2014/03/21(金) 02:38:22.37 ID:/a5JnjE5] NVIDIA will support DX12 on Fermi, Kepler, Maxwell and forward! 古いハードウェアでも行けるのか
556 名前:デフォルトの名無しさん mailto:sage [2014/03/21(金) 02:40:46.00 ID:/a5JnjE5] Developers already have DX12 drivers. The Forza demo was running on NVIDIA!!! つまりデモの映像はPCで動いてたのかよw
557 名前:デフォルトの名無しさん mailto:sage [2014/03/21(金) 04:40:26.50 ID:XBQxLLJ5] >>552 今までVSにD3DXのヘッダなんて入ってたことあったか?
558 名前:デフォルトの名無しさん mailto:sage [2014/03/21(金) 05:12:13.43 ID:vYyAx4Xx] blogs.msdn.com/b/directx/archive/2014/03/20/directx-12.aspx Windows7対応しなさそうな感じだな
559 名前:デフォルトの名無しさん mailto:sage [2014/03/22(土) 03:21:12.09 ID:e5G6ta4Q] >>558 7対応するって www.4gamer.net/games/033/G003329/20140321013/
560 名前:デフォルトの名無しさん mailto:sage [2014/03/23(日) 02:55:55.99 ID:Tm2ek9Zj] Directxに興味を持って2年くらい前から本を持っているのに 相変わらずサンプルのビルドすらできない ライブラリとか指定済みのSampleBrowserのものすら動かないのは何が悪いのやら
561 名前:デフォルトの名無しさん mailto:sage [2014/03/23(日) 03:27:17.72 ID:tktLBKAf] >>560 おまえの頭
562 名前:デフォルトの名無しさん mailto:sage [2014/03/23(日) 03:59:50.76 ID:gvom7fcZ] Hello worldがコンパイル出来てるか心配になるレベル
563 名前:デフォルトの名無しさん mailto:sage [2014/03/23(日) 05:51:35.48 ID:YAORAhKQ] 定数バッファを作ろうと思って struct TEST { float test; }; というストラクチャを作り、 D3D11_BUFFER_DESC cb; cb.ByteWidth = sizeof( TEST ); cb.Usage = D3D11_USAGE_DYNAMIC; cb.BindFlags = D3D11_BIND_CONSTANT_BUFFER; cb.CPUAccessFlags = D3D11_CPU_ACCESS_WRITE; cb.MiscFlags = 0; cb.StructureByteStride = 0; ID3D11Buffer* ConstBuffer; m_pD3DDevice->CreateBuffer(&cb, NULL, &ConstBuffer); という風に書いたんですが、このCreateBuffer()で失敗します。 HLSLの方は cbuffer cbBuffer0 : register(b0) { float test; }; 何が問題なんでしょう?
564 名前:デフォルトの名無しさん mailto:sage [2014/03/23(日) 10:53:22.16 ID:mAtrOGhz] >>563 おいおい、買った本教えてみ。 非常に大事なお約束が抜けてるぞw 自分も最初に躓いたな、そこw
565 名前:デフォルトの名無しさん mailto:sage [2014/03/23(日) 11:33:44.93 ID:ZR9aiy74] >>563 D3D11が失敗するときは、エラーメッセージを吐くのでそれを参考に。 Bufferまわりはマニュアルにない制約が多いので注意。 D3D11 ERROR: ID3D11Device::CreateBuffer: The Dimensions are invalid. For ConstantBuffers, marked with the D3D11_BIND_CONSTANT_BUFFER BindFlag, the ByteWidth (value = 4) must be a multiple of 16. ByteWidth must also be less than or equal to 65536 on the current driver. [ STATE_CREATION ERROR #66: CREATEBUFFER_INVALIDDIMENSIONS]
566 名前:デフォルトの名無しさん mailto:sage [2014/03/23(日) 17:59:18.84 ID:qjHgMSQw] まあ、簡単に言うとだな・・・ struct TEST { float test; float test2; float test3; float test4; }; にしとけってことだ
567 名前:デフォルトの名無しさん mailto:sage [2014/03/23(日) 18:55:17.87 ID:FUgeXWae] >>560 持ってるだけじゃ意味ないですよw
568 名前:563 mailto:sage [2014/03/23(日) 20:17:38.70 ID:YAORAhKQ] >>564-566 回答ありがとうございます。 sizeof(TEST) + ( 16 - (sizeof(TEST) % 16)); としたら通りました。 考えてみれば実用上はほとんどの場合、float4の型しか使いませんね。 >>564 今のところネット情報だけでやってます。良ければオススメの本教えてください。
569 名前:デフォルトの名無しさん mailto:sage [2014/03/23(日) 20:25:38.86 ID:mAtrOGhz] >>568 www.kohgakusha.co.jp/books/detail/978-4-7775-1537-0 定数バッファの制限とか基本的な事は抑えてる。 ただ、>>565 も言ってるように、書かれてない制限もあるから注意。
570 名前:デフォルトの名無しさん mailto:sage [2014/03/23(日) 20:55:55.31 ID:qjHgMSQw] なんだ、二年前の本の人とは別人なのか
571 名前:デフォルトの名無しさん mailto:sage [2014/03/24(月) 23:47:47.10 ID:qqvrcyIg] DXVAで動画エンコしようと思っているんだけど、IDirect3DSurface9を使う場合って やっぱりデバイスロスト対策は要るんだろうか? もし要るとした場合、随時TestCooperativeLevel()でチェックすればいいのかな?
572 名前:デフォルトの名無しさん mailto:sage [2014/03/30(日) 23:47:50.94 ID:LHeEvqgF] >>560 と同じ状況ですが サンプルを動かすのに設定済み項目以外で変更すべき項目などありますか
573 名前:デフォルトの名無しさん mailto:sage [2014/03/31(月) 01:40:05.21 ID:VNf8PF+y] ビルドに失敗するならビルド時のエラーメッセージを無視せず必ず読め そこに何が問題なのか8割方書いてある
574 名前:デフォルトの名無しさん mailto:sage [2014/03/31(月) 13:24:52.71 ID:E/15h4Ol] #includeは、おまじないじゃないんやで
575 名前:デフォルトの名無しさん mailto:sage [2014/03/31(月) 21:39:38.90 ID:OtQqQh/Y] せやな。
576 名前:デフォルトの名無しさん mailto:sage [2014/03/31(月) 21:41:40.85 ID:4R4NZLEn] プログラミングは宗教です
577 名前:デフォルトの名無しさん mailto:sage [2014/04/01(火) 00:47:46.28 ID:kcoRdAap] ならプログラマは神の奇跡を呼び起こす僧侶だな
578 名前:デフォルトの名無しさん mailto:sage [2014/04/01(火) 13:46:39.50 ID:SlVwWPQZ] アップルという名の宗教に入っています
579 名前:デフォルトの名無しさん mailto:sage [2014/04/03(木) 11:01:19.44 ID:tuuzFS5t] DX12はWindowsPhoneも対応だけど、.NETには対応しないの?
580 名前:デフォルトの名無しさん mailto:sage [2014/04/03(木) 11:49:04.76 ID:0Rw6D0p7] 何を言ってるんだ君は
581 名前:デフォルトの名無しさん mailto:sage [2014/04/03(木) 11:54:53.35 ID:B4cDVk8c] SharpDXあたりが対応してくるんじゃね
582 名前:デフォルトの名無しさん mailto:sage [2014/04/03(木) 16:56:56.73 ID:1H4eKrwv] 開発者さんやる気満々だったよ
583 名前:デフォルトの名無しさん mailto:sage [2014/04/04(金) 09:00:30.47 ID:GzdpzWxB] オープンソースになるって www.publickey1.jp/blog/14/cvisual_basicroslynbuild_2014.html
584 名前:デフォルトの名無しさん mailto:sage [2014/04/10(木) 10:43:43.20 ID:T9oa77ZA] ゲイツが抜けてから迷走してるなぁ。 マカーなんか採用するからこんなことになるんだよ。
585 名前:デフォルトの名無しさん mailto:sage [2014/04/10(木) 12:36:49.50 ID:Tdl4/NAC] ゲイツまだいるし
586 名前:デフォルトの名無しさん mailto:sage [2014/04/10(木) 14:19:55.93 ID:ro2/cQQ+] ビル&メリンダ・ゲイツ財団にいるんじゃね
587 名前:デフォルトの名無しさん [2014/04/12(土) 01:09:50.13 ID:22hvsUpn] C#とSlimDXの質問ってここで良いの?
588 名前:デフォルトの名無しさん mailto:sage [2014/04/12(土) 01:11:50.33 ID:M8tgAww2] 内容によっては↓ C# C# C♯ でゲームを作ろう Part2 toro.2ch.net/test/read.cgi/gamedev/1290300779/
589 名前:デフォルトの名無しさん [2014/04/12(土) 01:13:05.66 ID:22hvsUpn] Direct2D&DirectWriteは文字の表示のみなんでしょうか? 入力が必要になった場合コントロールの貼り付けで対応するんでしょうか?
590 名前:デフォルトの名無しさん [2014/04/12(土) 01:18:26.13 ID:22hvsUpn] SlimDXのDirect2Dでオブジェクトをアフィン変換する時に回転して拡大縮小を同時にするには 変換行列を使うとどう行列を設定すればいいんでしょうか?
591 名前:デフォルトの名無しさん mailto:sage [2014/04/21(月) 20:12:56.30 ID:ZimkVXWA] VC++2010でDirectX系のlibファイルをデフォルトで追加されてるようにするには どうすればいいでしょうか?
592 名前:デフォルトの名無しさん mailto:sage [2014/04/21(月) 20:33:41.43 ID:wKHG/yUs] >>591 ググれ
593 名前:デフォルトの名無しさん mailto:sage [2014/04/22(火) 20:11:25.32 ID:j0qIwEs0] 2010でデフォルトで追加されるようにって意味がよくわからんぞ 2010とdirectxインストールしろとしか言えんわ ・・・2012じゃだめなん?こっちは最初からdirectxが入ってるぞ
594 名前:デフォルトの名無しさん mailto:sage [2014/04/22(火) 20:16:36.18 ID:xLscFuQY] 新規プロジェクトを作成したときに 追加の依存ファイルとしてd3d10.libとかが既に設定されている状態にしたいってことかね
595 名前:デフォルトの名無しさん mailto:sage [2014/04/22(火) 22:24:54.83 ID:opoOWVn8] プロパティシートでも自前で書けば?
596 名前:デフォルトの名無しさん mailto:sage [2014/04/24(木) 01:36:45.53 ID:spet179P] DirectX11のブレンドステートって加算用とか乗算用に変更しようとして 毎回CreateBlendStateとOMSetBlendState呼ぶのは間違ってる?
597 名前:デフォルトの名無しさん mailto:sage [2014/04/24(木) 02:55:13.63 ID:U9MVIO0k] 速度的に問題ないと思ったら毎回呼んでもいいんじゃない? 同じステートがすでに制作済みならそのポインタを返すらしいぞ、CreateBlendStateは ・・・俺は毎回CreateBlendStateは呼ばんけどな
598 名前:デフォルトの名無しさん mailto:sage [2014/04/24(木) 07:56:13.21 ID:lBIIK8rX] さすがにCreate系は立ち上げの際に1回呼び出すだけだな。 Set系は毎フレームコールしてるわ。
599 名前:デフォルトの名無しさん mailto:sage [2014/04/24(木) 11:29:16.45 ID:J1TSy0dP] >>597 、>>598 じゃあ初期化の段階で加算用、乗算用とかのブレンドステート作っておいて、 いざ使う時にどれかを選んでSetする感じか サンクス
600 名前:デフォルトの名無しさん mailto:sage [2014/04/24(木) 17:28:22.52 ID:DnZ7CeuU] >>599 DirectXTKってのにシングルトンのステートオブジェクトを返す丁度良い実装があるよ
601 名前:デフォルトの名無しさん mailto:sage [2014/04/24(木) 21:40:34.28 ID:TplQLG64] DirectXTKは使わないし、それほど素晴らしいとは思えないけど、 参考にはなると思う 実用的なモノのソースがぜんぶ見られるんだから、見て損はないよね それはどうでもイイけど、>>596 それは無いと思う Direct3Dに限った話じゃないけど、C/C++的に、とても忙しいときに リソース確保とかない
602 名前:デフォルトの名無しさん mailto:sage [2014/04/26(土) 16:40:29.83 ID:jarD8S8q] DirectX+C++でプログラムを作りたいと思っています。 PS4でソフトを出す人が言っていたのですが、今でもDirectX9使ってて、11は触ったこともないよと言っていました。 (DirectX9のプログラムをPS4でリリースするそうです) 11は9にあった機能がガンガン削られたというのも気になってて、9から勉強すれば大丈夫でしょうか?
603 名前:デフォルトの名無しさん mailto:sage [2014/04/26(土) 16:56:18.01 ID:kNj7CoHP] 今さら9はないかな 機能が削られたといってもよりハードウェアよりになってパフォーマンスを重視するようになったってだけだし
604 名前:デフォルトの名無しさん mailto:sage [2014/04/26(土) 17:11:51.16 ID:hnCObsbS] 9は参考書籍に良書が多いから、9スタートでもいいとは思うけど、 やる気の持続する人はこの質問する前にすでに両方試してると思う。つまり才能がな(ry
605 名前:デフォルトの名無しさん mailto:sage [2014/04/26(土) 17:36:17.40 ID:KAgGu5U7] 触ったことも無い人間が語る内容を信じる意味が分からない。
606 名前:デフォルトの名無しさん mailto:sage [2014/04/26(土) 17:53:02.69 ID:OHeunlyf] 9をかんだ程度で11に行きたいならやめておいた方がいい。混乱するだけだ 9を極めて11に行こうってんなら、移行は簡単だろうが時間の無駄すぎるだけだ
607 名前:デフォルトの名無しさん mailto:sage [2014/04/27(日) 06:55:45.29 ID:ean7wWfJ] 0から始めるのに今更9は流石に無意味
608 名前:デフォルトの名無しさん mailto:sage [2014/04/28(月) 17:57:24.54 ID:6pILsLXV] DX11ってOpenGLみたいに描画がプリミティブになったんだっけ?
609 名前:デフォルトの名無しさん mailto:sage [2014/04/29(火) 09:44:48.70 ID:JlO62gth] 意味不明
610 名前:デフォルトの名無しさん mailto:sage [2014/04/29(火) 14:43:35.70 ID:SJ6dwBtg] 俺、次のDX12に期待するわ
611 名前:デフォルトの名無しさん mailto:sage [2014/04/29(火) 16:22:27.29 ID:h5iJ3BEz] じゃあ僕はDirextX15ぐらいで。
612 名前:デフォルトの名無しさん mailto:sage [2014/04/29(火) 17:23:56.29 ID:yQJI8F/r] 12はまた大幅な変更なのかな
613 名前:デフォルトの名無しさん mailto:sage [2014/04/30(水) 00:23:04.03 ID:F/SK7ZLB] 情報量は9が多いし、参考にしたらいいと思うけど、 今からプログラミングするなら断然11をオススメする。 9までのAPI増改築による複雑さが整理されているし、色々なアルゴリズムを適用し易い柔軟性もある。
614 名前:デフォルトの名無しさん mailto:sage [2014/04/30(水) 21:04:02.99 ID:F/SK7ZLB] 骨まで理解するPCアーキテクチャ(GPU編) 第4回 pc.watch.impress.co.jp/docs/column/1month-kouza/20140425_646073.html >CPUはどちらにもアクセスできるが、GPUの方はI/O空間のみにしかアクセスできないという問題がある。 >「ではプロセスもI/O空間だけを使ってプログラムを走らせれば?」というのは無理な相談で、 >元々この領域はI/Oデバイスとの通信用に設けられた特殊な領域なので、 >プロセスからアクセスはできるといっても、本来のメモリ空間と同じように扱えるわけではない。 >よって、旧来の方式では、 > >1.CPUが元データをメモリ空間からI/O空間にコピー >2.I/O空間にGPUがアクセスして処理を行ない、I/O空間に結果を書き戻す >3.CPUが結果をI/O空間からメモリ空間にコピー > >という面倒な手順になっていた。 DirectX11でステージングバッファっていうのを介してGPU転送してるみたいだけど、 あれって上記記事のI/O空間のメモリ領域のことなの?
615 名前:デフォルトの名無しさん mailto:sage [2014/05/01(木) 04:30:33.34 ID:eDhN40up] DirectX11でテクスチャの設定された面とされてない面があるオブジェクトを描画する時はシェーダを切り替えなくてはいけないんでしょうか シェーダ側からテクスチャが設定されているか調べる方法があると良い気がするのですが
616 名前:デフォルトの名無しさん mailto:sage [2014/05/01(木) 07:02:34.05 ID:M4OGqH6+] 頂点情報に埋め込んどけばいいだけの話
617 名前:デフォルトの名無しさん mailto:sage [2014/05/01(木) 07:07:10.65 ID:5zg6LXgK] シェーダ内でif分岐するよりはシェーダを切り替えたり、 テクスチャなしの場合は白のテクスチャを張る、 とかにしたほうがパフォーマンス的にいいと思う。 実際に測定してないけど
618 名前:デフォルトの名無しさん mailto:sage [2014/05/01(木) 17:16:33.93 ID:w63nobuX] DynamicShaderLinkageってのがあってだな・・・ まぁ白テクスチャの方がお手軽だけどな
619 名前:615 mailto:sage [2014/05/01(木) 23:00:51.16 ID:eDhN40up] DynamicShaderLinkageを勉強しつつまずは白テクスチャの方法をとろうと思います ご指導ありがとうございます
620 名前:615 mailto:sage [2014/05/01(木) 23:43:52.59 ID:eDhN40up] と思ったのですがテクスチャのない面では頂点色を使いたいときは白テクスチャだと対応しづらい気もします 頂点情報に埋め込むかDynamicShaderLinkageを使った方が良い気がしてきました 何はともあれ実践不足なので色々試してみたいと思います
621 名前:デフォルトの名無しさん mailto:sage [2014/05/02(金) 01:31:10.50 ID:ahIZpWLt] なんで? 頂点色って基本乗算だろ。白テクスチャと乗算しても変化ねーよ
622 名前:615 mailto:sage [2014/05/02(金) 02:05:57.87 ID:F8VRsAqW] 最初は白テクスチャなら乗算しても同じだから大丈夫と思ったんですけど そうなると普通のテクスチャでも頂点色との乗算を行うってことでそれって大丈夫かなと思った次第です なんか思考が迷走してる気もするので変なこと言ってたらすみません
623 名前:デフォルトの名無しさん mailto:sage [2014/05/02(金) 02:11:02.38 ID:ahIZpWLt] 頂点色ってのはそういうものだ。最終的にテクスチャと合成される テクスチャが頂点色で変わるのがいやなら普通は頂点色も白にするもんだ
624 名前:615 mailto:sage [2014/05/02(金) 02:15:36.51 ID:F8VRsAqW] なるほど勉強になりました では白テクスチャの方針で進めていきたいと思います ご助言ありがとうございます
625 名前:デフォルトの名無しさん mailto:sage [2014/05/02(金) 02:17:18.81 ID:ahIZpWLt] まさか、頂点色だけでオブジェクトの色を決定してるってわけじゃないんだろ? 場合によってはありかもしれんが・・・
626 名前:615 mailto:sage [2014/05/02(金) 02:36:59.87 ID:F8VRsAqW] 今まで頂点色を設定したobjファイルを元に色々シェーダで遊んでいたのを テクスチャに対応させようと思って色々混乱してしまった感じです
627 名前:デフォルトの名無しさん mailto:sage [2014/05/02(金) 09:49:23.59 ID:Cd4tkU62] 普通は頂点色じゃなくて材質の減衰色とか拡散色を1描画命令ごとに変更するんよ
628 名前:デフォルトの名無しさん [2014/05/17(土) 18:42:02.76 ID:8IJQqYsm] CとC++の入門書を終えた程度の貧乏学生です。 DirectX 7〜9の本を親戚から何冊か貰ってきたので、 これから勉強していくのですが、 現在のバージョンからすると古いと思います。 勉強する上で注意する点とかありますか? コンパイラーも古くライセンス毎もらったVC++2005で、 OSはWindows Vista(ノート)か7(デスクトップ)です。
629 名前:デフォルトの名無しさん mailto:sage [2014/05/17(土) 18:49:58.52 ID:klXatZDI] >>628 こんなとこで聞くんじゃなくて、勉強の方法から学習しなおせ ググればいくらでも情報は手に入る
630 名前:デフォルトの名無しさん mailto:sage [2014/05/17(土) 20:01:53.65 ID:7SSEWvta] 注意する点ではないと思うが、7があるんだろ directx11と2012を使おうとは思わんのか?
631 名前:デフォルトの名無しさん [2014/05/17(土) 20:15:11.81 ID:OQzb2Hc/] >>628 DirectX7〜9はもう古いからDirectX11を勧める。 本は『DirectX11 3Dプログラミング』がオススメ。 環境は学生ならDreamSparkの登録をしてVisualStudio2012もしくは2013のPro版を入手。 あと趣味でなく研究用途ならOpenGLも検討すべき
632 名前:デフォルトの名無しさん mailto:sage [2014/05/17(土) 22:18:59.77 ID:Tu7n2zq5] 研究は何故OpenGL? Windows以外の環境があるから?
633 名前:デフォルトの名無しさん mailto:sage [2014/05/17(土) 23:44:07.05 ID:jcSfCTxN] XPが消えた今DX9を今更勉強するのもアレだしね モバイルもDX10〜11相当のGLES3.xに移行中だし
634 名前:デフォルトの名無しさん mailto:sage [2014/05/17(土) 23:52:42.56 ID:jcSfCTxN] 一応VC++2005のままでもDX11は一応使えるのかな etwas.wolfish.org/blog/p2010020701/ www.microsoft.com/en-us/download/details.aspx?id=10084
635 名前:デフォルトの名無しさん mailto:sage [2014/05/17(土) 23:58:53.84 ID:OQzb2Hc/] >>632 そうです
636 名前:デフォルトの名無しさん mailto:sage [2014/05/18(日) 00:03:19.76 ID:7ynzBwDy] >>635 d。
637 名前:デフォルトの名無しさん mailto:sage [2014/05/18(日) 02:17:14.77 ID:UIXSU/XH] vc expressつかってると、デバッグができないので、pix復活希望なんだけど。
638 名前:デフォルトの名無しさん mailto:sage [2014/05/18(日) 02:30:36.62 ID:wwgrtV1p] ストア版の2013Expressではグラフィクス診断使えたり D3D9ならDirectX SDKのPIXがまだ使えたりするんだけどねえ
639 名前:デフォルトの名無しさん mailto:sage [2014/05/18(日) 04:06:05.37 ID:LHYpYcUR] >>629 貴方のような意見を最近良く目にしますが、 学習するプロセスと調査するプロセスではメカニズムが相違します。 初めの学習においては、ネットで有益な情報を見極めるだけの知識が存在せず、 無知な状態でそれらを見極めようとする時間は無駄な時間と労力です。 >>628 とりあえずVistaや7にDirectX 9 SDKのインストールする方法はネットを参考にし、 DirectX 7の本はさて置き、 9の入門書を所持されているようであれば、そこから始め、 問題に陥った時に聞けば良いと思います。 ぼくはゲーム業界を退きましたが、ゲーム開発は楽しいので是非頑張ってください。
640 名前:デフォルトの名無しさん mailto:sage [2014/05/19(月) 20:47:49.43 ID:y8Ney476] DX9はそれまでのDXの集大成みたいなもんだから覚えておくべき。 DX10とかDX11はDX9に追加のAPIをつけたようなもんだから。
641 名前:デフォルトの名無しさん mailto:sage [2014/05/19(月) 20:55:18.17 ID:Ej7bmL02] >>640 それプラス、増改築で継ぎ接ぎだらけの状態をキレイに体系化して再構築した、だね。 DX11、初期化とか量がけっこうあったり、面倒に感じるところもあるかもしれないけど、 従来の複雑さ、ややこしさはだいぶマシになったし、色んなシェーディングを試しやすい柔軟性もある。 柔軟性については統合シェーダのおかげもあるけどね。 情報量はDX9。 実際のコーディングはDX11って感じかな。
642 名前:デフォルトの名無しさん mailto:sage [2014/05/20(火) 04:36:26.33 ID:f9YPeLav] 柔軟すぎると初心者は手をつけれなくなるんだよね。
643 名前:デフォルトの名無しさん mailto:sage [2014/05/20(火) 13:02:53.77 ID:c/zSMJrz] javascriptのことですね
644 名前:デフォルトの名無しさん mailto:sage [2014/05/26(月) 21:00:59.60 ID:/c0SmoR4] スレが間違っていたら申し訳ありません。 質問なのですが、現在DirectXでpmdファイルを読み込むプログラムを作成しているのですが サンプルプログラムで使用されていたpmdファイルを読み込むことには成功したのですが、 自分が使いたいLat式ミクを表示しようとするとフォルダの中に存在しているテクスチャが見つからないと 表示されアクセス違反が発生してしまいます。 なぜ指定されたデータは存在するのにプログラム側で指定されたファイルが見つかりません。 と表示されるのか原因がわからず困っております。 読み込みのプログラムはこちらのサイトのpmdモデルを表示を参考にしました。 www2.ocn.ne.jp/~mhage/PIC_Trap/ データはソースコードが置いてある場所にモデル用のフォルダを作成しその中にすべて データを入れてあります。 パスの指定の方法は"フォルダ名/モデル名.pmd"で指定しております。 環境 Windows7 VisualStudio2008 DirectXSDK November2007を使用しております
645 名前:デフォルトの名無しさん mailto:sage [2014/05/26(月) 21:09:53.94 ID:/c0SmoR4] ちなみにフォルダ内のデータをすべてソースコードが置いてるフォルダ直下に移した場合は表示されております
646 名前:デフォルトの名無しさん mailto:sage [2014/05/26(月) 21:14:44.44 ID:PNgp/PCF] いきなりプログラミング始めると、パスの概念なかったりするのかね 単純に馬鹿なんじゃと言いたくなるが、最近の学習環境ってどうなんだろう
647 名前:デフォルトの名無しさん mailto:sage [2014/05/26(月) 23:28:36.37 ID:9uDw03cb] Direct2Dでテクスチャ描画するときに 特定の色だけ透過(色抜き)って出来ますか?
648 名前:デフォルトの名無しさん mailto:sage [2014/05/27(火) 18:30:57.13 ID:6Q8qjCFH] ああ、出来るよ