Advertisement
Guest User

Untitled

a guest
Jul 19th, 2018
100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.86 KB | None | 0 0
  1. #include <GL/glut.h>
  2. #include <iso646.h>
  3. #include <stdbool.h>
  4. #include <stdlib.h>
  5. #include <stdio.h>
  6.  
  7. int x1, y1, x2, y2, cor;
  8.  
  9. void DesenhaNaTela()
  10. {
  11.  
  12.     glClear(GL_COLOR_BUFFER_BIT);
  13.  
  14.     switch (cor)
  15.     {
  16.     case 1:
  17.         glColor3f(1.0f, 0.0f, 0.0f);
  18.         break;
  19.     case 2:
  20.         glColor3f(0.0f, 1.0f, 0.0f);
  21.         break;
  22.     case 3:
  23.         glColor3f(0.0f, 0.0f, 1.0f);
  24.         break;
  25.     }
  26.  
  27.     glBegin(GL_LINES);
  28.     glVertex2f(x1, y1);
  29.     glVertex2f(x2, y2);
  30.     glEnd();
  31.  
  32.     glutSwapBuffers();
  33. }
  34. void translacao(){
  35.  
  36. }
  37. void escala(){
  38.  
  39. }
  40. void Inicializa(void)
  41.  
  42. {
  43.     glClearColor(1.0f, 1.0f, 1.0f, 0.0f);
  44.     glMatrixMode(GL_PROJECTION);
  45.     glLoadIdentity();
  46.     gluOrtho2D(1280, 0, 720, 0);
  47.     glMatrixMode(GL_MODELVIEW);
  48. }
  49.  
  50. int main(int argc, char **argv)
  51.  
  52. {
  53.     int pt2;
  54.     do
  55.     {
  56.         printf("Digite a primeira coordenada [X,Y] \n");
  57.         scanf("%d %d", &x1, &y1);
  58.         printf("Digite a segunda coordenada [X,Y] \n");
  59.         scanf("%d %d", &x2, &y2);
  60.         if (x1 == x2 && y1 == y2)
  61.         {
  62.             printf("Os valores são idênticos, por favor, insira novamente.");
  63.         }
  64.     } while (x1 == x2 && y1 == y2);
  65.     printf("Digite a cor da Reta \n 1- Vermelho \n 2- Verde \n 3-Azul");
  66.     scanf("%d", &cor);
  67.     glutInit(&argc, argv);
  68.     glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
  69.     glutInitWindowSize(1280, 720);
  70.  
  71.     glutInitWindowPosition(100, 100);
  72.  
  73.     glutCreateWindow("Desenhando uma linha em uma janela!");
  74.  
  75.     glutDisplayFunc(DesenhaNaTela);
  76.  
  77.     Inicializa();
  78.  
  79.     glutMainLoop();
  80.     Inicializa();
  81.     printf("Deseja fazer: \n 1 - Translação \n 2- Escala Reta \n");
  82.     scanf("%d", &pt2);
  83.     if(pt2==1){
  84.         translacao();
  85.     }else{
  86.         escala();
  87.     }
  88.     glTranslatef(0, 0, 0);
  89.     glutDisplayFunc(DesenhaNaTela);
  90.     glutMainLoop();
  91.  
  92. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement