問題タブ [directx-10]
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.
fullscreen - DirectX 10 ビデオ モードの切り替えとパフォーマンス
DirectX 10 アプリケーションで、フルスクリーン モードとウィンドウ モードを切り替えると、テクスチャや頂点バッファを再作成する必要があるなど、何らかのオーバーヘッドが発生しますか?
言い換えれば、ウィンドウ モードとフルスクリーン モードの間で "多くの" 切り替えを行うように設計されたアプリケーションを、切り替えが発生したときにパフォーマンス ヒットを被ることなく構築できるでしょうか?
direct3d - Direct3D 10 とシェーダー管理
DirectX 10 を使用して 3D アプリケーションをコーディングしていますが、Shadermanagement のタックリングがどうなっているのか疑問に思っています。
アプリケーションの起動時に存在するすべてのシェーダーをプリロードしてから必要に応じて使用するのが最も効果的ですか、それとも数値が高くなった場合にハードウェアのリソースをトレーニングしますか?
また、シェーダー スイッチが最小化されるように、シェーダーごとにレンダリングを注文するのは速度を考慮したものなのだろうかと思います。
directx - D3D10 (DirectX10) フルスクリーン パフォーマンスの問題
DirectX10 (Win32/c++) アプリケーションをフルスクリーン モードに設定するのに少し問題があります。問題は、アプリを最初からフルスクリーンで実行したいということです。これは、DXGISwapChain::SetFullScreenState 関数を使用して行うことができます。これは機能しますが、Visualc++ 2008 デバッガーに次のような小さな通知が表示されます。
「DXGI 警告: IDXGISwapChain::Present: アプリケーションが IDXGISwapChain::ResizeBuffers を適切に使用していない、IDXGIOutput::GetDisplayModeList で使用できない DXGI_MODE_DESC を指定している、または DXGI_SWAP_CHAIN_FLAG_ALLOW_MODE_SWITCH を使用していないことが原因で、全画面表示の非効率性が発生しました。」
これが意味することは、DirectX がグラフィックス カードの完全な所有権を取得せず、画像をフロント バッファからバック バッファにフリップするのではなく、それらをブリットするため、はるかに低速になるということです。
今、私は DXGI_SWAP_CHAIN_FLAG_ALLOW_MODE_SWITCH を有効にしており、バッファーのサイズを変更しようとしましたが、フルスクリーン モードに入る最善の方法がまったくわかりません。私はMSDNを見てきましたが、ほとんどの場合、DXGIがすべての作業を行わないように、Alt + Enterを押すだけでフルスクリーンに入ることが想定されています。誰かが DirectX10 をフルスクリーン モードにし、「フリッピング」を最大限に活用するコードを少し投稿していただければ、非常に高く評価されます。
サイズ変更で使用されるコードに興味がある人向け:
c++ - directx10 のスプライトとテクスチャ フィルタリング
スプライトを操作するときに異なるテクスチャ フィルタリングを設定することはできますか?
directx - CPU 上のジオメトリ シェーダーからの出力の読み取り
ストリーム出力を使用してバッファーに出力するジオメトリ シェーダーから出力を読み取ろうとしています。
ジオメトリ シェーダーで使用される出力バッファーは、次のように記述されます。
ジオメトリ シェーダーは、1 つのポイントに基づいて多数の三角形を作成します (ポイントごとに最大 12 個の三角形)。SDK を正しく理解していれば、CPU 上のジオメトリ シェーダーからの出力を読み取るために、ステージング リソースを作成する必要があります。
次のように別のバッファー リソースを宣言しました (今回は STAGING フラグを設定します)。
アプリケーションの最初の描画呼び出しの後、ジオメトリ シェーダーはすべての三角形の作成を完了し、描画できるようになります。ただし、この最初の描画呼び出しの後、ジオメトリ シェーダーによって出力された頂点を読み取れるようにしたいと考えています。
バッファステージングリソースを使用して、次のようにしようとしています(最初の描画呼び出しの直後):
これはコンパイルされ、実行時にエラーは発生しません。ただし、出力が得られていないようです。
ジオメトリ シェーダーは次を出力します。
VERTEX_STREAMOUT は次のように宣言されます。
ここで何か不足していますか?
c++ - DirectX デバイスの CAPS
DirectX 10のドキュメントで次のことを読みました。
「従来のハードウェア機能ビット (キャップ) は削除され、Direct3D 10 クラスのハードウェア (最小) を対象とする、保証された機能の豊富なセットが優先されます。」
「CAPS ビットの削除 - Direct3D 10 の基本機能セットは保証されています。」
彼らが話している「保証された機能/基本機能セット」のリストはどこにありますか?
たとえば、DirectX 9 では、D3DCAPS9.MaxTextureWidth を調べて、テクスチャの最大幅を見つけることができます。すべての DirectX 10 デバイスがサポートする必要がある最大サイズを知るにはどうすればよいですか?
keyframe - DirectX10にアニメーションをロードする方法
私はゲーム開発の初心者です。DirectX 10で簡単なゲームを書くつもりはなく、男のトランプのようなアニメーションをロードする必要があります。戦略を立てる方法がわかりません。私が知っているように、私は自分のファイル形式を作成し、他の形式からそれに変換する必要がありますが、方法がわかりません。だから私を助けてください、そしてそれが可能ならいくつかのコード例を与えてください。
directx-10 - アニメーションをロードするのに最適な3Dモデルファイル形式
私はゲームプログラミングの大物で、現在はWebサイトから無料でダウンロードできるDirectX10を使用して3Dゲームを作成しています。ゲームの出会いのためにいくつかのアニメーション3Dモデルが必要です。モデルに最適なフォーマットは何ですか?
ありがとう。
visual-studio-2008 - IID_IDXGIDevice を IUnknown::QueryDevice に渡すときの DXGI のリンカー エラー
レンダリング フレームワークでスワップチェーンとウィンドウの作成を D3D10 デバイスの作成から分離しようとしています。つまり、D3D10CreateDeviceAndSwapChain を実際に使用することはできません。テスト アプリをビルドしようとすると、予期しないリンカー エラーが発生します。
私はDXGI.hを含め、DXGI.libとD3D10ライブラリにリンクしていますが、他には何もありません。
問題のコードは次のとおりです。
if(FAILED(hr = pDXGIFactory->QueryInterface(IID_IDXGIDevice, reinterpret_cast(&pDXGIDevice)))) return hr;
私が受け取るリンカ エラーは、未解決の外部シンボルである _IID_IDXGIDevice に関連していますが、どの追加ライブラリにリンクする必要があるかについての情報が見つかりません。任意の提案をいただければ幸いです。
Win7 x64、VS2008、および DirectX SDK の最新バージョンを使用しています。
directx - 頂点/インデックス バッファーを解放すると警告が発生する
前のフレームでレンダリングに使用された頂点バッファー (ID3D10Buffer / D3D10_BIND_VERTEX_BUFFER) を解放 (Release()) すると、バッファーがバインドされているという警告が表示されます。
D3D10: 情報: ID3D10Device::IASetVertexBuffers: 現在バインドされている VertexBuffer が削除されています。当然、縛られなくなります。[ STATE_SETTING INFO #31: IASETVERTEXBUFFERS_UNBINDDELETINGOBJECT ]
バッファのバインドを解除する方法はありますか?
ありがとう、
ヤコブ