Crear un programa Opengl para mostrar tres polígonos en fila
Página 1 de 1.
Crear un programa Opengl para mostrar tres polígonos en fila
Hola a todos/as, estoy haciendo un ejercicio y tengo que colocar tres polígonos en fila para poder rotarlos, escalarlos y trasladarlos pero no se como puedo hacer para que se visualicen los tres polígonos en fila de izquierda a derecha.
Este el código que he generado:
Utilizo Visual Basic Express 2008 C++
#include <windows.h>
#include <GL/gl.h>
#include <GL/glu.h>
#include <GL/glut.h>
void redimensionar(int ancho, int alto)
{
glViewport (0,0, (GLint)ancho, (GLint)alto);
glMatrixMode(GL_PROJECTION);
gluPerspective(35,((float)ancho/alto), 0.1, 1000);
}
//---Formacion del Poligono----
void piramide1(void)
{
glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
gluLookAt(0,3,4,0,0,0,0,1,0);
glRotatef(45,0,0,1);
//Primera Piramide
glBegin(GL_TRIANGLES);
glColor3f(1.0, 0.0, 0.0);
glVertex3f(0, 0, 1);
glVertex3f(1, 0, 1);
glVertex3f(1, 1, 1);
glEnd();
}
void piramide2(void)
{
glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
gluLookAt(0,3,4,0,0,0,0,1,0);
glRotatef(50,0,0,1);
//Segunda Piramide
glBegin(GL_TRIANGLES);
glColor3f(0.0, 1.0, 0.0);
glVertex3f(1, 0, 0);
glVertex3f(0, 1, 0);
glVertex3f(0, 0, 0);
glEnd();
glutSwapBuffers();
}
//---Adignacion de las teclas----
void teclado(unsigned char key, int x, int y)
{
if(key==27) exit(0);
}
//---Tamaño de la pantalla de visualizacion----
void main(int argc, char** argv)
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DOUBLE|GLUT_RGB|GLUT_DEPTH);
glutInitWindowSize(640,320);
glutCreateWindow("Intro");
//Registrar las Funciones
glutKeyboardFunc(teclado);
glutDisplayFunc(piramide1);
glutDisplayFunc(piramide2);
glutReshapeFunc(redimensionar);
//Bucle de Eventos Principal
glutMainLoop();
}
He intentado hacer dos funciones glutDisplayFunc() pero solo logro que se visualice una no las dos.
Haber si me podeis ayudar. Muchas gracias de antemano.
Un saludo
Este el código que he generado:
Utilizo Visual Basic Express 2008 C++
#include <windows.h>
#include <GL/gl.h>
#include <GL/glu.h>
#include <GL/glut.h>
void redimensionar(int ancho, int alto)
{
glViewport (0,0, (GLint)ancho, (GLint)alto);
glMatrixMode(GL_PROJECTION);
gluPerspective(35,((float)ancho/alto), 0.1, 1000);
}
//---Formacion del Poligono----
void piramide1(void)
{
glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
gluLookAt(0,3,4,0,0,0,0,1,0);
glRotatef(45,0,0,1);
//Primera Piramide
glBegin(GL_TRIANGLES);
glColor3f(1.0, 0.0, 0.0);
glVertex3f(0, 0, 1);
glVertex3f(1, 0, 1);
glVertex3f(1, 1, 1);
glEnd();
}
void piramide2(void)
{
glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
gluLookAt(0,3,4,0,0,0,0,1,0);
glRotatef(50,0,0,1);
//Segunda Piramide
glBegin(GL_TRIANGLES);
glColor3f(0.0, 1.0, 0.0);
glVertex3f(1, 0, 0);
glVertex3f(0, 1, 0);
glVertex3f(0, 0, 0);
glEnd();
glutSwapBuffers();
}
//---Adignacion de las teclas----
void teclado(unsigned char key, int x, int y)
{
if(key==27) exit(0);
}
//---Tamaño de la pantalla de visualizacion----
void main(int argc, char** argv)
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DOUBLE|GLUT_RGB|GLUT_DEPTH);
glutInitWindowSize(640,320);
glutCreateWindow("Intro");
//Registrar las Funciones
glutKeyboardFunc(teclado);
glutDisplayFunc(piramide1);
glutDisplayFunc(piramide2);
glutReshapeFunc(redimensionar);
//Bucle de Eventos Principal
glutMainLoop();
}
He intentado hacer dos funciones glutDisplayFunc() pero solo logro que se visualice una no las dos.
Haber si me podeis ayudar. Muchas gracias de antemano.
Un saludo
xL3aMS1x- Cantidad de envíos : 2
Fecha de inscripción : 20/02/2014

» [Tutorial] III.8 - Polígonos, circunferencias, mapas de bits y cadenas de QUAD
» Ayuda con mi programa
» [Tutorial C] II.1 - Estructura de un programa
» [Tutorial C++] II.1 - Estructura del programa C++
» Opengl - Curvas
» Ayuda con mi programa
» [Tutorial C] II.1 - Estructura de un programa
» [Tutorial C++] II.1 - Estructura del programa C++
» Opengl - Curvas
Página 1 de 1.
Permisos de este foro:
No puedes responder a temas en este foro.
|
|