Advertisement
akevintg

OpenGL (Introduction - glBegin & glEnd)

Mar 3rd, 2016
115
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 4.45 KB | None | 0 0
  1. #ifdef WIN32
  2. #include <windows.h>
  3. #endif
  4.  
  5. #include <stdlib.h>
  6. #include <iostream>
  7. #include <fstream>
  8.  
  9. #ifdef __APPLE__
  10. #include <GLUT/glut.h>
  11. #include <OpenGL/gl.h>
  12. #include <OpenGL/glu.h>
  13. #else
  14. #include <GL/glut.h>
  15. #include <GL/glu.h>
  16. #include <GL/gl.h>
  17. #endif
  18.  
  19. char flag;
  20. void display(void)
  21. {
  22.     /* bersihkan layar dari titik pixel yang masih ada */
  23.     glClear (GL_COLOR_BUFFER_BIT);
  24.     glColor3f (0.5, 1.0, 0.0);
  25.    
  26.     /* gambar 5 titik di layar */
  27.     //glBegin(GL_POINTS);
  28.     //glBegin(GL_LINE_STRIP);
  29.     //glBegin(GL_LINE_LOOP);
  30.     //glBegin(GL_LINES);
  31.     //glBegin(GL_TRIANGLES);
  32.     //glBegin(GL_TRIANGLE_FAN);
  33.     //glBegin(GL_TRIANGLE_STRIP);
  34.     //glBegin(GL_QUADS);
  35.     //glBegin(GL_QUAD_STRIP);
  36.     //glBegin(GL_POLYGON);
  37.    
  38.     //kotak2x2
  39.     glColor3f (0.3, 0.3, 0.3);
  40.     glBegin(GL_POLYGON);
  41.     glVertex3f (0.0, 0.0, 0.0);
  42.     glVertex3f (0.0, 0.8, 0.0);
  43.     glVertex3f (-0.8, 0.8, 0.0);
  44.     glVertex3f (-0.8, 0, 0.0);
  45.     glEnd();
  46.     glBegin(GL_POLYGON);
  47.     glVertex3f (0.0, 0.0, 0.0);
  48.     glVertex3f (0.0, -0.8, 0.0);
  49.     glVertex3f (0.8, -0.8, 0.0);
  50.     glVertex3f (0.8, 0, 0.0);
  51.     glEnd();
  52.     glColor3f (0.7, 0.7, 0.7);
  53.     glBegin(GL_POLYGON);
  54.     glVertex3f (0.0, 0.0, 0.0);
  55.     glVertex3f (0.0, 0.8, 0.0);
  56.     glVertex3f (0.8, 0.8, 0.0);
  57.     glVertex3f (0.8, 0, 0.0);
  58.     glEnd();
  59.     glBegin(GL_POLYGON);
  60.     glVertex3f (0.0, 0.0, 0.0);
  61.     glVertex3f (0.0, -0.8, 0.0);
  62.     glVertex3f (-0.8, -0.8, 0.0);
  63.     glVertex3f (-0.8, 0, 0.0);
  64.     glEnd();
  65.     glLineWidth(500);
  66.     //mulai huruf A
  67.     if(flag=='a'){
  68.     glColor3f (1, 1, 1);
  69.     glBegin(GL_LINE_STRIP);
  70.     glVertex3f (0.0, 0.7, 0.0);
  71.     glVertex3f (-0.4, -0.1, 0.0);
  72.     glVertex3f (0.4, -0.1, 0.0);
  73.     glVertex3f (0.0, 0.7, 0.0);
  74.     glEnd();
  75.     glBegin(GL_LINE_STRIP);
  76.     glVertex3f (-0.4, -0.1, 0.0);
  77.     glVertex3f (-0.7, -0.7, 0.0);
  78.     glEnd();
  79.     glBegin(GL_LINE_STRIP);
  80.     glVertex3f (0.4, -0.1, 0.0);
  81.     glVertex3f (0.7, -0.7, 0.0);
  82.     glEnd();
  83.     }
  84.     //mulai huruf I
  85.     else if(flag=='i'){
  86.     glColor3f (1, 1, 1);
  87.     glBegin(GL_LINE_STRIP);
  88.     glVertex3f (-0.2, 0.7, 0.0);
  89.     glVertex3f (0,0.7,0);
  90.     glVertex3f (0.2,0.7,0);
  91.     glEnd();
  92.     glBegin(GL_LINE_STRIP);
  93.     glVertex3f (0, 0.7, 0.0);
  94.     glVertex3f (0, -0.7, 0.0);
  95.     glEnd();
  96.     glBegin(GL_LINE_STRIP);
  97.     glVertex3f (-0.2, -0.7, 0.0);
  98.     glVertex3f (0,-0.7,0);
  99.     glVertex3f (0.2,-0.7,0);
  100.     glEnd();
  101.     }
  102.    
  103.     //mulai huruf E
  104.     else if(flag=='e'){
  105.     glColor3f (1, 1, 1);
  106.     glBegin(GL_LINE_STRIP);
  107.     glVertex3f (0.3, 0.7, 0.0);
  108.     glVertex3f (0,0.7,0);
  109.     glVertex3f (-0.3,0.7,0);
  110.     glEnd();
  111.     glBegin(GL_LINE_STRIP);
  112.     glVertex3f (0.3, 0, 0.0);
  113.     glVertex3f (0,0,0);
  114.     glVertex3f (-0.3,0,0);
  115.     glEnd();
  116.     glBegin(GL_LINE_STRIP);
  117.     glVertex3f (0.3, -0.7, 0.0);
  118.     glVertex3f (0,-0.7,0);
  119.     glVertex3f (-0.3,-0.7,0);
  120.     glEnd();
  121.     glBegin(GL_LINE_STRIP);
  122.     glVertex3f (-0.3, 0.7, 0.0);
  123.     glVertex3f (-0.3,-0.7,0);
  124.     glEnd();
  125.     }
  126.    
  127.     //mulai huruf O
  128.     else if(flag=='o'){
  129.     glLineWidth(1000);
  130.     glColor3f (1, 1, 1);
  131.     glBegin(GL_LINE_STRIP);
  132.     glVertex3f (-0.3, 0.6, 0.0);
  133.     glVertex3f (0.3,0.6, 0);
  134.     glVertex3f (0.3,-0.6,0);
  135.     glVertex3f (-0.3,-0.6,0);
  136.     glVertex3f (-0.3, 0.6, 0.0);
  137.     glEnd();
  138.     }
  139.     //mulai huruf U
  140.     else if(flag=='u'){
  141.     glColor3f (1, 1, 1);
  142.     glBegin(GL_LINE_STRIP);
  143.     glVertex3f (-0.4, 0.6, 0.0);
  144.     glVertex3f (-0.4,-0.6, 0);
  145.     glVertex3f(0.4,-0.6,0);
  146.     glVertex3f(0.4,0.6,0);
  147.     glEnd();
  148.     }
  149.     glFlush ();
  150. }
  151.  
  152. void kunci(unsigned char key, int x, int y)
  153. {
  154.     switch (key)
  155.     {
  156.             /* aplikasi berhenti ketika tombol q ditekan */
  157.         case 27 :
  158.         case 'q':
  159.             exit(0);
  160.             break;
  161.         case 'a':
  162.             flag='a';
  163.             break;
  164.         case 'e':
  165.             flag='e';
  166.             break;
  167.         case 'i':
  168.             flag='i';
  169.             break;
  170.         case 'u':
  171.             flag='u';
  172.             break;
  173.         case 'o':
  174.             flag='o';
  175.             break;
  176.     }
  177.     glutPostRedisplay();
  178. }
  179.  
  180. int main(int argc, char *argv[])
  181. {
  182.     glutInit(&argc, argv);
  183.     glutInitWindowSize(400,400);
  184.     glutInitWindowPosition(100,100);
  185.     glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE);
  186.     glutCreateWindow("Primitif");
  187.     glutKeyboardFunc(kunci);
  188.     glutDisplayFunc(display);
  189.     glutMainLoop();
  190.     return 0;
  191. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement