WPF-交互式实时渲染(C#)

WPF-交互式实时渲染(C#),wpf,mvvm,real-time,interactive,Wpf,Mvvm,Real Time,Interactive,我目前正在做一个项目,我想在重建的小地图上显示游戏数据和我自己的图形 数据以游戏的刻度给出,entitydata在该刻度中更改。首先,我想绘制地图,然后绘制第一个记号处存在的所有实体。然后,对于每个记号,我都要更新位置,并在实体之间画线 我的WPF用户界面是用MVVM模式设置的 现在我正在为小地图的制作和技术而奋斗 我希望小地图支持/创建的内容: 互动性 单击字段上的实体以显示有关它们的更多信息 缩放地图 跟随实体(带有放大的游戏场) 使用不同的视觉效果(禁用一个团队,突出显示某事物等) …(

我目前正在做一个项目,我想在重建的小地图上显示游戏数据和我自己的图形

数据以游戏的刻度给出,entitydata在该刻度中更改。首先,我想绘制地图,然后绘制第一个记号处存在的所有实体。然后,对于每个记号,我都要更新位置,并在实体之间画线

我的WPF用户界面是用MVVM模式设置的

现在我正在为小地图的制作和技术而奋斗

我希望小地图支持/创建的内容:

  • 互动性

    • 单击字段上的实体以显示有关它们的更多信息
    • 缩放地图
    • 跟随实体(带有放大的游戏场)
    • 使用不同的视觉效果(禁用一个团队,突出显示某事物等)
    • …(以及与上述类似的其他交互)
  • 演出

    • 图形应尽可能平滑(地图、图像、抗锯齿、无口吃)
    • 高帧速率(至少30FPS)
    • 充其量,它应该是一个具有上述大多数内置功能的解决方案(请参见1)
  • 导出整个游戏的截图和视频(带有我自己的图形和东西)

  • 我已经考虑过的(从这篇文章)

    • 数据绑定和画布
    问题:速度慢且性能不好(至少在我实现时) -WriteableBitmap(问题:没有内置函数(请参见1。)

    • 绘图图像
    问题:如何实现MVVM?它是否有效

    • 可写位图
    问题:我必须自己构建1.)的功能。但看起来它很有效

    在我自己开始实现我想要的很多功能之前,我想问问是否有适合我需要的功能,或者上述技术是否不适合我

    我希望我的问题足够清楚


    如果缺少任何内容,请随时通知我。

    数据绑定非常适合将视图模型连接到输入控件,但不适合实时更新图形对象的状态


    我会选择它,因为它相对较轻,并且具有支撑力。即使您不支持MVVM,也可以轻松地“手动”更新视觉效果。

    将为您提供用于在
    可写位图上绘制的所有绘图功能。
    @BradleyUffner:它也支持命中测试吗?当使用缩放和平移时,它可能会变得比想象的更复杂。它只是一个绘图库,您仍然需要自己进行测试。我建议创建一个
    UserControl
    ,使用
    WritableBitmapEx
    绘图,并直接在
    UserControl
    的代码后面进行命中测试。您可以使用
    DrawingVisual
    进行命中测试。MVVM真的会因为这样的事情而崩溃,因为命中测试实际上是直接UI层的一部分,而不是视图模型层。如果您创建一个可以占用屏幕空间线并将其转换为地图空间坐标的类,那么缩放和转换应该相当容易处理。这可能是一个相当简单的矩阵计算。你甚至可以在混音中加入旋转。谢谢你到目前为止的输入。