Está en la página 1de 5

Tutorial OpenGL para Visual C++ 2010 express

Visual C++
Para descargar Visual C++ 2010 express nosotros podemos ir a la siguiente
página: Visual C++ 2010 Express (la descarga es gratuita).

Una vez instalado nosotros necesitamos de ciertos archivos para poder crear
nuestros programas con OpenGL como son GLUT y GLEW.

GLUT y GLEW

Windows ya tiene en el sistema OpenGL y VisualStudio viene con las librerías de


OpenGL pero ninguno de ellos viene con GLUT que es una librería que nos facilita
la creación de nuestros programas en OpenGL y GLEW que son los archivos binarios
de windows.

Nosotros podemos conseguir la más nueva versión de GLUT aquí GLUT 3.7.6 y la
última versión de GLEW aquí GLEW.

Instalación de GLUT y GLEW

Después de descargar GLUT y GLEW nosotros deberemos de colocar los archivos


siguientes en las direcciones dadas abajo:

Para 32-Bit OS
glut32.dll -> C:\Windows\SYSTEM (No confundir con system32)
glew32.dll -> C:\Windows\SYSTEM (No confundir con system32)
glut32.lib -> C:\Program Files\Microsoft Visual Studio10.0\VC\lib
glew32.lib -> C:\Program Files\Microsoft Visual Studio10.0\VC\lib
glew32s.lib -> C:\Program Files\Microsoft Visual Studio10.0\VC\lib
glut.h -> C:\Program Files\Microsoft Visual Studio10.0\VC\include\gl
glew.h -> C:\Program Files\Microsoft Visual Studio10.0\VC\include\gl
wglew.h -> C:\Program Files\Microsoft Visual Studio10.0\VC\include\gl
(si la carpeta gl no existe tenemos que crearla)

Para 64-Bit OS
glut32.dll -> C:\Windows\SYSTEM (No confundir con system32)
glew32.dll -> C:\Windows\SYSTEM (No confundir con system32)
glut32.lib -> C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\lib
glew32.lib -> C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\lib
glew32s.lib -> C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\lib
glut.h -> C:\Program Files (x86)\Microsoft Visual Studio10.0\VC\include\gl
glew.h -> C:\Program Files (x86)\Microsoft Visual Studio10.0\VC\include\gl
wglew.h -> C:\Program Files (x86)\Microsoft Visual Studio10.0\VC\include\gl
(si la carpeta gl no existe tenemos que crearla)
Creando un proyecto de Visual C++ 2010

Aquí nosotros veremos los pasos para crear un proyecto nuevo y dentro escribir
nuestro código Open GL:

Crear Nuevo proyecto (File --->  New --->  --->Project)

Tipo de proyecto: Win32 Console Aplication Visual C++


Nombre del proyecto: Prog1OGL

Ahora nos saldrá el asistente para crear la aplicacion


Presionamos en: Next. Después en los ajustes seleccionamos: Console application
y Empty Project. Y Finalmente presionamos en: Finish.
Una vez Creado el proyecto necesitamos de un archivo donde escribir el codigo
Crear Nuevo Archivo (Project ---> Add New Item)

Seleccionamos en: C++ File (.cpp) Visual C++


Nombre de la clase: Inicio

Y finalmente ya tenemos donde comenzar a escribir nuestro código OpenGL.


Primer ejemplo de código Open GL

Como primer código crearemos una simple ventana dibujando dentro un triangulo 2D
en OpenGL
Primero al principio de nuestro código nosotros debemos de incluir la cabecera
glu.h pues esta es la que contiene los métodos OpenGL

//código 1 OpenGl

#include <GL/glut.h>

//Ahora definiremos los métodos que usaremos en nuestro código


void init(); //init inicializa todos los ajustes de graficos q tenga nuestra ventana
void display();//display es el método que estará mostrando nuestros gráficos
void reshape(int w,int h);//reshape es el método que adaptara los cambios de
tamaño en la ventana
//El main() es el método principal de nuestro código
int main(){
/* glutInitDisplayMode()inicializa el modo de inicio de la pantalla:
GLUT_DOUBLE es un sistema para que el cálculo de cada nuevo fotograma no
lleve un tiempo suficiente para provocar un molesto parpadea de la
ventana, así, mientras uno se muestra, en el otro se hacen los cálculos.
Para agregar mas opciones se usa el carácter “|”,
GLUT_RGB define los colores que se usaran (red,green,blue)*/
glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB);

/* glutInitWindowPosition()sirve para posicionar nuestra ventana en un


lugar en nuestra pantalla*/
glutInitWindowPosition(100,100);

/* glutInitWindowSize()sirve para fijar el tamaño de nuestra ventana*/


glutInitWindowSize(500, 500);

/* glutCreateWindow()crea la ventana con las propiedades especificadas


anteriormente le podemos pasar de parámetro un texto que sirve para dar
el nombre nuestra ventana*/
glutCreateWindow("Example Kyoo");

init();

/* glutReshapeFunc()sirve para asignar el método que GLUT ejecutara


cuando se redimensione la ventana*/
glutReshapeFunc(reshape);

/* glutDisplayFunc()sirve para asignar el método que GLUT ejecutara cada


vez que haya que redibujar la ventana*/
glutDisplayFunc(display);

glutIdleFunc(display);

/* glutMainLoop()Esta función provocará que todas las funciones GLUT que


controlan funciones, se repitan cuando sea necesario, es decir, es un
bucle inteligente, en otras palabras, es darle a GLUT el control sobre el
programa*/
glutMainLoop();

return 0;

void init(){
/* selecciona el color de fondo*/
glClearColor (0.0, 0.0, 1.0, 0.0);

}
void reshape(int w, int h){
glMatrixMode(GL_PROJECTION);
glLoadIdentity(); // resetear la matriz de proyeccion
glViewport(0,0,w,h); // posicionar y asignar tamaño de nuestro viewport

// asignar nuestro viewvolume


gluPerspective(45.0f,w/h,0.1f,100.0f);

glMatrixMode(GL_MODELVIEW);//cambiar a la matriz de modelo


}
void display(){
glClear(GL_COLOR_BUFFER_BIT| GL_DEPTH_BUFFER_BIT); //limpiar el buffer de
color y profundidad

glLoadIdentity(); //resetear la matriz de modelo

glTranslatef(0.0f,0.0f,-6.0f); //mueve los graficos que se dibujaran

glColor3f(1.0f,0.0f,0.0f); //selecciona color a usar para los graficos

glBegin(GL_QUADS); // Dibujar usando Triangulos


glVertex3f( -1.0f, 1.0f, -1.5f);// Punto de arriba e izquierda
glVertex3f(-1.0f,-1.0f, -1.5f);// Punto de abajo e izquierda
glVertex3f( 1.0f,-1.0f, -1.5f);// Punto de abajo y derecha
glVertex3f( 1.0f,1.0f, -1.5f);// Punto de arriba y derecha
glEnd() //fin del dibujo usando triangulos

glColor3f(1.0f,1.0f,0.0f); //seleccionar color a usar para los graficos

glBegin(GL_TRIANGLES); // Dibujar usando Triangulos


glVertex3f( 0.0f, 1.0f, 0.0f);// Punto de Arriba
glVertex3f(-1.0f,-1.0f, 0.0f);// Punto de abajo e izquierda
glVertex3f( 1.0f,-1.0f, 0.0f);// Punto de abajo y derecha
glEnd(); //fin del dibujo usando triangulos

glutSwapBuffers(); //doble buffer para evitar parpadeo


}

También podría gustarte