SoloCodigo
Programación Específica => Programación de Videojuegos => OpenGL => Mensaje iniciado por: xL3aMS1x en Lunes 24 de Febrero de 2014, 19:10
-
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