2013-11-02 59 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