Practica 5

#include <stdlib.h>
#include <stdio.h>
#include </usr/include/GL/glut.h>

char str[]="00:00:00";
int seg=0,seg2=0,min=0,min2=0, segg=0,segg2=0;
int ancho=383,alto=216;


unsigned char * datos;//es un apuntador hacia la variable datos


void leerImagen(){
    FILE *imagen;
    imagen=fopen("/home/artur/Escritorio/boy.raw","rb");
    datos=(unsigned char*)malloc(ancho*alto*3);//malloc sirve para partar memoria se aparta ancho por alto por 3
    if(imagen==NULL){
        printf("Error: No imagen\n");
    }else{printf("OK: Imagen cargada correctamente\n");}
    fread(datos,ancho*alto*3,1,imagen);
    fclose(imagen);
    }

void usarTexturas(){

    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
    glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, ancho, alto, 0, GL_RGB, GL_UNSIGNED_BYTE, datos);
   
}




void dibujaTexto(char * mensaje)
{
    while (*mensaje) {
        glutStrokeCharacter(GLUT_STROKE_ROMAN,*mensaje++);
    }
}

void temporizador(int value) {
    switch (value) {
        case 1 :
            glutTimerFunc(1000,temporizador,1);
            seg++;
            if(seg==10){seg=0;seg2++;}
            if(seg2 == 6){seg2=0;}
            break;
        case 2 :
            glutTimerFunc(60000,temporizador,2);
            min++;
            if(min == 10){min=0;min2++;}
            if(min2 == 6){min2=0;}
            break;
        case 3 :
            glutTimerFunc(10,temporizador,3);
            segg++;
            if(segg == 10){segg=0;segg2++;}
            if(segg2 == 6){segg2=0;}
            break;
    }
    glutPostRedisplay();
}





void display(void)
{   glClear( GL_COLOR_BUFFER_BIT );

//    glColor3f(1, 1, 1);
  //  glBegin(GL_QUADS);
    //    glTexCoord2f(0.0, 1.0);glVertex2f(-10,-10);
      //  glTexCoord2f(1.0, 1.0);glVertex2f(10,-10);
       // glTexCoord2f(1.0, 0.0);glVertex2f(10,10);
        //glTexCoord2f(0.0, 0.0);glVertex2f(-10,10);
    //glEnd();

    glPushMatrix();
        glColor3f(0.7, 0.8, 0.0);
        glTranslatef(-0.5,0,0);
        glScalef(0.002, 0.002, 1);
        sprintf(str,"%d%d:%d%d:%d%d",min2,min,seg2,seg,segg2,segg);     
        dibujaTexto(&str[0]);
    glPopMatrix();
   
    glFlush();
}







int main(int argc, char **argv)
{
    glutInit(&argc, argv);
    glutInitWindowSize(383,216);
    glutCreateWindow("Practica 5");
   
    //gluOrtho2D(-10,10,-10,10);

    glutTimerFunc(1000,temporizador,1);
    glutTimerFunc(60000,temporizador,2);
    glutTimerFunc(100,temporizador,3);

    //leerImagen();
    //usarTexturas();


    //glEnable(GL_TEXTURE_2D);
    glutDisplayFunc(display);
    glutMainLoop();
   
    return 0;
}

Comentarios