【问题标题】:What to use for C# SlimDX Game UI用于 C# SlimDX 游戏 UI 的内容
【发布时间】:2009-10-20 00:52:25
【问题描述】:

我目前正在使用 C#/SlimDX 开发 3d 游戏(目标是 Direct3D 9)。我一直在寻找合适的游戏 UI 工具包,但我无法下定决心。

游戏 UI 将用于角色扮演游戏,因此它会相当复杂,并且会涉及很多控件(文本框、库存网格、列表框、选择框、可滚动区域等)。

我之前(当我还在使用 C++/OpenGL 时)看过 GameSWF 并且非常喜欢这个想法,但对于我目前的游戏来说这是不可能的。

有人知道与 SlimDX 一起使用的好的 GUI 工具包吗?

我对为此使用 WPF/Silverlight 特别感兴趣,因为两者都有很好的 IDE。但是快速谷歌搜索并没有显示任何关于嵌入这些的信息。

【问题讨论】:

    标签: c# user-interface slimdx


    【解决方案1】:

    您可以为此使用 WPF(但不能使用 Silverlight)。

    解决此问题的方法是将 SlimDX 与 D3DImage 结合使用。然后让 WPF 处理所有最终合成,包括将 WPF UI 覆盖在 SlimDX 场景的顶部。

    在这种情况下,SlimDX 基本上只是渲染到画笔,可以在任何 WPF 元素上使用。 (这不适用于 Silverlight,因为 Sliverlight 不支持 D3DImage。)

    【讨论】:

    • 您好,现在还可以使用 FullScreen Direct3D 吗?主要场景的表现如何?
    • 嗯,它确实有效,相当好。这会影响性能,但主要是您必须让 WPF 处理合成,这意味着您正在以 WPF 的帧速率而不是您的帧速率工作 - 有点像开启 vsync。然而,就您的 D3D 调用而言,最大的打击来自必须打开 D3D_MULTITHREADED 并在窗口中工作而不是直接工作。话虽如此,我们一直在这样做,并且非常高兴。不过,您可以相当轻松地在 WPF 中制作全屏窗口。不幸的是,这是直接将 WPF 用于您的 UI 的唯一方法。
    • 如果没有这种方法,WPF 就会出现空域问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-28
    相关资源
    最近更新 更多