Как установить glut на visual studio 2019
The Visual Studio version for this tutorial will be the 2017 (seems to work with the 2015 and 2019 as well).
The glew version will be the 2.2.0.
The freeglut version will be the 3.0.0.
The glew library stands for GL Extension Wrangler.
At the end of this OpenGL tutorial you will be able to display a window with a white square displayed on a black background.
First of all
We are going to use the 32-bit or the 64-bit version.
You have the choice, and it will be specified in the tutorial.
Notice that the version is only based on which platform you want to compile for.
If you plan to create a program to be executed on a 32-bit platform, so use the 32-bit version.
Every platform accept 32-version, so the 64-bit version is only for specific purpose only.
And so the 32-bit version will work on every Windows system.
You'll need glew headers that could be find on the sourceforge website of the OpenGL Extension Wrangler Library:
freeglut
You'll also need the freeglut version for Microsoft Visual Studio:
Click the link inside the part freeglut 3.0.0 MSVC Package.
The name of the file you have to download is: freeglut-MSVC-3.0.0-2.mp.zip.
Once you have downloaded it, there is a folder named freeglut inside.
Extract it and rename it to freeglut-3.0.0 in order to have exactly the same name used in this tutorial.
Paths and directories for this setup
The general directory for our setup will be:
Visual Studio
Open it and create an empty project > File > New > Project > Templates > Visual C++ > Empty Project.
- Name: Shapes2D
- Location: C:\dev\visual-studio-c++\
- Solution: Create a new solution
- Solution name: BadprogTutorial
Your Shapes2D project has been created into your BadprogTutorial solution.
Let's add a main.cpp > Right click your project > Add > New Item > Visual C++ > C++ File > write the name main.cpp > Add.
Setting all configurations
Right click your Shapes2D project > Properties > On the top left there is a drop down menu > Configuration > Select All Configurations (instead of Debug)
Including header files (includes)
Right click your Shapes2D project > Properties > Configuration Properties > C/C++ > General > Additional Include Directories > Click it.
On the right there is a drop down menu, click .
A new window has appeared: Additional Include Directories.
Click the New Line icon > Click the browse button > Then select the two following folders:
- C:\dev\lib\glew-2.0.0\include
- C:\dev\lib\freeglut-3.0.0\include
Click OK > Apply
Including libraries
Library folders
Right click your Shapes2D project > Properties > Configuration Properties > Linker > General > Additional Library Directories > Click it.
On the right there is a drop down menu, click .
A new window has appeared: Additional Library Directories.
Click the New Line icon > Click the browse button > Then select the two following folders:
For the 64-bit version
- C:\dev\lib\glew-2.0.0\lib\Release\x64
- C:\dev\lib\freeglut-3.0.0\lib\x64
For the 32-bit version
- C:\dev\lib\glew-2.0.0\lib\Release\Win32
- C:\dev\lib\freeglut-3.0.0\lib
Click OK > Apply
Library files
Right click your Shapes2D project > Properties > Configuration Properties > Linker > Input > Additional Dependencies > Click it.
On the right there is a drop down menu, click .
A new window has appeared: Additional Dependencies.
Click the white area and write:
- freeglut.lib (click enter to go the next line)
- glew32.lib
Click OK > Apply > OK.
Your Visual Studio IDE is now ready to play with OpenGL!
Testing the setup
To test the setup, let's code the most basic code HelloWorld! that you can write with OpenGL.
On the Visual Studio's top menu there is a dropdown menu with x86 selected.
Click the black tiny triangle on the right of the x86 and select Configuration Manager.
A new window has appeared: Configuration Manager.
On the right select x86 in the dropdown menu and click New.
A new window has appeared: New Solution Platform.
On the right click the the Active solution platform dropdown menu and select:
- Type or select the new platform: x64
- Copy settings from: x86 (or Empty)
You could now close the Configuration Manager and as you can see the platform is now specified as x64.
And you could easily click either x86 or x64 (depending of your libraries version).
freeglut.dll and glew32.dll
Before building it, let's copy (not move!) the .dll of these two libraries:
For the 64-bit version
- C:\dev\lib\glew-2.0.0\bin\Release\x64\glew32.dll (yes this is the right one)
- and
- C:\dev\lib\freeglut-3.0.0\bin\x64\freeglut.dll
To the following directory:
- C:\dev\visual-studio-c++\BadprogTutorial\x64\Debug
Or if it doesn't work in: - C:\dev\visual-studio-c++\BadprogTutorial
For the 32-bit version
- C:\dev\lib\glew-2.0.0\bin\Release\Win32\glew32.dll
- and
- C:\dev\lib\freeglut-3.0.0\bin\freeglut.dll
To the following directory:
- C:\dev\visual-studio-c++\BadprogTutorial\Debug
Or if it doesn't work in: - C:\dev\visual-studio-c++\BadprogTutorial
For both versions (x86 and x64) and to avoid having copy/paste .DLL
If you don't want to copy/paste your freeglut.dll and glew32.dll from the library directory to your project directory then you have to set their paths directly in your Environment variables.
If you don't know where to find your Environment variables, open your Windows settings and search for Environment variables.
A system properties window should appear > Advanced tab > Environment variables > In the System variables click New. > Enter, for example for the x64 Freeglut version, the following:
- Variables name: FREEGLUT_LIB
- Variable value: C:\dev\lib\freeglut-3.0.0\bin\x64\
And for the x64 Glew32 version the following:
- Variables name: GLEW32_LIB
- Variable value: C:\dev\lib\glew-2.0.0\bin\Release\x64\
Then click OK > OK.
Do the same for the x86 version except the paths that must, of course, correspond to your x86 versions.
Then close your Visual Studio IDE (yes close it if it still open) in order to get the last Environment variables set.
And you are done, this time you won't have to copy/paste your .DLL because Windows is now able to find them automatically.
Open Visual Studio again to build and compile your first OpenGL application.
Building the project
On the Visual Studio's top menu, select either x86 or x64 and build the project.
If there is no error, right click the Shapes2D project > Debug > Start new instance.
If all is OK, you should see a black window with a white square.
Possible Errors
If you had some errors like these ones, it's because you try to play with a different version from the one specified in the setup configuration.
For example if you have set up the configuration with the 64-bit version, you have to build it with the x64 configuration.
Same thing for the 32-bit version, set up with the 32-bit library version and build it as a x86 configuration.
So double check the paths you've just entered in the setup configuration.
Here the errors:
Conclusion
Now that your Visual Studio has been set up, you could start creating OpenGL applications.
2. Из полученного архива glutNNN.zip (NNN – номер версии) извлечь все файлы. В результате получим:
- glut.dll
- glut32.dll
- glut.h
- glut.lib
- glut32.lib
3. Скопировать glut.dll и glut32.dll в системную папку Winodws: (папка может называться по-разному, в зависимости от установленной у вас версии Windows).
Важно! В 64-разрядной системе (например, Windows 7) поместите 32-разрядные .dll в папку C:/Windows/SysWOW64 , в которой хранятся 32-разрядные динамические библиотеки. Папка System32 , напротив, предназначена для хранения 64-разрядных .dll , из-за чего иногда возникает путаница.
4. Скопировать glut.h в папку \include\GL ( – папку, в которую установлен VC++).
5. Скопировать glut.lib и glut32.lib в папку \lib.
Настройка проекта Visual Studio
- Запустить VS и создать новый проект типа "Консольное приложение Win32".
- Указать в дополнительных параметрах проекта "Пустой проект".
- В свойствах проекта (меню "Проект/Свойства") выберите вкладку "Компоновщик" и далее "Ввод".
- В поле "Дополнительные зависимости" (Linker -> Input -> Additional Dependencies) добавьте: opengl32.lib glut32.lib glu32.lib
В исходном файле
freeglut
Вместо GLUT можно использовать более современный и свободно распространяемый freeglut.
Комментарии
Дмитрий Храмов
Компьютерное моделирование и все, что с ним связано: сбор данных, их анализ, разработка математических моделей, софт для моделирования, визуализации и оформления публикаций. Ну и за жизнь немного.
Как заставить GLUT работать в Visual Studio 2019?
Всего 1 ответ
Как заставить GLUT работать в Visual Studio 2019?
Я думаю, что вы можете попробовать эти шаги:
1) Загрузите файлы заголовков GLUT, lib и dll по этой ссылке .
2) Вставьте glut.h по ссылке в C:Program Files (x86)Microsoft Visual Studio2019(Community/Enterprise/Professional)VCToolsMSVCincludeGL .
Обратите внимание, что создайте папку GL, если ее еще нет.
3) Вставьте glut.lib в C:Program Files (x86)Microsoft Visual Studio2019(Community/Enterprise/Professional)VCToolsMSVClibx64 .
Вставьте glut32.lib в C:Program Files (x86)Microsoft Visual Studio2019(Community/Enterprise/Professional)VCToolsMSVClibx86 .
4) Вставьте glut.dll и glut32.dll в C:WindowsSysWOW64 .
Скопируйте glut32.dll в C:WindowsSystem32 также.
5) откройте приложение c ++ или создайте новое консольное приложение c ++.
6) Щелкните правой кнопкой мыши по проекту -> Properties -> Configuration Properties -> C/C++ -> Precompiled headers и измените значение параметра Precompiled Header на Not Using Precompiled Headers .
После этого выберите « Configuration Properties -> « Linker -> « Input . Теперь щелкните правой кнопкой мыши на Additional Dependencies найденные на правой панели, и нажмите Edit . Введите это в это:
Примечание : каждый .lib в новой строке
7) Затем вы можете запустить вашу программу.
Кроме того , вы также можете обратиться к пункту один , два, чтобы проверить, поможет ли он вам.
Как установить glut на visual studio 2019
1. Откройте программу установки Visual Studio, чтобы изменить:
2. Нажмите, чтобы изменить:
3. Проверьте настольную разработку на C ++:
4. Проверьте диспетчер пакетов NuGet:
Во-вторых, настройте OpenGL
После загрузки и распаковки сжатого пакета есть следующие файлы:
Просто поместите файл в соответствующую папку:
①Поместите glut.h в C: \ Program Files (x86) \ Microsoft Visual Studio \ community \ VC \ Tools \ MSVC \ 14.24.28314 \ include \ gl
②Поместите glut.lib и glut32.lib в . \ Microsoft VisualStudio \ community \ VC \ Tools \ MSVC \ 14.24.28314 \ lib \ x86
③ Поместите glut.dll и glut32.dll в C: \ Windows \ SysWOW64
Примечание:
① Если папки gl нет, создайте новую
②Windows 64-битная, просто выполните описанную выше операцию, если она 32-битная, поместите glut.dll и glut32.dll в C: \ Windows \ System32
3. Новый проект OpenGL
1. Откройте Visual Studio2019 и выберите создание нового проекта:
2. Выберите Мастер рабочего стола Windows:
3. Проверьте пустой проект:
4. Выберите «Инструменты-NuGet Package Management-NuGet Packages for Management Solutions» и найдите «nupengl» в браузере.
5. Должны быть установлены и nupengl.core, и nupengl.core.redist:
Он был успешно настроен, и затем вы можете создать новый файл .cpp для тестирования кода в только что созданном проекте.
Подключение OpenGL к библиотеке Visual Studio 2019
Подключение 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, но ни как не.
Как отключить автоматическое подключение библиотек в 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 не работает, пробовал разные способы из.
1. First download the OpenGL library file
2. Place the file classification to the specified folder
Find a directory \ Microsoft Visual
Studio\2019\Community\VC\Tools\MSVC\14.24.28314\include\GL。
Put glut.h in it.Include directory generally does not have a GL folder, requiring new one. The author’s VS is installed under the C: \ Program Files (x86) directory, and the following figure takes this as an example.
14.24.28314 Version number will vary from version
Find a directory \ Microsoft Visual
Studio\2019\Community\VC\Tools\MSVC\14.24.28314\lib\x86
Put glut.lib, glut32.lib inside.
- The method is the same, the reference directory is shown
Find the directory C: \ windows \ syswow64 put glut.dll and glut32.dll inside.
If it is a 32-bit system, put two folders into the C: \ Windows \ System32 directory
3. Create a console application
- Delete the original content in the .cpp file, copy the test code below to the file
- Open Project> Manage NuGet Package
Search Nupengl in the left browsing section, two, install them (these two should be the same, install one, the other is also installed)
Библиотека OpenGL предоставляет интерфейс для работы с видеокартой, но в ней нет инструментов для создания графических окон и обработки событий (нажатий клавиш, движений мыши и пр.). Поэтому вместе с OpenGL мы будем использовать библиотеку GLUT (The OpenGL Utility Toolkit), содержащую необходимый минимум средств для создания графических приложений.
Создание окна приложения
Простейшее приложение, создающее окно с помощью GLUT, имеет вид:
Разберем его. В строке
происходит инициализация GLUT и обрабатываются предназначенные для нее аргументы командной строки. После вызова этой функции, те из аргументов, которые касались библиотеки GLUT, будут удалены из массива argv .
Здесь указываются характеристики окна приложения, а также некоторые параметры OpenGL. Для окна указывается размер и позиция левого верхнего угла. GLUT_DOUBLE означает, что будет использоваться двойная буферизация; GLUT_RGB — что будет использоваться цветовая модель RGB.
создается окно с заданными ранее характеристиками и заголовком "Window's Title".
указывает на место в коде, куда в дальнейшем будут помещаться функции-обработчики событий.
— запуск основного цикла работы приложения, построенного на базе GLUT.
Результатом выполнения программы будет окно с заданным заголовком.
В окне отображается содержимое области экрана, в которой оно появилось (левый верхний угол). Это произошло потому что не было выполнено каких-либо команд рисования, в частности, рисования фона окна заданным цветом.
Рисование в окне
Следующая программа рисует окно зеленого цвета.
В ней появился обработчик события — функция display() , отвечающая за рисование
задает цвет фона окна.
Цвет задается вещественным числом в диапазоне от 0.0 до 1.0, то есть может быть практически любым.
Теперь у нас указан цвет фона и функция display() , которая будет его рисовать. В display() строка
очищает буфер кадра указанным в glClearColor() цветом.
выводит содержимое окна на экран, точнее — меняет местами содержимое заднего и переднего буферов.
Двойная буферизация, заданная параметром GLUT_DOUBLE в glutInitDisplayMode() , используется затем, чтобы избежать мерцания картинки. При этом содержимое одного из буферов (переднего) отображается на экране, в то время как изображение строится в другом (заднем) буфере. После того, как изображение будет построено, буферы меняются местами (swap buffers) и на экране отображается готовый рисунок.
Остается нарисовать что-нибудь в окне. Для этого в display() вместо комментария напишем
В результате получим
Изменение размеров окна
Наша программа имеет две очевидные проблемы: сфера вовсе не сфера, а эллипсоид; она изменяется с изменением размеров окна.
Изменение размеров — это событие, которое происходит с окном, как минимум, один раз — при создании окна. Для этого события нужно написать обработчик и указать его программе.
В нашем случае обработчиком служит функция reshape() . Она принимает два параметра — новую ширину и новую высоту окна:
Разберем код этой функции.
задает область просмотра в виде прямоугольника с диагонально противоположными вершинами (x1;y1) и (x2;y2) или, в нашем случае, (0;0) и (width;height) .
Отображение трехмерной сцены на плоскость (проектирование) выполняется с помощью матрицы проекций и ряда функций. Задаем единичную матрицу проекций
задает вид проекции и его характеристики. Существуют два вида проекции: ортогональная и перспективная. В ортогональной лучи идут параллельно, в перспективной — сходятся в некой точке. Мы будем использовать перспективную проекцию, как более удобную.
Функция gluPerspective() имеет формат:
Ее параметры — угол обзора ( fovy ), коэффициент отношения ширины к высоте ( w/h ), а также ближняя ( zNear ) и дальняя ( zFar ) плоскости отсечения изображения. Наблюдателю будет видна сцена, находящаяся в промежутке от zNear до zFar , спроектированная на плоскость zNear .
Функция gluLookAt() задает откуда и куда смотрит камера (или наблюдатель) и имеет следующий формат.
- (eye_x, eye_y, eye_z) — координаты точки, откуда направлена камера (точки зрения);
- (center_x, center_y, center_z) — координаты точки наблюдения;
- (up_x, up_y, up_z) — координаты вектора, задающего направление на верх камеры. По умолчанию камера расположена в начале координат и направлена в сторону отрицательных значений оси z ; вверх направлена ось y .
В нашей программе gluLookAt() необходима, поскольку сфера строится в начале координат, а плоскость проекции задается как z = 1 . В результате, при использовании точки наблюдения, заданной по умолчанию, камера оказалась бы "за спиной" плоскости проекции и мы бы ничего не увидели. Поэтому, перенесем точку наблюдения в (0, 0, 1) :
Устанавливаем единичную матрицу модели:
Матрица модели служит для преобразования объектов в трехмерном пространстве — переноса, поворота и т. п. В нашем случае объект никаким преобразованиям не подвергается.
Теперь соберем все вместе
Обработка событий мыши и клавиатуры
Сделаем так, чтобы окно приложения закрывалось при нажатии клавиши Esc. Для этого укажем обработчик событий, связанных с клавиатурой
и код обработчика
Аналогично, с помощью функций glutMouseFunc() и glutMotionFunc() , обрабатываются нажатия кнопок и перемещения мыши.
Анимация
Заставим изображаемый объект вращаться. Для этого нам понадобится новый примитив
(поскольку на сфере вращения не будет видно), и новый обработчик
Функция idle() будет вызываться во время простоя (когда не наступает других событий, обрабатываемых GLUT) и перерисовывать содержимое окна. Она имеет вид:
Вместо того, чтобы вращать объект, мы вращаем камеру и заставляем GLUT перерисовывать содержимое окна, вызывая glutPostRedisplay() .
Данные передаются между функциями при помощи глобальных переменных move , cameraRotationAngleX , cameraRotationAngleZ .
Функцию gluLookAt() пришлось переместить внутрь display() , т.к. положение камеры меняется при каждой перерисовке.
OpenGL: Win10 Platform Visual Studio 2019 Настройка GLFW, GLEW и GLM
Прежде всего, чтобы облегчить все, я уже передал упакованные включения и библиотеку Lib в сетевой диск Baidu. Если ваша среда одинакова, вы можете загрузить его непосредственно в свой проект, а затем вы можете завершить конфигурацию проекта! После загрузки следующего установочного пакета заполните следующие шаги «Создать проект», пропустить «Загрузить зависимость» и напрямую «Настроить проект»
GLEW (OpenGL Extension Wrangler)
- Cross platform
- Open source
- C/C++ extension loading library
GLM (OpenGL Mathematics)
- A header only C++ mathematics library for graphics software based on the OpenGL Shading Language (GLSL) specifications
- Open source
- Multi platform
- Provides a simple API for creating windows, contexts and surface, receiving input and events.
- Similar to GLUT/FreeGLUT
Это основано на платформе Windows10, используя Visual Studio 2019.
Выберите пустой проект, чтобы создать C ++
Здесь я размещаю на рабочем столе, предмет именования OpenGLTest
Под корневым каталогом проекта вы только что создали (т.е. OpenGLTest.sln В каталоге) вручную создайте две папки, названные include с участием lib
[Загрузка изображений не удалось . (Image-1A8A75-157923891622)]]]
Вот для удобства, я загрузил компиляционный файл напрямую, и я могу напрямую ссылаться на него.Пожалуйста, обратитесь к другим учебным пособиям, если вам нужно скачать исходный код самостоятельно, чтобы собрать инструменты компиляции, такие как Cmake.
Найдите соответствующую платформу, я выбираю Windows, перейдите в Windows Предварительно скомпилированные двоичные файлы, загрузка соответствующей версии, 64-битная версия скачана
После загрузки, распаковать запись, вы можете увидеть следующий файл, где include Это публично, а остальное основано на вашем собственном компиляторе. Я выбрал. lib-vc2019
Энтроп include Папка, см. Один GLFW папка
Скопируйте папку GLFW напрямую на вновь созданный проект include Под папкой
включать GLFW Папка, подтверждение - это следующие два файла
Вернитесь к папке, только что загруженной, найдите соответствующую папку lib, то есть просто lib-vc2019, скопируйте два файла lib внутри к вновь созданной папке lib вновь созданного проекта:
Найти двоичные файлы под загрузками на главной странице, скачать
После загрузки распаковать следующий каталог, нам нужно только обратить внимание include с участием lib Два папки:
Первым открытым include , Нашел GL Папка, также скопируйте в проект include оглавление
Затем обратно lib папка, Release Далее вы можете найти две версии, я выбираю x64 Два .lib файл:
Скопируйте непосредственно в папку lib под проектом:
Откройте домашнюю страницу, найдите загрузки слева, введите ее страницу GitHub
Найдите необходимую версию, здесь выбирает последнюю версию 0.9.9.7, выберите Загрузки
Выберите загрузку в первых двух сжатых файлах (не загружайте исходный код после загрузки), первые два просто сжатый метод, любой может, я выбрал версию сжатия zip
После загрузки, декомпрессия, получите следующий каталог, мы только заботимся об этом glm папка
Открыть это glm Папка получается этими файлами, этот шаг должен подтвердить:
После подтверждения, вернитесь к предыдущему слою, просто открою glm Каталог копии прямо в проект include Под папкой
УдивительноЯ построил папку OpenGLEnvironment Два папками, которые просто сделают хорошую работу в рамках проекта ( include с участием lib ) Скопируйте копию, не нужно настроить ее в будущем.
Откройте проект, щелкните правой кнопкой мыши каталог проекта, откройте свойство
Найдите каталог VC ++, следуйте следующим операциям.
Конфигурация содержит каталог
Выберите предмет здесь include оглавление
Настройка каталога библиотеки
Затем настройте каталог библиотеки:
Выберите предмет здесь lib папка
Добавить линкер
На вкладку ENTER под линкером выберите дополнительные зависимости:
Здесь вам нужен ручной ввод, будет только под проектом lib Имя файла четырех файлов в папке копируется, одна строка, чтобы облегчить четыре строки, скопируйте его в следующий раз
Новый cpp Файл, введите следующий код, если нет ошибок, это
Наконец, чтобы облегчить все, я пропустил упакованные включения и библиотеку Lib в сетевой диск Baidu. Если ваша среда одинакова, вы можете загрузить ее напрямую и перевести его в свой проект. Вы можете завершить конфигурацию проекта!
Читайте также: