SpriteBatch - SharpDX 工具包 - 贝塞尔曲线

SpriteBatch - SharpDX Toolkit - Bezier Curves

我是 DirectX 开发领域的新手。我正在使用 SharpDX 的工具包来抽象游戏,因为它似乎简化了很多初始化工作。

我一直很难找到这方面的好教程(如果他们在那里,我很乐意,没有双关语意。)

我正在尝试确定如何绘制贝塞尔曲线、线条、矩形等以及标准的 SpriteBatch。

这是我所知道的:

  1. 我需要使用 Path Geometries 来构造基元来渲染场景。
  2. 我需要一个渲染目标来将其绘制到,但我似乎无法确定如何在框架内执行此操作,以及如何确定最终将在何处绘制。

知道这些后,我该如何指定渲染优先级?

似乎通过 Nuget 的 ToolKit 包已被弃用,并且根据它的 github 存储库,当您将所有内容升级到最新版本时,它处于非工作状态。

SharpDX.Direct2D1SharpDX.Toolkit.Graphics 之间存在类型冲突。

这一项似乎又回到了设计阶段。我认为最大的问题是 SharpDX 透明地简化了很多 COM 互操作。 D2D1 class 公开了该方法(如果您正在阅读 C++ 教程,这类似于相同的 C++ 方法):

CreateFactory(FactoryType factoryType, Guid riid, FactoryOptions? factoryOptionsRef, out IntPtr iFactoryOut)

但是,您可以只执行 new Factory(...),它会自行处理调用。

Factory 导致 RenderTarget 导致 GeometrySink 导致 PathGeometry 然后需要渲染 Beziers 等。还没有想出如何在屏幕上显示任何内容,但我更接近了!