Kamis, 06 Oktober 2011

PERTEMUAN KE 2

OpenGL
OpeGL (Open Graphics Library) adalah spesifikasi standar yang mendefinisikan sebuah cross-bahasa, cross-platform API untuk menulis aplikasi yang menghasilkan komputer 2D dan 3D grafis. OpenGL didalam Komputer Grafik digunakan untuk mempermudah pekerjaan atau untuk keperluan - keperluan pemrograman grafis. OpenGL merupakan library grafis standard dan sama seperti DirectX. Tidak hanya itu, OpenGL ini free atau gratis, karena berbasis open.
OpenGL merupakan library yang bersifat Open Source, multi-platform dan multi-language dan merupakan API (Application Pipeline) tingkat rendah. Semua bahasa pemrograman mendukung OpenGL ini. OpenGL ini juga dapat beroperasi di dalam lingkungan windows, Unix, SGI, Linux, frreBSD, dan lain sebagainya.
GLUT
Era saat ini banyak dikembangkan pustaka baru yang tidak tersedia dalam OpenGL sendiri, misalnya GLUT. GLUT atau OpenGL Utility Toolkit adalah pustaka utilitas untuk program berbasis OpenGL yang melakukan I/O dengan sistem operasi. GLUT menyediakan fungsi untuk mendefinisikan jendela, kontrol jendela, dan masukan dari keyboard/mouse. GLUT juga menyediakan fungsi otomatis untuk menggambar berbagai objek yang kompleks.

#include <GL/glut.h>

void display()
{
      glClear(GL_COLOR_BUFFER_BIT);
      glBegin(GL_POLYGON);

      glClearColor(1.0,5.0,7.0,1.0);
      glColor3f(11.0,2.0,-8.0);
      glVertex3f(0.0 , 6.0 , 0.0);

      glClearColor(1.0,0.0,0.0,1.0);
      glColor3f(22.0,-3.0,0.0);
      glVertex3f(-6.0 , 0.0 , 0.0);
     
      glClearColor(1.0,0.0,0.0,1.0);
      glColor3f(33.0,0.0,0.0);
      glVertex3f(0.0 , -6.0 , 0.0);
     
      glClearColor(1.0,0.0,0.0,1.0);
      glColor3f(-1.0,0.0,12.0);
      glVertex3f(6.0 , 0.0 , 0.0);



      glEnd();
      glFlush();
}
void myinit()
{
      glMatrixMode(GL_PROJECTION);
      glLoadIdentity();
      gluOrtho2D(-10.0,10.0,-10.0,10.0);
      glMatrixMode(GL_MODELVIEW);
      glClearColor(0.0,0.0,0.0,1.0);
      glColor3f(0.0,0.0,0.0);
}

int main(int argc, char* argv[])
{
     
      glutInit(&argc,argv);
      glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
      glutInitWindowSize(500,500);
      glutInitWindowPosition(50,50);
      glutCreateWindow("eko_kurro");
      glutDisplayFunc(display);
      myinit();
      glutMainLoop();
     
      return 0;
}