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

我想在Direct3D v9游戏(由第三方制作)上面叠加自己的内容。

叠加交互式按钮

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

蒸汽覆盖

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

文本叠加使用SharpDX

  • 我有一个基于Justin Stenning工作重叠文本的工作样本
  • 即在SharpDX.Direct3D9.Font DrawText方法的帮助下

如何使用SharpDX覆盖Button或UserControl

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

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

你最大的问题不是让控件在DX场景上呈现; 它会让他们事后回应输入。 你可能想办法将视觉效果复制到DX表面,但我不知道如何捕获输入,翻译输入并将其交付给WPF组件。 如果它甚至可能,它几乎肯定比它的价值更麻烦。

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