martes, 30 de agosto de 2016

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