1

我正在使用 glext.h ( http://oss.sgi.com/projects/ogl-sample/ABI/gext.h ) 来访问 Windows 窗体应用程序的 OpenGL 缓冲区函数。

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 规范

4

1 回答 1

3

复制粘贴错误?

PFNGLGENBUFFERSPROC 应该是 PFNGLBUFFERDATAPROC (等其他人)?

于 2013-08-22T13:48:19.950 回答