Directx 托管Direct3D:锁定整个顶点缓冲区

Directx 托管Direct3D:锁定整个顶点缓冲区,directx,direct3d,managed-directx,Directx,Direct3d,Managed Directx,我有一个从Mesh::TextFromFont返回的Mesh对象,我正在尝试设置每个顶点的颜色。我调用顶点缓冲区的锁函数如下: 网格->顶点缓冲->锁定(0,锁定标志::无) 但是,此调用引发异常。另一个重载的Lock似乎可以正常工作,但是它需要我传递返回顶点数组的秩。这里的解决方案是什么?如何锁定从TextFromFont返回的网格顶点缓冲区?答案可能是: 当使用此方法检索 数组,该数组来自一个不可用的资源 使用类型创建时,始终使用 接受类型的重载 在真正的MSDN方式中,没有进一步的解释。您

我有一个从
Mesh::TextFromFont
返回的
Mesh
对象,我正在尝试设置每个顶点的颜色。我调用顶点缓冲区的
函数如下:

网格->顶点缓冲->锁定(0,锁定标志::无)


但是,此调用引发异常。另一个重载的
Lock
似乎可以正常工作,但是它需要我传递返回顶点数组的秩。这里的解决方案是什么?如何锁定从
TextFromFont
返回的网格顶点缓冲区?

答案可能是:

当使用此方法检索 数组,该数组来自一个不可用的资源 使用类型创建时,始终使用 接受类型的重载


在真正的MSDN方式中,没有进一步的解释。

您得到的异常是什么?VertexBuffer可能是空的。值得注意的是,不再支持托管DX。您现在可能应该使用SlimDX或XNA:)