Inicializar OpenGL en C++
Pre-requisito:
LIBRERIAS
Si usted está usando el sistema operativo de Microsoft, debe colocar primero la libreria#include<windows.h>
En caso de Linux no se debe colocar esa libreria.
Luego la libreria del opengl (glut)
#include<GL/glut.h>
(recordar que la libreria windows.h debe ir antes del glut)
FUNCIÓN MAIN
ahora en el método main debemos iniciar el glut:glutInit(&argc,argv);
El modo de la pantalla a usar estará en rgb
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
Le daremos un tamaño a la pantalla
glutInitWindowSize(760,600);
y en que posición de la pantalla iniciará
glutInitWindowPosition(300,100);
Ahora creamos la ventana y le escribimos como parámetro el título
glutCreateWindow("OpenGL");
El fondo que le asignaré será blanco rgb(1.0,1.0,1.0)
glClearColor(1.0,1.0,1.0,0.0);
Creamos la proyección sobre la pantalla
glMatrixMode(GL_PROJECTION);
tendrá de izquiera a derecha 80 píxeles, de abajo a arriba igual (van desde -40 hasta 40)
gluOrtho2D(-40,40,-40,40);
enviamos que función pintará (contendrá todos los elementos que deseamos que estén dibuajdos en la proyección)
glutDisplayFunc(draw);
Función que mantendrá un bucle de redibujado más información
glutMainLoop();
FUNCIÓN DRAW
De tipo void que no recibe parametros.void draw(void)
Limpiar el buffer de colores
glClear(GL_COLOR_BUFFER_BIT);
*Ahora todas las funciones a pintar
Función que pintará todo en la proyección
glFlush();
IMPLEMENTACIÓN (Windows)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/*Libreria usada solo en Windows - debe ir antes que la libreria GL/glut.h */ | |
#include<windows.h> | |
/*Libreria del OpenGL*/ | |
#include<GL/glut.h> | |
void draw(void) | |
{ | |
glClear(GL_COLOR_BUFFER_BIT); | |
/*todo lo que se quiera pintar*/ | |
glFlush(); | |
} | |
int main(int argc, char**argv) | |
{ | |
glutInit(&argc,argv); | |
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB); | |
glutInitWindowSize(760,600); | |
glutInitWindowPosition(300,100); | |
glutCreateWindow("OpenGL"); | |
glClearColor(1.0,1.0,1.0,0.0); | |
glMatrixMode(GL_PROJECTION); | |
gluOrtho2D(-40,40,-40,40); | |
glutDisplayFunc(draw); | |
glutMainLoop(); | |
} |
Enlaces Relacionados:
Computación Gráfica
Clases
Comentarios
Publicar un comentario