Подключение Glut к Visual Studio
Привет. Итак, работать с OpenGL проще и много примеров с использованием библиотеки GLUT, поэтому ее и загружаем в первую очередь — нам нужны бинарники, собранные под Win32 — загружаем их отсюда http://user.xmission.com/~nate/glut.html, файл glut-3.7.6-bin.zip (117 KB)
После распаковываем, и можно скопировать папку к папке проекта. Далее остается настроить свойства проекта, для этого заходим в меню Project — Properties. Заходим в раздел C/C++, находим пункт Additional Include Directories — это дополнительные папки, в которых Visual Studio будет искать заголовочные файлы (.h). Добавляем в список директорию, в которой лежит glut.h
Затем переходим в раздел Linker и там также добавляем дополнительные директории для поиска lib файлов (указываем путь до папки с glut32.lib)
Теперь нужно еще указать, что необходимо линковать саму библиотеку glut32.lib. Это делается в разделе Linker — Input, Additional Dependencies. В нем просто указываем имя либ-файла glut32.lib.
На этом настройки закончены и можно приступать к примеру (взято отсюда):
#include «stdafx.h»
#include
void Display() <
glClear(GL_COLOR_BUFFER_BIT);
glFlush();
>
void Initialize() <
glClearColor(0.8, 1.0, 0.6, 1.0);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(-200.0, 200.0, -200.0, 200.0, -5.0, 5.0);
>
int main(int argc, char ** argv) <
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
glutInitWindowSize(400, 400);
glutInitWindowPosition(100, 200);
glutCreateWindow(«Our first GLUT application!»);
glutDisplayFunc(Display);
Initialize();
glutMainLoop();
return 0;
>
Проект должен удачно скомпилироваться. Для запуска требуется еще скопировать glut32.dll в папку с exe. При запуске на экране будет одно консольное окно и одно OpenGl окно салатового цвета.
После этого рекомендую попробовать проделать тоже самое, но с библиотекой freeglut, т.к. она является намного новее той, что я привел выше. Вам нужно загрузить ее, потом распаковать архив, перейти в директорию \freeglut-2.8.0\freeglut-2.8.0\VisualStudio\2010, откуда запустить файл проекта, обновить до версии 2012 и собрать проект в Release сборке или Debug.
После сборки проекта у вас lib файл и dll будет доступен в \freeglut-2.8.0\lib\x86\Debug. А h-файл в \freeglut-2.8.0\include.
В пример нужно заменить include на
#include
Как установить opengl для visual studion 2017
только начал изучать c++, ну и начал натыкаться на проблемы. Подскажите как установить openGl на vs2017 ? В интернете откопал либо видео 2013 года, либо какой-то glut, даже скачав его с офф в доке не нашел внятного, для себя способа его установить. Также в процессе поиска наткнулся на всякие freeglut, grew и прочее, как я понимаю, библиотеки. Если не затруднит объясните как, куда и откуда устанавливать openGL ? Думаю информация будет полезна и другим чайника 🙂
Отслеживать
задан 22 фев 2019 в 20:23
137 7 7 бронзовых знаков
Нет единственного правильного способа «установить OpenGL». Вам нужно выбрать и поставить две библиотеки: для открытия окна, и для загрузки функций OpenGL (второе — специфика Windows). Для открытия окна подойдут SDL2, GLFW, FreeGLUT. Есть еще просто GLUT, но он довольно старый. Для загрузки функций OpenGL традиционно используют GLEW, из неплохих вариантов есть еще GLAD. Для начала выберите две любые (я бы посоветовал SDL2+GLEW). Сейчас вы по сути просите вам личный гайд написать, но их в гугле и так довольно много. Я бы лучше попробовал какой-нибудь, и спрашивал о конкретных проблемах.
22 фев 2019 в 20:39
@HolyBlackCat , Спасибо за ответ ! Вот на примере SDL2. Я зайдя на сайт нашел 2 версии: Source Code и Development Libraries в каждой тонна файлов, и папок (в dev папок меньше), и вот, я озадачился все ли нужно копировать ? Какие версии библиотек качать ( dev или source code ) ? На примерах в видео видел, как скачивали 3-5 файлов и подключали ./папка/file.h а тут целый список файлов. (*я из веба, мне не привычно, когда библиотека — не 1 файл. Это норма ?)
22 фев 2019 в 20:54
Я же говорю, поищите гайды, там написано что качать. Вам нужен один архив, скорее всего SDL2-devel-2.0.9-VC.zip .
Как установить glut на visual studio 2019
Сложность работы с OpenGL , как и с любой достаточно продвинутой технологией, состоит в том, что до написания первой строчки кода, рисующей что-либо на экране, требуется создать необходимые объекты, установить формат пиксела, проинициализировать вспомогательные буферы и т.д. Т.е. сообщить OpenGL , что, где и как мы собираемся рисовать.
Во многих книгах первая глава, размером в несколько десятков страниц посвящена подробному разбору интеграции OpenGL в систему. Человеку, который хочет изучать графику, это обычно кажется невероятно скучным. Часто такое решение не является кроссплатформенным, в то время, как многие программы для научной визуализации создаются под Linux .
Решением в данной ситуации является использование библиотеки GLUT . Она берет на себя работу по созданию окна, инициализации OpenGL , обработки сообщений от мыши и клавиатуры. Более того, используя библиотеку GLUT , такие функции, как включение аппаратного сглаживания, делаются в несколько строк кода.
Прим. Существуют достаточно большие и сложные приложения, предназначенные для научной визуализации, созданные с использованием библиотеки GLUT . Так что эта библиотека используется не только в учебных целях, но и в ряде реальных продуктов, построенных на технологии OpenGL .
Установка GLUT
GLUT не идет по умолчанию в системе и в среде разработки. Вам потребуется найти и скачать последнюю версию по ссылке: GLUT Downloads . Скопируйте *. dll файлы в папку system , находящуюся в директории c Windows . Файлы *. lib положите в папку lib Visual C ++, файл glut . h в папку Include\gl .
Прим. Версию 3.6 можно скачать по ссылке: glutdlls36.zip
К примеру, файлы могут располагаться таким образом:
C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Lib
C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\gl
Код шаблона
#include «engine.h»
GLvoid Engine::SetProjectionMatrix(GLvoid) <
glMatrixMode(GL_PROJECTION); // Действия будут производиться с матрицей проекции
glLoadIdentity(); // Текущая матрица (проекции) сбрасывается на единичную
glFrustum(-1, 1, -1, 1, 3, 10); // Устанавливается перспективная проекция
>
GLvoid Engine::SetModelviewMatrix(GLvoid) <
glMatrixMode(GL_MODELVIEW); // Действия будут производиться с матрицей модели
glLoadIdentity(); // Текущая матрица (модели) сбрасывается на единичную
glTranslatef(0.0, 0.0, -8.0); // Система координат переносится на 8 единиц вглубь сцены
glRotatef(30.0, 1.0, 0.0, 0.0); // и поворачивается на 30 градусов вокруг оси x,
glRotatef(70.0, 0.0, 1.0, 0.0); // а затем на 70 градусов вокруг оси y
>
GLvoid Engine::Resize(GLsizei width, GLsizei height) <
if (height == 0)
<
height = 1;
>
glViewport (0, 0, width , height ); // Устанавливается область просмотра
Height = height;
Width = width;
SetProjectionMatrix();
SetModelviewMatrix();
>
GLvoid Engine::Init(GLvoid) <
glClearColor(0.2f, 0.5f, 0.75f, 1.0f ); // Устанавливается синий фон
glClearDepth( 1.0f ); // Устанавливается значение для
// заполнения буфера глубины по умолчанию
glEnable(GL_DEPTH_TEST); // Включается тест глубины
glDepthFunc(GL_LEQUAL); // Устанавливается значение, используемое
// в сравнениях при использовании
// буфера глубины
glShadeModel(GL_SMOOTH); // Включается плавное затенение
glEnable(GL_LINE_SMOOTH); // Включается сглаживание линий
glHint(GL_LINE_SMOOTH_HINT, GL_NICEST); // Выбирается самый качественный
// режим сглаживания для линий
glEnable(GL_BLEND); // Включается смешение цветов, необходимое
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); // для работы сглаживания и задается
// способ смешения
>
GLvoid Engine::Draw(GLvoid)
<
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); // Очищается буфер кадра и буфер глубины
glPushMatrix(); // Запоминается матрица модели
glColor3f(1.0f, 1.0f, 1.0f ); // Задается текущий цвет примитивов
glutWireCube( 2.0f ); // Рисуется проволочный куб со стороной 2
glPopMatrix(); // Восстанавливается матрица модели
>
Подробные комментарии помогут вам разобраться в данном модуле, но все функции, так или иначе, будут рассмотрены подробнее в последующих статьях.
Итак, шаблон создан. Последующие статьи будут базироваться на нём. Когда нам потребуется реагировать на действия пользователя, ввод с использованием библиотеки GLUT будет рассмотрен в отдельной статье.
Подключение OpenGL к библиотеке Visual Studio 2019
Хочу попробовать написать фрактал на с++, т.к. в визуал студио нет библиотек OpenGL, (я хотел бы работать именно в VS), её нужно интегрировать самому. Пытался это сделать, но так и не получилось. Может кто-то знает как нормально её добавить?
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:
Подключение Qt в Visual Studio 2019
Пытаюсь подключить Qt в Visual Studio. Скачал Qt, установил Qt Tools для VS, указал путь к хедерам.
Подключение библиотеки Visual Studio 2019
Здравстуйте. Я новичок, не могу разобраться. Скачал библиотеку BearLibTerminal. Имею файлы.
Подключение SQLite к с++ Visual Studio 2019
Здраствуйте, я скачал, распаковал, переместил файлы в папку C:/sqlite и 64 битную версию.
Visual Studio 2019, подключение библиотек
Добрый день! Я начинающий программист, учу c++, заинтересовался библиотекой sfml, но ни как не.
6383 / 3991 / 1590
Регистрация: 09.05.2015
Сообщений: 9,358
Сообщение от Incognito0202 
т.к. в визуал студио нет библиотек OpenGL
Ну как это нет? Что такое C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\gl\GL.h тогда?
1282 / 523 / 225
Регистрация: 15.07.2015
Сообщений: 2,562
Сообщение от Incognito0202 
(я хотел бы работать именно в VS)
почти с каждым ide идут header файл, и файл lib а dll находиться в папке system32 ну а как в других операционках то можно загуглить
Сообщение от Incognito0202 
Хочу попробовать написать фрактал на с++
тут есть поиск в теме Opengl много раз спрашивали, поищи скопируй код и собери его, все задание решено
Регистрация: 19.01.2021
Сообщений: 13
с opengl разобрался, все работает. Теперь вот Glut хочу добавить
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
Помогаю со студенческими работами здесь
Как отключить автоматическое подключение библиотек в Visual Studio 2019
На просторах интернета нашёл, что за это отвечает ReSharper, и что он находиться в.
Подключение SQL Server 2019 к Visual studio. Выдает ошибку. WPF Project
В чем проблема? не удается подключиться к базе. С заменой имени ПК пробовал тоже.
Подключение OpenGL к Visual Studio
Не могу второй день разобраться, перепробовал уже три гайда из гугла и один видео-гайд, пробовал.
Подключение OpenGL в Microsoft Visual Studio
Здравствуйте, хочу написать простую игру на с++ с использованием графической библиотеки OpenGL. Но.
Подключение OpenGL к проекту на С++ (Visual Studio)
Доброго времени суток! Никак не могу понять, как подключать библиотеку OpenGL к своему проекту.
Подключение OpenGL GLUT к Visual Studio 2013
начал изучать OpenGL, скачал библиотеки, но библиотека GLUT не работает, пробовал разные способы из.
