使用Vb.net进行DirectX 2D绘图

时间:2011-09-28 21:51:20

标签: vb.net directx 2d

我使用System.Graphics作为我的最新项目(简单的2D应用程序)。问题是,它得到了一个可怕的FPS而且我只画了8x8的牌(通常10-12就足以将它降到12FPS)。

我的一位朋友建议我使用DirectX。他还建议XNA,但我反对,因为我不希望我的客户必须安装XNA分发。 DirectX很常见(据我所知),如果需要,我可以包含dll。

所以,我的搜索开始了。我一直在寻找VB.net的DirectX 2D教程。到目前为止,我没有取得任何成功。事实上,我需要做的就是能够在位置x绘制位图pos

到目前为止,我一直在使用System.Graphics和一个被黑客攻击的位图作为我的缓冲区,所以我会尽力改进。

我正在使用VB.net,所以如果你给我一个C#,我会 ok ,我很擅长阅读它(和我也有一个不错的转换器)。我宁愿选择VB.net来节省时间。

谢谢!的 :)

1 个答案:

答案 0 :(得分:2)

MSDN杂志中的这篇文章是2003年版本中有一个很好的托管DirectX代码示例: http://msdn.microsoft.com/en-us/magazine/cc164112.aspx

可悲的是,目前在DX 10和DX 11中没有DirectX(a.k.a. DirectX .NET包装器)的托管库.Microsoft仅为DX 9.0a和DX 9.0b提供了托管库。

Managed DirectX wikipedia中,您会看到它被Microsoft XNA取代。

如果您下载当前/最新的DirectX SDK,您将只能使用C ++和HLSL代码进行采样。

如果您真的需要花哨的UI以及基于DirectX的精美动画和3D绘图,您可以使用WPF,尤其是.NET 3.0 SP2中的WPF(或者只是下载并安装.NET 3.5 SP1)。 WPF is build on top of DirectX 9.0c stack,无需担心知道DirectX 9 API的大型库。您也可以获得3D基元支持。

有关WPF的更多信息,请访问: http://msdn.microsoft.com/en-us/library/ms754130.aspx