¿Cómo configurar OpenGL con Visual Studio 2019 en Windows 10?

OpenGL es una API de gráficos 2D y 3D que proporciona una interfaz de programación de aplicaciones multiplataforma para una amplia variedad de plataformas informáticas. Es independiente del sistema operativo y tiene una red transparente. Los desarrolladores de aplicaciones lo utilizan para desarrollar aplicaciones de software de gráficos visualmente atractivas y de alto rendimiento.

requisitos previos :

Instalación:

Ahora pasemos a la configuración de OpenGL. Para hacerlo, siga los siguientes pasos:

Paso 1: Primero tenemos que descargar Visual Studio 2019 para Windows 10. 

Paso 2: ahora hemos instalado Visual Studio2019 desde el archivo .exe descargado con el instalador de Windows.

Seleccione la comunidad de Visual Stdio 2019 y haga clic en Modificar, ahora seleccione los componentes necesarios como se muestra en la imagen a continuación y haga clic en instalar durante la descarga :

Tomará algún tiempo después de que se complete, reinicie la computadora después de que se lleve a cabo la instalación.

Paso 3:

  • Ahora descargue el archivo de encabezado GLUT, los archivos .LIB y .DLL, todos precompilados para plataformas Intel, simplemente puede descargar el archivo glutdlls37beta.zip del sitio web .
  • El archivo dentro de la carpeta se ve así:

Paso 4: Después de esto, tenemos que copiar el archivo como se indica a continuación:

  • Primero, pegue el archivo glut.h en:
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\VS\include\gl
  • Luego pegue glut.lib en:
 C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\VS\lib\x64
  • Luego pegue el glut32.lib en:
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\VS\lib\x86
  • Luego pegue glut.dll y glut32.dll en:
 C:\Windows\SysWOW64
  • Finalmente copie glut32.dll a:
C:\Windows\System32 

Echa un vistazo al siguiente vídeo para la instalación:

Aquí hay un código de muestra para ejecutar y verificar si funciona o no

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;
}

Producción:

Publicación traducida automáticamente

Artículo escrito por _sh_pallavi y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *