2013-11-02 62 views
3

我看到了很多的3D图形技术在那里,但没有真正的2D图形技术,也没有书籍等。 到哪里开始挖成C#2D图形编程任何提示吗?2D图形与C#

我一直在摆弄与GDI +有一段时间了(见演示:http://www.youtube.com/watch?v=uvqPHfWCWSM)。但是我想切换到的东西,更快 - 但对于2D:Direct2D中(DX),OpenGL中,浮现在脑海中,但他们适合2D?


UPDATE 2016年8月3日: 我现在用MonoGame跨平台XNA实现。

感谢, ÿ

回答

1

XNA是一个不错的选择,因为你必须使用托管代码的DirectX的所有的渲染力。 如果你想使用DirectX或OpenGL,你必须使用非托管C++代码(低级),这是难以学习/使用。 至于书籍有很多伟大的国家:

-Beginning DirecX11 Game Programming by Allen Sherrod and Wendy Jones(Course Technology) 

希望这有助于。

+0

Thx会检查出这本书。关于XNA,很遗憾,它很快就会失去支持..? –

+1

你可以使用SlimDx(http://slimdx.org)。这提供了与DirectX 10和11以及64位支持相同的功能_plus_支持。 – PMF

+0

ps;更新,因为那时我使用了MonoGame x-platform XNA实现。 –

1

对于C#你总是有XNA,仍然没有工作。

+0

THX!虽然很遗憾,它会很快没有支持..? –

+2

@Yves我相信支持已经结束了一段时间 – d3dave

1

既然你明显知道如何使用GDI来渲染2D图形(令人印象深刻的演示!),你应该已经看到,这个已经相当快。 GDI +使用图形卡来支持渲染,所以通常你不需要更多的2D。 Direct2D现在或多或少都已经死了,还会使用Direct3D来渲染2D。 (DirectX 10和更高版本的界面甚至没有对2D的特别支持。)您只需在屏幕空间中渲染东西即可实现2D渲染。

+0

Thx关于演示。我尝试尽可能地缓存(刷子,设置,笔,颜色,渲染位图)以提高GDI +的性能..你能解释为什么Direct2D已经死了吗?我不知道。我觉得有点难过,因为这意味着在3D周围绘制2D是一个位的其他方式,grmbl:对 –

+1

嗯......看来我错了。 http://msdn.microsoft.com/de-de/library/windows/desktop/hh802478(v=vs.85).aspx指出,甚至有在Windows 8和8.1 Direct2D的新功能。我认为它已经死了,因为DirectX10不再包含任何2D支持接口,而Direct2D实际上是建立在DirectX9之上的。似乎微软的家伙仍然发现有用于平面2D支持的用途。 – PMF