Получение настроек OpenGL в Windows (mingw32?) - PullRequest
2 голосов
/ 19 апреля 2011

Компилятор mingw32. Язык С99. ОС это windows. Видеокарта Nvidia 260GTX

Я могу ссылаться на opengl32 / glu32 и строить против него, но ничего из OpenGL 3.x не включено ... на самом деле, я бы сказал, что, вероятно, отсутствуют расширения 2.x!

GLEW и GLM оба являются C ++ и не работают с прямыми C. Glee не имеет никаких двоичных файлов mingw32 (и не работает на моей системе).

Я использую SDL, и в нем есть некоторые функции OpenGL (??), но, опять же, выглядит устаревшим.

Я просто не понимаю фундаментальную проблему, почему так трудно заставить C / OpenGL работать на Windows? Почему это так уникально? Почему Khronos не предоставляет SDK / библиотеки / заголовки и т. Д.?

Я использую OpenGL через Java / lwjgl, и у меня нет времени на его настройку и компиляцию / запуск.

1 Ответ

2 голосов
/ 19 апреля 2011

В Windows все, что выше OpenGL-1.1, доступно только через расширения. Вот как это было разработано и как оно идет. GLEW прекрасно работает с простым C (если я не ошибаюсь, GLEW написан простым C).

Khronos не может предоставить SDK, потому что фактически предоставление API OpenGL - это задача, оставленная поставщику операционной системы, а в Windows драйверы графики необходимы для обеспечения реализации. В случае с Windows это Microsoft, которая несколько лет назад покинула ARB в пользу своей собственной технологии Direct3D; Раньше были горячие дебаты, которые были лучшим API, но теперь, когда весь мир, кроме Microsoft, остановился на OpenGL, время споров прошло.

В любом случае, если вы хотите, чтобы все было по-настоящему легко, вместо GLUT, SDL и т. Д. Используйте GLFW http://glfw.org, действительно превосходную среду OpenGL, которая выполняет все сложные задачи, выполняет загрузку расширений и OpenGL. -3 настройка контекста, если вы спросите об этом (вам все еще нужна некоторая оболочка расширений для использования расширений в вашем собственном коде - однако создание чистого контекста OpenGL-3 требует некоторого прокси-контекста, загрузки нескольких расширений с использованием этого и использования полученных функций для настоящий контекст OpenGL-3. Просто для пояснения).

...