Senin, 10 Oktober 2011

Membuat Garis,Segitiga, Persegi dengan OpenGL

- pertama- tama instal OpenGL nya terlebih dahulu
di :download OpenGL

- lalu jalan kan instalernya :
pasti akan keluar notification seperti ini ..


- klik ok hingga proses instalasi selesai

maka tampilan nya seperti di bawah ini

untuk memulai membuat garis , segitiga , persegi
-klik file + new project + multimedia + openGL
-maka akan tampil source code automatis
-klik compile lalu run , otomatis akan menghasilkan gambar segitiga seperti di bawah

jika ingin membuat persegi atau garis maka yang hanya perlu di ganti seditkit source code nya pada bagian gambar di bawah ini..

ganti dengan source code di bawah ini :
Persegi :
 
glClearColor (0.0f, 0.0f, 0.0f, 0.0f);
glClear (GL_COLOR_BUFFER_BIT);


glBegin (GL_POLYGON);
glColor3f (1.0f, 0.0f, 0.0f); glVertex2f (-0.5f, -0.5f);
glColor3f (0.0f, 1.0f, 0.0f); glVertex2f (-0.5f, 0.5f);
glColor3f (0.0f, 2.0f, 0.0f); glVertex2f (0.5f, 0.5f);
glColor3f (0.0f, 0.0f, 3.0f); glVertex2f (0.5f, -0.5f);
glEnd ();

SwapBuffers (hDC);


Sleep (1);
 
Garis :
glClearColor (0.0f, 0.0f, 0.0f, 0.0f);
glClear (GL_COLOR_BUFFER_BIT);

glPushMatrix ();
glClearColor(1,1,1,0);
glColor3f(1,1,1); //

glBegin(GL_LINES);
glVertex3f(0,0,-0.8);
glVertex3f(9.9,8.9,0.1);

glEnd ();
glPopMatrix ();

SwapBuffers (hDC);

Sleep (1);
 
hasilnya :




Mantap kan  gan !!

SEDIKIT TEORI TENTANG OPENGL:
OpenGL adalah suatu graphic library yang sebagian bersifat open source, dipakai pada banyak platform (windows, linux) dan dapat digunakan pada berbagai jenis compiler seperti C++ atau Delphi.
OpenGL bukanlah bahasa pemrograman tetapi merupakan suatu Application Programming Interface (API).
 
Sintax perintah OpenGL

Sintaks perintah OpenGL mengikuti aturan penulisan dari library dimana fungsi tersebut berasal, format penulisan fungsi OpenGL :
<awalanlibrary><perintah><optional jumlah argumen><optional tipe argumen>

Semua perintah OpenGL menggunakan awalan gl diikuti dengan huruf kapital pada setiap kata membentuk nama perintah (sebagai contoh glClearColor).

Untuk mendefinisikan konstanta diawali dengan GL_, dengan menggunakan huruf kapital dan garis bawah untuk memisahkan kata (seperti GL_POLY_STIPPLE).

Terkadang beberapa huruf dan angka ditambahkan pada akhir perintah (seperti 3f pada glVertex3f). Dalam hal ini angka 3 menunjukkan berapa banyak argumen yang harus ada pada perintah tersebut dan akhiran huruf f menunjukkan jenis datanya yaitu floating. 

Fungsi asli dari OpenGL sendiri selalu diawali dengan gl yang terdapat pada library opengl32.dll dan file header gl.h. Sedangkan beberapa library yang telah ditulis untuk menyediakan fungsi-fungsi tambahan pada OpenGL adalah :

OpenGL Utility Library (GLU) yang didalamnya terdapat sejumlah rutin yang menggunakan level bawah dari perintah OpenGL. Rutin-rutin ini mempunyai awalan glu. Library ini digunakan sebagai bagian dari implementasi OpenGL. 
 
Bentuk umum coding untuk pembuatan garis :

glBegin(GL_LINES);                                                                /* Ingin menggambar garis */ 
glVertex2(tipe_data)(koordinat X1, koordinat Y1);              /* menyatakan sejumlah titik */
glVertex2(tipe_data)(koordinat X2, koordinat Y2);             /* menyatakan sejumlah titik */
glEnd();                                                                                    /* Akhir menggambar titik */

Bentuk coding untuk pembuatan segitiga :           
glBegin (GL_TRIANGLES);                                               /* Ingin menggambar segitiga * / 
glColor3f (1.0f, 0.0f, 0.0f);   glVertex2f (0.0f, 1.0f);          /* menyatakan sejumlah titik * /
glColor3f (0.0f, 1.0f, 0.0f);   glVertex2f (0.87f, -0.5f);      /* menyatakan sejumlah titik */
glColor3f (0.0f, 0.0f, 1.0f);   glVertex2f (-0.87f, -0.5f);    /* menyatakan sejumlah titik */
glEnd ();                                                                             /*  Akhir menggambar titik  * /

Dibutuhkan 3 buah vertex, masing-masing koordinat vertex1,2, dan 3 akan saling terhubung membentuk segitiga

Bentuk coding untuk pembuatan kotak :           
glBegin (GL_POLYGON);
glColor3f (1.0f, 0.0f, 0.0f); glVertex2f (-0.5f, -0.5f);
glColor3f (0.0f, 1.0f, 0.0f); glVertex2f (-0.5f, 0.5f);
glColor3f (0.0f, 2.0f, 0.0f); glVertex2f (0.5f, 0.5f);
glColor3f (0.0f, 0.0f, 3.0f); glVertex2f (0.5f, -0.5f);
glEnd ();

Dibutuhkan 4 buah vertex, masing-masing koordinat vertex1,2, 3, dan 4 akan saling terhubung membentuk persegi. Koordinat harus sama sisi, jika ingin berbentuk persegi (kubus
 

2 komentar:

  1. kita juga punya nih artikel mengenai OpenGL, silahkan dikunjungi dan dibaca untuk menambah wawasan, berikut linknya
    http://repository.gunadarma.ac.id/bitstream/123456789/2325/1/Texture%20Mapping%20for%20Solar%20System%20Simulation(OpenGL%20Implementation).pdf
    trimakasih

    BalasHapus
  2. Mas saya liat,kok skripnya ga oke include?
    Mohon pencerahannya...Saya masih belajar n kbeneran lg buat tugas bikin bendera merah putih

    BalasHapus