GlGenBuffers не определено?
Я использую окна, и я замечаю, что многие функции выделены серым цветом, потому что я думаю, что #ifdef GL_GLEXT_PROTOTYPES не определен. Одним из них является расширение VBO. Должен ли я просто определить GL_GLEXT_PROTOTYPES? В противном случае, как еще я могу использовать VBOs, поскольку я использую OpenGL32.dll(я хочу, чтобы мое приложение не имело зависимостей dll, не включенных в Windows по умолчанию.) Спасибо
Ответы
Ответ 1
Я рекомендую вам использовать GLEW, чтобы избавиться от этой проблемы.
Это долгая история, но возобновление, библиотека Windows OpenGL предоставляет только точки входа OpenGL 1.1, поэтому все функции за пределами этой версии загружаются с помощью wglGetProcAddress. GLEW решает эту проблему, делая это.
http://glew.sourceforge.net/
Просто ссылку на GLEW и GLU/GLUT (если вы их используете).
Ответ 2
Да, это вполне нормально и ожидается что-то вроде:
#define GL_GLEXT_PROTOTYPES
#include <GL/GL.h>
Если вы пытаетесь написать совместимый с OpenGL 3 код, вы обычно меняете это на:
#define GL_GLEXT_PROTOTYPES 1
#define GL3_PROTOTYPES 1
#include <GL3/GL3.h>
Ответ 3
И если вы используете расширение Glew OpenGL, обязательно инициализируйте его.
glewInit();
В противном случае ничего не будет нарисовано.
Ответ 4
Вы можете использовать рад, чтобы предоставить glGenBuffers
для вас.