問題タブ [direct3d11]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
debugging - VS2012 D3D デバッグ - すべてのシェーダー出力の表示
そのため、以前はデバッグに常に PIX を使用していましたが、VS2012 にアクセスできるようになったので、問題を引き起こしているドロー コールをデバッグしてみようと思いました。
フレームのイベント リストを正常に取得できました。ドロー コールでは、入力アセンブラー、頂点シェーダー、ピクセル シェーダー、出力マージャーのパイプラインを確認できます。いくつかの頂点で問題が発生していることがわかります。シェーダー出力/ピクセル シェーダー入力のテクスチャ座標。
ただし、VS2012 は、問題ではない頂点位置を視覚化する PNG を提供したいようです... MSDN Graphics Pipeline Viewerは、その方法も教えてくれるようです。
私が本当に欲しいのは、頂点シェーダーの入力頂点 (つまり、各列は頂点要素であり、頂点ごとの行) と、それらの各頂点の出力 (さらにいくつかの列または隣接するテーブル) を示すテーブルです。
PIX では、メッシュ ビューに「PreVS」および「PostVS」タブがありましたが、VS2012 にはこれがどこかにあり、表示位置に限定されていませんか?
c# - WPF ウィンドウで使用するためにアンマネージ C++ で作成された DX11 デバイス
Direct3d 11 を使用して、C++ で単純なグラフィックス エンジンを作成する作業をかなり長い間行ってきました。楽しみのために GUI を作成してみることにしました。WPF でいくつか読んだ後、本当に気に入りました。事は、私がやりたいことが可能かどうかさえわかりません。
私がやりたいことは、エンジン DLL を WPF アプリケーションにロードし、WPF ウィンドウの一部内で DX デバイスを使用することです。基本的に、私がやりたいことは、マップ エディター (メイン ウィンドウには多数のコントロールと、レンダリング領域 (デバイス) を含む子ウィンドウがあります) に似ていますが、エンジンを XNA に変換する代わりに、既に動作している C++ コードを WPF で使用する。それは可能ですか?
また、練習のために Win32 でウィンドウを作成し、デバイスを接続しようとしました。デバイスの作成時にウィンドウ HWND をデバイスに割り当てるだけの簡単なことでした。WPFウィンドウと同じだと思いますか、それとも間違っていますか? 読んでくれてありがとう :)
編集:私はC#の完全な初心者であることを忘れていましたが、C ++ DLLをインポートしてその機能を使用できることは知っています。デバイスとwpfウィンドウの相互作用についてはわかりません。
directx - DirectX 10 ハードウェアでの FXC /Od の問題
FXC と DirectX 11 で奇妙な問題が発生しています。DirectX 10.0 準拠の (確かにくだらない) 統合グラフィック カードで実行している場合、ビルド時にフラグ/Odを指定して FXC を使用してコンパイルすると、シェーダーが機能しません。VS 2012 のグラフィックス デバッガーを見ると、グラフィックス パイプラインの入力アセンブラーと頂点シェーダー ステージが正しく表示されますが、ピクセル シェーダー ステージが欠落しているため、次のようにジオメトリがフレーム バッファーに描画されません。
/O0 を使用すると機能しますが、シェーダーを効果的にデバッグする機能が失われます (最適化は、/O0 でも命令を混乱させるように見えるため、.fx ソース ファイルと一致しません)
DirectX 11 カード (GTX 560) を使用する別のマシンでは、/Od は正常に動作します。
windows - Windows sdk を使用して direct3d11 を学習する場合と、directx sdk を使用する場合とでは、どのような違いがありますか?
Windows 8 SDKまたはdirectx SDKのいずれかを介してdirect3d11を使用できますか? 学習者として、この選択がどのような影響を与えるかは明らかではありません。Windows SDK または DirectX SDK を使用して directx 11 を学習する場合、どのような違いがありますか?
c++ - Direct3D11 はリソース オブジェクトをどこに割り当てますか?
私は Direct3D11 について多くのことを調べてきました (スタック オーバーフローに関するここを含めて!)、すべての調査で、この質問に最終的に答えることができませんでした:
たとえば pDevice->CreateBuffer() を使用して Resource オブジェクト (つまり、Buffer または Texture オブジェクト) を作成すると、どこに保存されますか? システム RAM または GPU のビデオ RAM ですか? それとも、Resource オブジェクトの基本的な性質を完全に誤解していますか?
明らかに、リソースに入力するデータ (頂点やインデックス配列など) は、プログラマーが配置した場所に保存されますが、そのデータをリソースにマップすると、どこにコピーされるのでしょうか? (リソースは読み取り/書き込み保護のためにマップおよびマップ解除する必要があるため、マップされたデータは実際にはおそらくVRAMにコピーされると思います)。さらに、Resource オブジェクト自体はどこでインスタンス化されるのでしょうか?
事前にすべての助けに感謝します!
c++ - D3DERR_INVALIDCALL (D3D11CreateDevice の戻りコード) はどこで定義されていますか?
MSDN のドキュメントによると、D3D11CreateDeviceはDirect3D 11 Return Codesのいずれかを返します。その中には D3DERR_INVALIDCALL があります。しかし、D3DERR_INVALIDCALL はどこに定義されているのでしょうか。最新の Windows SDK を使用しています。どのヘッダー ファイルをインクルードする必要がありますか?