Как настроить OpenGL с Visual Studio 2019 в Windows 10?
OpenGL — это API 2D- и 3D-графики, который предоставляет кроссплатформенный интерфейс прикладного программирования для самых разных компьютерных платформ. Он не зависит от операционной системы и имеет прозрачную сеть. Разработчики приложений используют его для разработки высокопроизводительных и привлекательных графических приложений.
Предпосылки :
- Visual Studio 2019 (скачать)
Монтаж:
Теперь давайте перейдем к настройке OpenGL. Для этого выполните следующие действия:
Шаг 1: Сначала нам нужно загрузить Visual Studio 2019 для Windows 10.
Шаг 2: Теперь мы установили Visual Studio2019 из загруженного файла .exe с помощью установщика Windows.
Выберите сообщество Visual Stdio 2019 и нажмите «Изменить», теперь выберите необходимые компоненты, как показано на изображении ниже, и нажмите « Установить» во время загрузки :
После завершения установки потребуется некоторое время, после чего перезагрузите компьютер.
Шаг 3:
- Теперь загрузите заголовочный файл GLUT, файлы .LIB и .DLL, предварительно скомпилированные для платформ Intel, вы можете просто загрузить файл glutdlls37beta.zip с веб-сайта.
- Файл внутри папки выглядит так:
Шаг 4: После этого мы должны скопировать файл, как указано ниже:
- Сначала вставьте файл glut.h в:
C:Program Files (x86)Microsoft Visual Studio2019CommunityVCAuxiliaryVSincludegl
- Затем вставьте glut.lib в:
C:Program Files (x86)Microsoft Visual Studio2019CommunityVCAuxiliaryVSlibx64
- Затем вставьте glut32.lib в:
C:Program Files (x86)Microsoft Visual Studio2019CommunityVCAuxiliaryVSlibx86
- Затем вставьте glut.dll и glut32.dll в:
C:WindowsSysWOW64
- Наконец, скопируйте glut32.dll в:
C:WindowsSystem32
Посмотрите видео по установке ниже:
Вот один пример кода для запуска, чтобы проверить, работает он или нет.
C++
#include <GL/glut.h> #include<iostream> using namespace std; int rx = 100, ry = 125; int xCenter = 250, yCenter = 250; void myinit( void ) { glClearColor(1.0, 1.0, 1.0, 0.0); glMatrixMode(GL_PROJECTION); glLoadIdentity(); gluOrtho2D(0.0, 640.0, 0.0, 480.0); } void setPixel(GLint x, GLint y) { glBegin(GL_POINTS); glVertex2i(x, y); glEnd(); } void ellipseMidPoint() { float x = 0; float y = ry; float p1 = ry * ry - (rx * rx) * ry + (rx * rx) * (0.25); float dx = 2 * (ry * ry) * x; float dy = 2 * (rx * rx) * y; glColor3ub( rand () % 255, rand () % 255, rand () % 255); while (dx < dy) { setPixel(xCenter + x, yCenter + y); setPixel(xCenter - x, yCenter + y); setPixel(xCenter + x, yCenter - y); setPixel(xCenter - x, yCenter - y); if (p1 < 0) { x = x + 1; dx = 2 * (ry * ry) * x; p1 = p1 + dx + (ry * ry); } else { x = x + 1; y = y - 1; dx = 2 * (ry * ry) * x; dy = 2 * (rx * rx) * y; p1 = p1 + dx - dy + (ry * ry); } } glFlush(); float p2 = (ry * ry) * (x + 0.5) * (x + 0.5) + (rx * rx) * (y - 1) * (y - 1) - (rx * rx) * (ry * ry); glColor3ub( rand () % 255, rand () % 255, rand () % 255); while (y > 0) { setPixel(xCenter + x, yCenter + y); setPixel(xCenter - x, yCenter + y); setPixel(xCenter + x, yCenter - y); setPixel(xCenter - x, yCenter - y); if (p2 > 0) { x = x; y = y - 1; dy = 2 * (rx * rx) * y; p2 = p2 - dy + (rx * rx); } else { x = x + 1; y = y - 1; dy = dy - 2 * (rx * rx); dx = dx + 2 * (ry * ry); p2 = p2 + dx - dy + (rx * rx); } } glFlush(); } void display() { glClear(GL_COLOR_BUFFER_BIT); glColor3f(1.0, 0.0, 0.0); glPointSize(2.0); ellipseMidPoint(); glFlush(); } int main( int argc, char ** argv) { glutInit(&argc, argv); glutInitWindowSize(640, 480); glutInitWindowPosition(10, 10); glutCreateWindow( "User_Name" ); myinit(); glutDisplayFunc(display); glutMainLoop(); return 0; } |
Выход: