c# - 将按钮控件嵌入到现有的 Direct3D 应用程序中

标签 c# .net wpf direct3d sharpdx

我想在 Direct3D v9 游戏(由第三方制作)之上覆盖自己的内容。

叠加交互按钮

具体来说,我想覆盖一个可点击的按钮控件,例如 Steam,尽管我正在尝试一个更简单的界面。

Steam Overlay

理想情况下,我可以覆盖一个 WPF 按钮或一个 Windows 窗体按钮或整个 UserControl,但如果这不可能,那么从基元创建一个功能按钮也足够了。

使用 SharpDX 的文本叠加

如何使用 SharpDX 覆盖按钮或用户控件

我查看了https://github.com/sharpdx/SharpDX-Samples中的相关样本但无法找到使用 SharpDX 包含或绘制 native 控件的方法

  • 这可能吗?
  • 如果没有,是否有从头开始绘制可点击按钮的示例?
  • 请记住我是 DirectX 世界的新手 :)

最佳答案

您最大的问题不是让控件在 DX 场景上渲染;这将使他们之后对输入做出响应。您可能可以想出一种方法将视觉效果复制到 DX 表面,但我不知道您将如何捕获输入、翻译输入并将其传送回 WPF 组件。即使有可能,它也几乎肯定比它的值(value)更麻烦。

有几个面向游戏的 Xaml 解决方案,您可能想要查看。 WPF for Games是基于 Direct3D 的 WPF 的部分 C++ 实现,还有专有的 Noesis GUI .

关于c# - 将按钮控件嵌入到现有的 Direct3D 应用程序中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26611170/

相关文章:

c# SELECT 与 FOR JSON

.net - 无法运行 "GenerateResource"任务,因为 MSBuild 无法创建或连接到运行时为 "CLR4"且体系结构为 "x64"的任务主机

c# - 如何处理组小计,例如WPF DataGrid 中的目标行?

c# - EF 或 SQL 是审计数据更改的更好选择吗?

c# - 如何测量特定逻辑线程的 CPU 使用率?

c# - 异步方法中的可观察集合

c# - 工具提示绑定(bind)到文本 - 如何在文本为空白时避免出现小矩形

c# - Xamarin - 在表单中显示二维码

c# - 在paypal支付中使用Master和Visa信用卡

c# - 如何在 XAML 中定义对现有对象的引用?