移植旧的 MDX 代码
Porting old MDX code
我正在使用 Direct3D9 程序集将一些旧的 MDX 代码移植到 SharpDX。
我能够 'convert' SharpDX 的大部分代码,但我遇到了以下问题:
Mesh result = Mesh.Cylinder(_device, _arrowRadius1, _arrowRadius2, _arrowLength, _arrowNumberOfSlices, _arrowNumberOfStacks);
Mesh result = Mesh.Box(_device, _axisLength, _axisThick, _axisThick);
Mesh.TextFromFont(_device, new System.Drawing.Font("Berlin Sans FB", 12), text, 5f, 0.2f);
网格 class 存在但不包含 Cylinder 或 Box 方法。我浏览了大量文档,但找不到解决方案。
除了 Mesh class 的问题外,我在 SharpDX 中找不到匹配的 classes 和方法:
using (Surface backbuffer = _device.GetBackBuffer(0, 0))
{
GraphicsStream stream = SurfaceLoader.SaveToStream(ImageFileFormat.Bmp, backbuffer);
return new Bitmap(stream);
}
GraphicStream
和 SurfaceLoader
不存在。
我在从旧的托管 Microsoft.DirectX 到 SharpDx9 时遇到了类似的问题。
对于 Meshes,我们必须实现我们自己的 Mesh classes,因为 SharpDx.Mesh 中没有像圆柱体、球体或盒子这样的原语(我猜它只是一个模拟 class)。
但是对于 SurfaceLoader,请检查 Surface class 本身,它具有可能符合您需求的静态方法。例如:
Surface.ToStream()
我正在使用 Direct3D9 程序集将一些旧的 MDX 代码移植到 SharpDX。
我能够 'convert' SharpDX 的大部分代码,但我遇到了以下问题:
Mesh result = Mesh.Cylinder(_device, _arrowRadius1, _arrowRadius2, _arrowLength, _arrowNumberOfSlices, _arrowNumberOfStacks);
Mesh result = Mesh.Box(_device, _axisLength, _axisThick, _axisThick);
Mesh.TextFromFont(_device, new System.Drawing.Font("Berlin Sans FB", 12), text, 5f, 0.2f);
网格 class 存在但不包含 Cylinder 或 Box 方法。我浏览了大量文档,但找不到解决方案。
除了 Mesh class 的问题外,我在 SharpDX 中找不到匹配的 classes 和方法:
using (Surface backbuffer = _device.GetBackBuffer(0, 0))
{
GraphicsStream stream = SurfaceLoader.SaveToStream(ImageFileFormat.Bmp, backbuffer);
return new Bitmap(stream);
}
GraphicStream
和 SurfaceLoader
不存在。
我在从旧的托管 Microsoft.DirectX 到 SharpDx9 时遇到了类似的问题。 对于 Meshes,我们必须实现我们自己的 Mesh classes,因为 SharpDx.Mesh 中没有像圆柱体、球体或盒子这样的原语(我猜它只是一个模拟 class)。 但是对于 SurfaceLoader,请检查 Surface class 本身,它具有可能符合您需求的静态方法。例如:
Surface.ToStream()