2013-08-22 55 views
1

我使用glext.h(http://oss.sgi.com/projects/ogl-sample/ABI/glext.h)來訪問Windows窗體應用程序的OpenGL緩衝區函數。OpenGL擴展glBufferData期望2是4個參數

PFNGLGENBUFFERSPROC myglGenBuffers = PFNGLGENBUFFERSPROC)wglGetProcAddress("glGenBuffers"); 
PFNGLGENBUFFERSPROC myglBindBuffer = (PFNGLGENBUFFERSPROC)wglGetProcAddress("glBindBuffer"); 
PFNGLGENBUFFERSPROC myglBufferData = (PFNGLGENBUFFERSPROC)wglGetProcAddress("glBufferData"); 
PFNGLGENBUFFERSPROC myglDeleteBuffer = (PFNGLGENBUFFERSPROC)wglGetProcAddress("glDeleteBuffer"); 

他們似乎都工作,除了glBufferData。 myglBufferData預計

(GLsizei, GLuint *) 

,而不是

(GLenum, GLsizeiptr, const GLvoid *, GLenum)^ 

作爲輸入參數,我想不通爲什麼。我究竟做錯了什麼?

不幸的是,使用GLEW不是一種選擇。

^glBufferData Specification

+0

您說使用GLEW不是一個選項,但是您是否知道GLEW站點上提供了GLEW用於從擴展規範生成標題的腳本?如果你使用過,你可以節省很多挫折,例如你可以在VBO擴展上運行它,併爲你生成所有的原型,枚舉,typedefs等。 –

回答

3

複製粘貼錯誤?

PFNGLGENBUFFERSPROC應該是PFNGLBUFFERDATAPROC(等等)?

+0

謝謝!這讓我瘋狂。 – siri

相關問題