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