2011-05-16 74 views
1

任何人都可以指向一個很好的教程或如何使用OS X使用OpenGL擴展。我正在學習OpenGL,並且有點新手。我正在使用教科書學習圖形,但它沒有提供關於如何讓代碼工作的平臺特定指示。OpenGL擴展:如何在OS X下使用它們 - OpenGL新手

我在帶有NVidia GeForce 9400M的MacBookPro上運行OS X(10.6.7)。我安裝了XCode,所以我有必要的頭文件和庫來編譯和運行圖形代碼。我試圖使用OpenGL擴展,現在我卡住了。這是我的問題:

我的教科書中的一個例子使用了一個名爲glGenVertexArrays的函數。我在glext.h看到,有一個叫glGenVertexArrays功能,旁邊一個APIENTRYP,略低於它一個typedef:

wdyn-n233-240-235:GL marklagatuz$ cat glext.h | grep glGenVertexArrays 
GLAPI void APIENTRY glGenVertexArrays (GLsizei, GLuint *); 
GLAPI void APIENTRY glGenVertexArraysAPPLE (GLsizei, GLuint *); 

typedef void (APIENTRYP PFNGLGENVERTEXARRAYSPROC) (GLsizei n, GLuint *arrays); 

我的問題是如何利用我的.cpp源代碼,這個功能呢?我已經細讀了網絡,並沒有找到很好的文檔。也許因爲我是新手。有人能幫我指點一些很棒的幫助和教程嗎?

回答

5

如果您想簡化您的生活,請不要打擾glext.h,而應使用擴展包裝。我推薦GLEW,http://glew.sourceforge.net

+0

嗨。我現在在我的系統上安裝了GLEW。另外,我瀏覽了頭文件glew.h,並閱讀了基本和高級。我仍然不確定如何在程序中使用擴展名。假設我想創建一個頂點數組對象。在我的代碼中如何使用它。我不確定語法,需要聲明什麼,等等......你能幫助新手嗎?提前致謝! – user462020 2011-05-17 01:01:02

+0

如果你想使用GLEW,首先要做的就是調用glewInit();從剛剛創建上下文後創建OpengGL上下文的線程開始。然後你應該檢查你的系統上是否有實際可用的擴展名,GLEW爲此提供了一個非常方便的方法:http://glew.sourceforge.net/basic.html如何使用頂點緩衝區對象閱讀這篇文章http:///www.opengl.org/wiki/Vertex_Buffer_Object和http://en.wikipedia.org/wiki/Vertex_Buffer_Object – datenwolf 2011-05-17 06:18:07

+1

謝謝!得到它的工作!我感謝幫助! – user462020 2011-05-22 20:05:12