問題タブ [dxgi]
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.
c++ - IUnknown ポインター参照
Visual Studio コンパイラが満足する理由
と
だがしかし
呼び出しがどのように見えるか
コンパイラエラーは
3 IntelliSense: タイプ "IUnknown *&" (const 修飾されていない) の参照は、タイプ "IDXGIFactory *" の値で初期化できません c:\Users\Carl\Documents\Visual Studio 2013\Projects\Project1\Project5\main .cpp 29 10 Project5
私が研究で掘り下げた最も近いことは、コンパイラーが一度に 1 つの型変換しか実行しないということですが、それは正しくありません。なぜなら、const & version は型と const の変換を実行できなくなるからです。ただし、実際にコンパイルされないのは &バージョンです。
directx - Direct2D: ID2D1RenderTarget のコンテンツを画像ファイルに保存する方法は?
質問はこれと非常によく似ていますが、まだ回答がありません。私の質問は、d2dfactory->CreateDxgiSurfaceRenderTarget() からの D2D DXGI RenderTarget があり、そのコンテンツを WIC を使用して画像ファイルに保存したいということです。私はこれとこれを読んでいたので、WIC レンダー ターゲットで ID2D1Bitmap を作成し、ID2D1Bitmap::CopyFromRenderTarget() を使用して、保存したい入力レンダー ターゲットからコピーすることはできないようです。さまざまなリソース。ID2D1RenderTarget::CreateSharedBitmap() を使用して思いついたのは次のとおりです。
このコードに何か問題がありますか? (たくさんあると思います :)) MSDN のどこかで、WIC レンダー ターゲットはソフトウェア モードのみをサポートし、DXGI レンダー ターゲットはハードウェア モードのみをサポートすると書かれています。これが、上記の CreateSharedBitmap() の呼び出しが失敗する理由ですか? では、D2D を使用して DXGI サーフェス コンテンツを画像ファイルに保存するにはどうすればよいですか?
directx - Windows 7 の Direct3D で DXGI_FORMAT_NV12 をエミュレートできますか?
RGB テクスチャを、ビデオ コーデックが理解できる NV12 形式 (Y プレーンの直後に UV プレーンが続く) に変換する必要があります。 DXGI_FORMAT_NV12
は、Y に R8、UV に R8G8 を使用した単純なビュー フォーマット マッピングを提供するため、NV12 テクスチャで 2 つのピクセル シェーダーを使用します。残念ながら、これは Windows 8 でしか機能しません。R8 と R8G8 の両方のシェーダー リソース ビューを持つテクスチャを Windows 7 で作成することはできますか? または、YUV データをレンダリングできる別の方法はありますか?
directx - IDXGIFactory::EnumAdapters() がアダプターを返さない
DirectX11 アプリケーションを開発しています。初期化中に、ここで説明されているように、使用可能なグラフィックス アダプターを列挙します。
現在、顧客の 1 人では、利用可能なアダプターの数がゼロのようです:
EnumAdapters(0, &pAdapter)
既に が返されていますDXGI_ERROR_NOT_FOUND
。
これはどのように可能ですか?少なくとも 1 つのグラフィックス アダプタが常に利用可能であるべきではありませんか? コンピュータには最新のドライバがインストールされたグラフィックス カードがあり、ディスプレイは動作しています。
注: このアプリケーションでは実際に SharpDX を使用していますが、手順は同じです。失敗した同等のものはGetAdapterCount()
戻り0
ます。
c++ - IDXGISwapChain::ResizeBuffers は、フルスクリーンからウィンドウ表示に切り替えるときにブレークポイントをトリガーします
Direct3D 11 アプリケーションがフルスクリーン モードからウィンドウ モードに切り替わるたびに、IDXGISwapChain::ResizeBuffers がブレークポイントをトリガーします。Visual Studio のコンソールに、「重大なエラー 0xc0000374」というメッセージが出力され、その他の情報はありません。どうやらこれは、ヒープの破損が発生したことを意味します。じゃあオーケー。ウィンドウが不愉快に私のビューを覆い隠し、ビジュアルスタジオウィンドウを制御できないため、これが発生した理由についてこれ以上の情報を得ることができません.
この MSDN ページで行われた提案に従っています。つまり、コードをコピーして貼り付けたということです。
これは私のセットアップ コードです (エラー チェックがないことは無視してください)。
この問題を引き起こした可能性のあるものはありますか? レンダリング コードは単なる ClearRenderTargetView であり、PeekMessage ループの後に表示されます。重要なことは何もありません。
c++ - CTRL-ALT-DEL で表示モードを変更
CtrlWindow の++には少し癖があるようですAlt。Del排他的フルスクリーン モードの D3D11 ウィンドウがCtrl+ Alt+によってフォーカスを失っDelた場合、デスクトップはこのウィンドウで使用されている表示モードを保持します。解像度が小さすぎると、デスクトップの使用が少し鈍くなります。
Ctrl+ Alt+でデスクトップが以前の表示モードに戻ることを確認したいのですDelが、メッセージが表示されず、DXGI でそれを行う方法が完全にはわかりません。これは可能ですか?