/ / Portando código MDX antigo - sharpdx

Portando código MDX antigo - sharpdx

Eu estou portando algum código MDX antigo para SharpDX usando assemblies Direct3D9.

Eu era capaz de "converter" a maior parte do código para o SharpDX, mas eu estou preso no seguinte:

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);

A classe de malha existe, mas não contém os métodos Cilindro ou Caixa. Eu tenho passado por toneladas de documentação e não consegui encontrar uma solução.

Além do problema com a classe Mesh, não encontrei classes e métodos correspondentes para o seguinte no SharpDX:

using (Surface backbuffer = _device.GetBackBuffer(0, 0))
{
GraphicsStream stream = SurfaceLoader.SaveToStream(ImageFileFormat.Bmp, backbuffer);
return new Bitmap(stream);
}

GraphicStream e SurfaceLoader não existe.

Respostas:

2 para resposta № 1

Eu tive problema semelhante proting do antigo gerenciadoMicrosoft.DirectX para SharpDx9. Para Meshes, tivemos que implementar nossas próprias classes de malha, pois não há pritivos como cilindro, esfera ou caixa em SharpDx.Mesh (é apenas uma classe simulada, eu acho). Mas para o SurfaceLoader, verifique a própria classe Surface que ela possui métodos estáticos que provavelmente corresponderão às suas necessidades. Por exemplo:

Surface.ToStream ()