ROTACIÓN DE LETRAS
EL MOVIMIENTO DEL TEXTO SE REALIZA CON LA LETRA "u"
CODIGO:
#include <GL/glut.h>
float angulo = 0, r, g, b;
void drawText(char *str,float x,float y){
int i;
int len = strlen(str);
glColor3f(r, g, b);
glRasterPos2f( x, y);
for(i = 0; i < len; i++){
glutStrokeCharacter(GLUT_STROKE_ROMAN,str[i]);
}
}
void drawText1(char *str,float x,float y){
int i;
int len = strlen(str);
glColor3f(r, g, b);
glRasterPos2f( x, y);
for(i = 0; i < len; i++){
glutBitmapCharacter(GLUT_BITMAP_TIMES_ROMAN_10, str[i]);
}
}
void init(){
glClearColor(1, 1, 1, 1.0);
gluOrtho2D(-10, 10, -10, 10);
}
void display(){
glClear(GL_COLOR_BUFFER_BIT);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
glScalef(0.001, 0.001, 1);
glRotatef(angulo + 10, 0, 0, 0.1);
drawText1("2016-B", 650, -50);
glRotatef(angulo, 0, 0, 1);
drawText("GRAFICACION", 0, 0);
glutSwapBuffers();
glFlush();
}
void key(unsigned char c, int x, int y)
{
switch(c){
//esc
case 27:
exit(0);
break;
//up
case 'u':
angulo += 5;
break;
}
display();
}
int main( int argc, char ** argv){
glutInit( &argc, argv);
glutInitDisplayMode( GLUT_DOUBLE| GLUT_RGB);
glutInitWindowPosition( 100, 100);
glutInitWindowSize(700, 700);
glutCreateWindow( "TEXTOS");
init();
glutDisplayFunc(display);
glutKeyboardFunc(key);
glutMainLoop();
return 0;
}
No hay comentarios:
Publicar un comentario