okey kita lanjut ya dari post sebelumnya...
Membuat Garis,Segitiga, Persegi dengan OpenGL
di
- 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);
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);
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).
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.
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 */
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 * /
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 ();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);
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)
mungkin cukup sampai disini... semoga bermanfaat..
Tidak ada komentar:
Posting Komentar