Я пытаюсь запустить программу, которая требует OpenGL 3.1 на моем Macbook Pro Retina с середины 2012 года под управлением OSX 10.10.1 с NVIDIA GeForce GT 650M. Я установил Glew через Homebrew, и запуск glewinfo
показывает следующее:
GL_VERSIONglewIsSupported("GL_VERSION_3_1")
1: OK
---------------
glDrawArraysInstanced: OK
glDrawElementsInstanced: OK
glPrimitiveRestartIndex: OK
glTexBuffer: OK
Однако, когда строка glewIsSupported("GL_VERSION_3_1")
в коде, который я выполняю, возвращает false. Я поискал в Интернете и нашел кое-что о X Server на OSX, поддерживающем только OpenGL 2.1, и подумал, что это может быть проблемой.
Поэтому я также загрузил GLView и заметил, что когда я переключаюсь с Core на Compatibility, версия OpenGL падает. с 4.1 до 2.1. Полагаю, это означает, что glewIsSupported("GL_VERSION_3_1")
проверяет версию совместимости, а не ядро. Если я изменю этот флажок на GL_VERSION_2_1
, будут ли какие-либо риски для моей видеокарты или компьютера в целом? Есть ли способ узнать, требует ли код ядра или совместимости? И если для этого требуется X-сервер, есть ли способ заставить X-сервер использовать OpenGL 3.1?
[РЕДАКТИРОВАТЬ: это заголовки.]
...
#include <GL/glew.h>
#ifdef __linux__
#include <pthread.h>
#include <sys/time.h>
#include <stdio.h>
#include <unistd.h>
#endif
#ifdef __APPLE__
#include <sys/time.h>
#include <stdio.h>
#include <unistd.h>
#include <GLUT/glut.h>
#else
#include <GL/glut.h>
#endif
cmake
, он сказал, что этого требует, и я вижу это в заголовках, которые я добавил к своему вопросу. - person Juan Carlos Farah   schedule 30.01.2015