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. delphi VCLコンポーネントを使用してWinApi Editコントロールをサブクラス化する方法はありますか?
- 3. WINAPIを使用してファイルを作成する方法
- 4. Microsoft :: DirectX :: AudioVideoPlaybackを使用してオーディオを再生する方法
- 5. UWPコントロールでのDirectXの使用
- 6. DirectXレンダリング
- 7. Nickelフレームワークを使用してWebページをレンダリングする方法は?
- 8. Playframeworkテンプレートエンジンを使用してjava.util.Collectionをレンダリングする方法は?
- 9. WinAPIコントロールのスキン化
- 10. 画像を表示するWinAPIコントロール
- 11. DirectXを使用してバックバッファからデスクトップのスクリーンショットを取得する方法
- 12. restapdkを使用してwinapiでエラー
- 13. directxで地形をレンダリングする11
- 14. DirectX 11. Hello Triangleはレンダリングしません
- 15. JavaScriptを使用してページの詳細をレンダリングする方法
- 16. pug/jadeを使用してJavaScriptをレンダリングする方法
- 17. Blueprintを使用してReactでテーブルをレンダリングする方法
- 18. Angular2でngForを使用して要素をレンダリングする方法
- 19. コアグラフィックスを使用してアニメーションやエフェクトをレンダリングする方法
- 20. Perlを使用してPDFをレンダリングする方法
- 21. RadioButtonを使用してビューをレンダリングする方法
- 22. マテリアルデザインを使用してトップレベルメニューをレンダリングする方法
- 23. javascriptを使用してデータテーブル内のdataSetをレンダリングする方法
- 24. REACT React-markedライブラリプラグインを使用してHTMLをレンダリングする方法
- 25. webbrowserコントロールを使用してウェブサイトにログインする方法
- 26. MVC2を使用してコントロールからリダイレクトする方法
- 27. WebBrowserコントロールなしでHTMLをレンダリングする方法
- 28. wpfコントロールの合計レンダリング時間を計算する方法は?
- 29. ClanLibを使用してオフスクリーンバッファにレンダリングする方法
- 30. GridSplitterを使用してコントロールのサイズを正しく変更する方法は?
[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