2011-04-30 49 views
5

最近有人建議我應該 「現在完全跳過低級別的API,只是使用一些構建於其之上的高級庫。簡單的opengl/directx是一個很大的工作,即使是一個經驗豐富的程序員「適用於初學者和中級C++程序員的高級OpenGL友好庫

任何人都可以建議一些或地方,我可以找到一些將適合我? 謝謝!

回答

3

這真的取決於你想要做什麼。許多人選擇像SDL(簡單直接媒體層)這樣的東西,這是對OpenGL/DirectDraw/GDI(以及更多)的抽象,但它仍然是低級的。它使用C++本地工作。

簡單直接層設計,以提供低級別的訪問 音頻,鍵盤,鼠標,操縱桿,通過OpenGL 3D 硬件和2D視頻幀緩衝 一個 跨平臺的多媒體庫 。它被MPEG 播放軟件,仿真器和許多 流行遊戲使用,其中包括獲獎的 獲得Linux端口的「文明: 致電」。

http://www.libsdl.org/

選擇一個像這樣的一個非常受歡迎的庫的優點是,有一噸例如工作在那裏。

+2

SDL並沒有真正抽象OpenGL(除非你使用硬件加速的2D表面,我不知道它的用途)。相反,它可以很容易地設置OpenGL上下文,但是您仍然必須直接與OpenGL交互來繪製任何內容(除非像我之前所說的那樣,您使用的是SDL的2D內容)。 – icktoofay 2011-04-30 23:27:00

2

國際海事組織,在從你正在使用的平臺抽象(即獲取上下文,獲取鍵盤/鼠標輸入等)GLFW擊敗所有。

但人們經常在尋找更多的方式來打開一個窗口。通常情況下,他們正在尋找的是實現所謂的場景圖。一個好的方法就是將GL中可以做的所有事情都抽象爲一個直觀的樹結構(從技術上講是一個圖形,但通常認爲它是一棵樹)。爲了完整性,這個類別的幾乎所有庫都提供了自己的上下文開放,模型加載和調試功能。

此類別中一些流行的圖書館是OpenSceneGraphOgre3DHorde3D看起來很有希望,但它還沒有「官方」發佈。