Расширение OpenGL glBufferData ожидает 2 аргумента вместо 4

Я использую glext.h (http://oss.sgi.com/projects/ogl-sample/ABI/glext.h) для доступа к функциям буфера OpenGL для приложения Windows Forms.

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 Спецификация


person siri    schedule 22.08.2013    source источник
comment
Вы говорите, что использование GLEW не вариант, но знаете ли вы, что скрипт, который GLEW использует для создания заголовков из спецификаций расширения, доступен на сайте GLEW? Вы могли бы избавить себя от многих разочарований, если бы использовали это, вы могли бы запустить его, например, в расширении VBO, и все ваши прототипы, перечислители, определения типов и т. д. были бы сгенерированы для вас.   -  person Andon M. Coleman    schedule 22.08.2013


Ответы (1)


Ошибка копирования и вставки?

PFNGLGENBUFFERSPROC должен быть PFNGLBUFFERDATAPROC (и т. д. для других)?

person jozxyqk    schedule 22.08.2013
comment
Благодарю вас! Это сводило меня с ума. - person siri; 22.08.2013