WPFのようにDirect3Dウィンドウでwinapiコントロールをレンダリングすることはできますか?DirectXを使用してwinapiコントロールをレンダリングする方法は?
答えて
従来のWin32ウィンドウコントロールは、Direct3Dレンダリングターゲットでは簡単に描画できません。
Windowsストアアプリケーションでは、Direct3D + XAMLモデルを使用できます。これは、Direct3DコンテンツをXAMLベースのUIにレンダリングするための特定のコントロールがあることを意味します。
Windows Presentation Foundationアプリケーションでは、D3DImageを使用してDirect3DコンテンツをWPF UIにレンダリングできます。これは従来のDirect3D 9のみをサポートしますが、this projectを使用してDirect3D 11をレンダリングすることができます。
多くのゲームでは、コントロールをDirect3DシーンにレンダリングするためにScaleformのようなものが使用されます。
単純なUIウィジェットで作られた古いDirectXサンプルはDXUTです。
Direct3Dサーフェスに直接レンダリングできる堅牢なコントロールが必要な場合は、imguiをご覧ください。
それ以外の場合は、簡単なコントロールのために、自分で実装することができます。 DirectX Tool KitとSpriteBatch
とSpriteFont
を使用すると、長い道のりができます。
ありがとう、なぜDXUT - 悪い解決策ですか? SAMPは独自のGUIのレンダリングにDXUTを使用します。 – monobogdan
@ monobogdan1:DXUTは推奨されていません。公式のライブラリではありません。 Chuck WalbournがGitHubリポジトリを更新したにもかかわらず、彼はあなたの問題についても[ブログ](https://blogs.msdn.microsoft.com/chuckw/2013/09/14/dxut-for-win32-desktop-update/)それに頼るとぶつかるかもしれません。 – IInspectable
@ChuckWalbourn、私はScaleformについて知っています、それは3dpiのラップフラッシュ用の自転車です。 UDKはniceとslow GUIのために使用します。 しかしそれはC++のみで、C#ラッパーはありません。 – monobogdan
- 1. WinAPIを使用してProBrowserコントロールからデータをキャプチャする
- 2. WINAPIを使用してファイルを作成する方法
- 3. delphi VCLコンポーネントを使用してWinApi Editコントロールをサブクラス化する方法はありますか?
- 4. DirectXレンダリング
- 5. UWPコントロールでのDirectXの使用
- 6. Playframeworkテンプレートエンジンを使用してjava.util.Collectionをレンダリングする方法は?
- 7. DirectXを使用してバックバッファからデスクトップのスクリーンショットを取得する方法
- 8. WinAPIコントロールのスキン化
- 9. 画像を表示するWinAPIコントロール
- 10. directxで地形をレンダリングする11
- 11. DirectX 11. Hello Triangleはレンダリングしません
- 12. javascriptを使用してデータテーブル内のdataSetをレンダリングする方法
- 13. Perlを使用してPDFをレンダリングする方法
- 14. REACT React-markedライブラリプラグインを使用してHTMLをレンダリングする方法
- 15. Blueprintを使用してReactでテーブルをレンダリングする方法
- 16. JavaScriptを使用してページの詳細をレンダリングする方法
- 17. コアグラフィックスを使用してアニメーションやエフェクトをレンダリングする方法
- 18. pug/jadeを使用してJavaScriptをレンダリングする方法
- 19. Angular2でngForを使用して要素をレンダリングする方法
- 20. MVC2を使用してコントロールからリダイレクトする方法
- 21. webbrowserコントロールを使用してウェブサイトにログインする方法
- 22. ClanLibを使用してオフスクリーンバッファにレンダリングする方法
- 23. WebBrowserコントロールなしでHTMLをレンダリングする方法
- 24. wpfコントロールの合計レンダリング時間を計算する方法は?
- 25. DirectXでC++ 2つのオブジェクトに異なるテクスチャをレンダリングする方法
- 26. GridSplitterを使用してコントロールのサイズを正しく変更する方法は?
- 27. Vue.jsを使用して分割したグループでリストをレンダリングする方法は?
- 28. winapiでラムダ関数を使用してベクターをソートする
- 29. 64bitプロパティシートは32bit winapi dllを使用しています
- 30. 透明な背景を持つテキストをC++/WinAPIを使用して描画する方法は?
[DXGI](https://msdn.microsoft.com/en-us/library/windows/desktop/bb205075.aspx)は、[Windows Graphics API間のサーフェス共有](https:// msdn。 microsoft.com/en-us/library/windows/desktop/ee913554.aspx)。しかし、可能かどうかを問わなければならない場合は、このAPIはおそらくあなたのためではありません。関連するすべてのシステムコンポーネントの**親密な**知識が必要です。 – IInspectable
@IInspectable、情報ありがとう – monobogdan
@IInspectable、私は私のd3dアプリケーションでGUIが必要です。私はDXGIを使うべきですか? – monobogdan