我很有興趣瞭解可用於製作圖形應用程序的不同抽象層。我看到了很多術語:在抽象的最高級別,我聽到類似C#,.NET,Pyglet和pygame的東西。再往下看,我聽說DirectX和OpenGL。然後是DirectDraw,SDL,Win32 API以及其他多平臺庫,如WxWidgets。瞭解低級圖形編程
我怎樣才能很好地理解這些層中的哪一層結束以及下一層開始的位置?在Windows中創建窗口的最低可能級別是什麼?關於C++呢? (一個代碼示例將是神聖的。)在X11中怎麼樣? OpenGL和DirectX的Windows實現是否構建在Win32 API之上?我在哪裏可以開始瞭解這些事情?
還有另外一個關於SO的地方,建議Programming Windows。那麼Linux呢?有這樣的書嗎?
我知道這是非常低級的,並且有很多友好的工具可用,但我想至少了解表面下發生的事情的基礎知識。儘管我希望從蝙蝠身上開始撬動窗戶和載體,但從pygame這樣的東西開始,對我來說太高級了。我真的需要製作完整的概念電路如何在計算機上繪製東西。
我當然會對書籍和資源的建議感到欣慰,但是如果對這個問題的回答充滿了很多不同的方法來使用不同的圖形編程方法來獲得「Hello world」,那麼我認爲這將是非常酷的。 C? C++?使用OpenGL?使用DirectX?在Windows XP上?在Ubuntu上?也許我要求太多。
「那麼對於Linux呢?是否有相當於這樣的書?」 - 現在有一個 - http://www.amazon.com/The-Linux-Programming-Interface-Handbook/dp/1593272200 - 很少有一本書有100%的5星評級,39是相當不錯的樣本大小。 – 2012-09-10 09:01:55
Max,我得到了同樣的問題,我只想知道你是否找到了解決你所有問題的方法,因爲這些問題也會讓我感到煩惱 – 2016-09-18 03:41:38
@SurajJain,這並不多,但還有一些其他問題問,也可以讓你開始: http://stackoverflow.com/questions/235151/game-programming-how-to-avoid-reinventing-the-wheel http://stackoverflow.com/questions/12850071/what-is-the-simple-way-render-a-3d-cube-with-a-single-lighting-source – 2016-09-21 17:37:45