tutorial opengl para visual c parte1

6
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)

Upload: edward-elric

Post on 24-Jun-2015

1.526 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Tutorial OpenGL Para Visual C Parte1

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 OSglut32.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\libglew32.lib -> C:\Program Files\Microsoft Visual Studio10.0\VC\libglew32s.lib -> C:\Program Files\Microsoft Visual Studio10.0\VC\libglut.h -> C:\Program Files\Microsoft Visual Studio10.0\VC\include\glglew.h -> C:\Program Files\Microsoft Visual Studio10.0\VC\include\glwglew.h -> C:\Program Files\Microsoft Visual Studio10.0\VC\include\gl(si la carpeta gl no existe tenemos que crearla) Para 64-Bit OSglut32.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\libglew32.lib -> C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\libglew32s.lib -> C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\libglut.h -> C:\Program Files (x86)\Microsoft Visual Studio10.0\VC\include\glglew.h -> C:\Program Files (x86)\Microsoft Visual Studio10.0\VC\include\glwglew.h -> C:\Program Files (x86)\Microsoft Visual Studio10.0\VC\include\gl(si la carpeta gl no existe tenemos que crearla)

Page 2: Tutorial OpenGL Para Visual C Parte1

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 aplicacionPresionamos en: Next. Después en los ajustes seleccionamos: Console application y Empty Project. Y Finalmente presionamos en: Finish.

Page 3: Tutorial OpenGL Para Visual C Parte1

Una vez Creado el proyecto necesitamos de un archivo donde escribir el codigoCrear 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.

Page 4: Tutorial OpenGL Para Visual C Parte1

Primer ejemplo de código Open GL

Como primer código crearemos una simple ventana dibujando dentro un triangulo 2D en OpenGLPrimero 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ódigovoid init(); //init inicializa todos los ajustes de graficos q tenga nuestra ventanavoid display();//display es el método que estará mostrando nuestros gráficosvoid 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ódigoint 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);

Page 5: Tutorial OpenGL Para Visual C Parte1

/* 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 proyeccionglViewport(0,0,w,h); // posicionar y asignar tamaño de

nuestro viewport

// asignar nuestro viewvolumegluPerspective(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

Page 6: Tutorial OpenGL Para Visual C Parte1

glBegin(GL_QUADS); // Dibujar usando TriangulosglVertex3f( -1.0f, 1.0f, -1.5f);// Punto de arriba e izquierdaglVertex3f(-1.0f,-1.0f, -1.5f);// Punto de abajo e izquierdaglVertex3f( 1.0f,-1.0f, -1.5f);// Punto de abajo y derechaglVertex3f( 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 TriangulosglVertex3f( 0.0f, 1.0f, 0.0f);// Punto de ArribaglVertex3f(-1.0f,-1.0f, 0.0f);// Punto de abajo e izquierdaglVertex3f( 1.0f,-1.0f, 0.0f);// Punto de abajo y derecha

glEnd(); //fin del dibujo usando triangulos

glutSwapBuffers(); //doble buffer para evitar parpadeo

}