Прошу прощения за создание данной темы. Скорее всего я не умею пользоваться поиском, но то, что я нашёл, мне не помогло.
Что нужно для программирования с использованием OpenGL? У меня карта GeForce 9600 GT, значит максимально я могу использовать версию OpenGL 3.3. На офсайте есть gl3.h. Но достаточно ли только его одного? А классический gl.h не нужен? Если нужен, где же его взять? Есть вариант взять в Windows SDK. Во-первых, причём тут Microsoft, когда OpenGL совершенно не ихняя разработка. А во-вторых, я создал в MS Visual C++ 2008 пустой проект и просто подключил туда GL.h из Windows SDK. Получил 148 ошибок. Возможно из-за того что Windows SDK 2007 года. И где так же брать *.lib-файлы? OpenGL.lib или как там его? Даже если я скачаю с сайта gl3.h, *.lib-файла у меня не будет.
Итак, подытожу свои вопросы:
1) где найти все необходимые *.h-файлы?
2) где найти нужные *.lib-файлы?
И желательно найти всё это человеческой реализации, а не майкрософтовское.
Wolshebnik
> И желательно найти всё это человеческой реализации, а не майкрософтовское.
хихи
Базовые функции возьмёшь из майкрософтовских библиотек.
Для остальных чудо функций качаются разные приблуды типа Glew, которые сами грузят имеющийся в системе opengl32.dll (ставится с драйверами видеокарты, и никак иначе) и запрашивают из него существование всех новых возможностей. Повезёт-не повезёт, сам проверишь на NULL нужные тебе функции и будешь пользоваться.
И желательно найти всё это человеческой реализации, а не майкрософтовское.
Ты еще пожалеешь, что это сказал ;D
> Во-первых, причём тут Microsoft, когда OpenGL совершенно не ихняя разработка
Скажу по секрету - С/C++ тоже не их разработка. Так что ты сказал полную фигню.
Wolshebnik
Майкрософт был в составе АРБ, поэтому к этому отношение они имеют непосредственное...
Поэтому gl.h брать с Windows SDK, как и либу... gl3.h тоже должен работать, для него gl.h не нужен, но либа нужна будет скорее всего...
Если юзать gl.h, то в связке нужно юзать glext.h...
Ну и не забывай про wglext.h...
Wolshebnik
> Получил 148 ошибок. Возможно из-за того что Windows SDK 2007 года.
Нет, это скорее из-за того что функции в gl.h не знают что такое WINGDIAPI и нужно перед этим файлом подключать windows.h. :)
Вот, дружище, получи: http://narod.ru/disk/18942301000/For_you.rar.html. И в самом начале своего кода, где-нибудь в хедере напиши следующее:
#include <GL/GLew.h> #pragma comment(lib, "OpenGL32.lib") #pragma comment( lib, "Glew32.lib")
А в функции инициализации не забудь про инициализировать библиотеку glew функцией "glewInit();"
K.V.
Ты прав! Спасибо.
Алмаз
Огромное спасибо!!! Скачал.
А какой *.lib-файл нужен для gl3.h? Или этот gl3.h вообще не нужен? Раз можно через glew получать доступ ко всему новому.
Никакой. Для использования OpenGL'а в чистом виде нужен только хэдэр GL.h, в случае с третьим - GL3.h. Либы - это уже для библиотек, таких как GLew, GLu, GLut, GLaux и т. п.
Примеры по OpenGL 3.0+
http://www.gamedev.ru/code/tip/opengl3context
http://www.dhpoware.com/demos/gl3ContextCreation.html
http://nopper.tv/opengl_3_2.html
Wolshebnik
> А какой *.lib-файл нужен для gl3.h? Или этот gl3.h вообще не нужен? Раз можно
> через glew получать доступ ко всему новому.
Всегда нужен opengl32.lib...
Юзаешь либо gl.h + glext.h, либо gl3.h, либо glew.h...
Алмаз
> в случае с третьим - GL3.h
Не обязательно...
Executor
> Всегда нужен opengl32.lib...
Точно, про него забыл.
Лучше использовать GLew с динамической линковкой GLew32.lib и таскать с собой glew32.dll или со статической - с либой GLew32s.lib. Я выбрал первое.
У меня тоже аналогичный вопрос, где можно взять glew, wglew и freeglut?
(решил не создавать новую тему)
Ещё никто не посоветовал GLEW. Надо брать GLEW.
Человеческой реализации OpenGL не существует.
Можно взять тут: http://www.lmgtfy.com/?q=glew
JohnSmith
Спасибо, твой совет мне очень помог!
Тема в архиве.