Я пытаюсь настроить GLFW3 для моего проекта OpenGL на Xcode 5 (Mac OSX 10.8.4). Я успешно установил и связал свой проект с GLFW3 без проблем. Я даже получил окно, успешно созданное с проектом, и я смог обнаружить входы мыши и клавиатуры с окном, поэтому я считаю, что я правильно подключил GLFW3 (или, по крайней мере, так казалось).Современный OpenGL с GLFW3 на Mac OSX 10.8.4 - отсутствует glGenVertexArrays() и glBindVertexArray()?
Однако проблема возникла, когда я попытался нарисовать объект. Это был фрагмент кода, где показал ошибку до: (?)
#include <GLFW/glfw3.h>
void LoadObject()
{
glGenVertexArrays(1, &VAO_myObj); // ERROR : Use of undeclared identifier 'glGenVertexArrays'
glBindVertexArray(VAO_myObj); // ERROR : Use of undeclared identifier 'glBindVertexArray'
glGenBuffers(1, &VBO_myObj); // No error
glBindBuffer(GL_ARRAY_BUFFER, VBO_myObj); // No error
glBufferData(blah blah blah); // No error
glEnableVertexAttribArray(0); // No error
glVertexAttribPointer(blah); // No error
glBindBuffer(GL_ARRAY_BUFFER, 0); // No error
glBindVertexArray(0); // ERROR : Use of undeclared identifier 'glBindVertexArray'
}
Таким образом, это привело меня к мысли, что каким-то образом GLFW3 не удалось связать с этими функциями. Когда я напечатал «glGen ...» в Xcode, я видел только следующие 4 функции во всплывающем окне:
void glGenBuffers(GLsizei n, GLuint * buffers)
GLuint glGenLists(GLsizei range)
void glGenQueries(GLsizei n, GLuint * ids)
void glGenTextures(GLsizei n, GLuint * textures)
Таким образом, это было, скорее всего, что glGenVertexArrays() действительно отсутствует в библиотеке.
Аналогично для «glBind ...», когда я ввожу имя Xcode, только они появились на всплывающем окне:
void glBindAttribLocation(GLuint program, GLuint index, const GLchar * name)
void glBindBuffer(GLenum target, GLuint buffer)
void glBindTexture(GLenum target, GLuint texture)
Нет, где я вижу glBindVertexArray() в списке.
Итак, кажется, что glGenVertexArrays() и glBindVertexArray() отсутствуют. Но как они могли пропустить такие важные функции? Поэтому, скорее всего, я сам что-то пропустил.
Мне просто интересно, столкнулся ли кто-нибудь с этой проблемой с GLFW3 с Xcode 5 раньше? Кстати, я не использую glew или другие средства поддержки OpenGL. Я использую только GLFW3.
Буду признателен за любую подсказку относительно этой проблемы.
На боковой ноте, какой инструмент (рядом с glfw) вы бы рекомендовали получить окно на Mac для современного (основанного на шейдере) проекта OpenGL?
Заранее благодарю вас за помощь.
Звучит подозрительно, как вы включили '' вместо ''. Это касается OS X. –
Я даже не включил. Согласно документации glfw, glfw включил для вас. Единственное, что включает в себя: #include , #include для чтения в шейдерах и #include для обработки строк. Вот и все. –
TATN
Вау, ты понял. Спасибо, Андон. Я решил # включить, и это сработало! Таким образом, GLFW3 должен был включать «gl3.h», но он не включал (вместо него «gl.h»). Не могли бы вы повторно отправить ответ в ответ, чтобы я мог его принять? Еще раз спасибо! –
TATN