Autor
|
Tema: OpenGL (Leído 2,246 veces)
|
cazagavilan
Desconectado
Mensajes: 82
|
|
OpenGL
« en: 25 Abril 2012, 22:46 pm » |
|
Hola! Se supone que tengo que crear un triangulo y rotarlo a 45 grados en el eje y el problema esta en que en el curso que hago no explica bien la implementacion de glRotatef... y me da error. #include <Windows.h> #include <gl\glut.h> #include <gl\gl.h> #include <gl\GLU.h> void animacion(void); void init(void); void dibujar(void); void redimensionar(int, int); void teclado (unsigned char, int); void glRotatef(GLfloat angle, GLfloat x, GLfloat y, GLfloat z); void init(void) { glClearColor(0.0,0.0,0.0,0.0); glEnable(GL_DEPTH_TEST); glShadeModel(GL_FLAT); } void redimensionar(int ancho, int alto) { glViewport(0,0,(GLint)ancho, (GLint)alto); glMatrixMode(GL_PROJECTION); glLoadIdentity(); gluPerspective(35,((float)ancho/alto), 0.1, 1000); } void dibujar(void) { glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT); glMatrixMode(GL_MODELVIEW); glLoadIdentity(); gluLookAt(3,2,3,0,0,0,0,1,0); glPushMatrix(); glRotatef(45, 0, 0, 1); // Primera cara glBegin(GL_TRIANGLES); glColor3f(1.0,0.5,1.0); glVertex3f(0,1,0); glVertex3f(1,0,1); glVertex3f(-1,0,1); glEnd(); // Segunda cara glBegin(GL_POLYGON); glColor3f(1.0,1.0,0.0); glVertex3f(0,1,0); glVertex3f(-1,0,1); glVertex3f(-1,0,-1); glEnd(); // Tercera cara glBegin(GL_POLYGON); glColor3f(0.5,0.9,1.0); glVertex3f(0,1,0); glVertex3f(-1,0,-1); glVertex3f(1,0,-1); glEnd(); // Cuarta cara glBegin(GL_POLYGON); glColor3f(0.5,0.9,1.0); glVertex3f(0,1,0); glVertex3f(1,0,-1); glVertex3f(1,0,1); glEnd(); glPopMatrix(); glutSwapBuffers(); } void teclado(unsigned char key, int x, int y) { if(key==27) exit(0); } void main( int argc, char** argv) { glutInit(&argc,argv); glutInitDisplayMode(GLUT_DOUBLE|GLUT_RGB|GLUT_DEPTH); glutInitWindowSize(320,240); glutCreateWindow("Intro"); // Registrar funciones init(); glutIdleFunc(animacion); glutKeyboardFunc(teclado); glutDisplayFunc(dibujar); glutReshapeFunc(redimensionar); // Bucle de eventos principal glutMainLoop(); }
Muchas gracias.
|
|
|
En línea
|
|
|
|
cazagavilan
Desconectado
Mensajes: 82
|
|
Re: OpenGL
« Respuesta #1 en: 26 Abril 2012, 16:47 pm » |
|
Solucionado. #include <gl\glut.h> void init(void); void dibujar(void); void redimensionar(int, int); void teclado (unsigned char, int); void init(void) { glClearColor(0.0,0.0,0.0,0.0); glEnable(GL_DEPTH_TEST); glShadeModel(GL_FLAT); } void redimensionar(int ancho, int alto) { glViewport(0,0,(GLint)ancho, (GLint)alto); glMatrixMode(GL_PROJECTION); glLoadIdentity(); gluPerspective(35,((float)ancho/alto), 0.1, 1000); } void dibujar(void) { glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT); glMatrixMode(GL_MODELVIEW); glLoadIdentity(); gluLookAt(3,2,3,0,0,0,0,1,0); glPushMatrix(); glRotatef(45, 0, 0, 1); // Primera cara glBegin(GL_TRIANGLES); glColor3f(1.0,0.5,1.0); glVertex3f(0,1,0); glVertex3f(1,0,1); glVertex3f(-1,0,1); glEnd(); // Segunda cara glBegin(GL_POLYGON); glColor3f(1.0,1.0,0.0); glVertex3f(0,1,0); glVertex3f(-1,0,1); glVertex3f(-1,0,-1); glEnd(); // Tercera cara glBegin(GL_POLYGON); glColor3f(0.5,0.9,1.0); glVertex3f(0,1,0); glVertex3f(-1,0,-1); glVertex3f(1,0,-1); glEnd(); // Cuarta cara glBegin(GL_POLYGON); glColor3f(0.5,0.9,1.0); glVertex3f(0,1,0); glVertex3f(1,0,-1); glVertex3f(1,0,1); glEnd(); glutSwapBuffers(); } void teclado(unsigned char key, int x, int y) { if(key==27) exit(0); } void main( int argc, char** argv) { glutInit(&argc,argv); glutInitDisplayMode(GLUT_DOUBLE|GLUT_RGB|GLUT_DEPTH); glutInitWindowSize(320,240); glutCreateWindow("Intro"); // Registrar funciones init(); glutKeyboardFunc(teclado); glutDisplayFunc(dibujar); glutReshapeFunc(redimensionar); // Bucle de eventos principal glutMainLoop(); }[code=gml]
[/code]
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
OpenGL Dev C++
Programación C/C++
|
Monica_Barcelona
|
7
|
5,821
|
12 Mayo 2010, 18:38 pm
por [Zero]
|
|
|
opengl
Programación General
|
mapers
|
4
|
3,272
|
29 Octubre 2010, 23:50 pm
por bolivianito
|
|
|
OPENGL
Programación C/C++
|
mapers
|
0
|
1,853
|
13 Enero 2011, 07:08 am
por mapers
|
|
|
Programacion Opengl
Programación C/C++
|
latinoalfredo
|
1
|
1,596
|
6 Mayo 2014, 01:41 am
por Miseryk
|
|
|
VAOs en OpenGL
Programación C/C++
|
4dr14n31t0r
|
3
|
2,245
|
31 Enero 2017, 00:12 am
por ivancea96
|
|