makalah opengl 3d
TRANSCRIPT
Grafika Komputer ( Universitas Muhammadiyah Sidoarjo )
Makalah OpenGL 3DSatrio Pekik Laksito Kahono/091080200162/6B Pagi
BAB I
PENDAHULUAN
1.1. Latar Belakang
OpenGL (Open Graphics Library) adalah standar API yang dapat digunakan
untuk membuat aplikasi berbasis grafik, baik dua dimensi (2D) maupun tiga
dimensi (3D). OpenGL ini bersifat cross-platform, artinya dapat dijalankan pada
berbagai platform sistem operasi yang ada saat ini. OpenGL sendiri telah banyak
dibahas oleh kalangan praktisi, akademisi, maupun industri, yang notabene
berkutat dalam implementasi pemrograman grafik 2D dan 3D.
Untuk membuat aplikasi menggunakan OpenGL, terlebih dahulu kita
membutuhkan suatu konsepsi interfacing dalam implementasinya. Salah satu cara
yang sudah umum digunakan adalah dengan membuat window-based OpenGL.
Untuk dapat membuat konsep windowing pada OpenGL, kita memerlukan tool
tertentu. Yang kita gunakan kali ini adalah GLUT (OpenGL Utility Toolkit).
GLUT dipilih karena di dalamnya telah terdapat banyak fungsi yang dapat dipakai
untuk pembuatan application window. Disamping itu, windowing pada GLUT
juga bersifat independen terhadap sistem operasi, sehingga kita tidak perlu repot-
repot untuk mengubah kode program jika diterapkan pada sistem operasi yang
berbeda.
1.1 Manfaat Dan Tujuan
Manfaat dan tujuan makalah ini di buat adalah :
1. Untuk memenuhi Tugas Matakuliah Grafika Komputer Semester 6
2. Mahasiswa dapat mengetahui function (fungsi) dalam OpenGL
3. Mahasiswa dapat membuat program untuk membangun grafik 2D dan 3D
menggunakan bahasa pemrograman Visual Basic dan grafik library
OpenGL
4. Mahasiswa dapat menerapkan prinsip dasar grafika komputer untuk
keperluan visualisasi, animasi dan simulasi pada bidang ilmu lainnya.
1
Grafika Komputer ( Universitas Muhammadiyah Sidoarjo )
Makalah OpenGL 3DSatrio Pekik Laksito Kahono/091080200162/6B Pagi
Bab II
TINJAUAN PUSTAKA
OpenGL adalah suatu spefikasi grafik yang low-level yang menyediakan
fungsi untuk pembuatan grafik primitif termasuk titik, garis, dan lingkaran.
OpenGL digunakan untuk keperluan-keperluan pemrograman grfis.OpenGL
bersifat Open-Source, multi-platform dan multi-language serta digunakan
mendefinisikan suatu objek, baik objek 2 dimensi maupun objek 3 dimensi.
OpenGL juga merupakan suatu antarmuka pemrograman aplikasi (application
programming interface (API) yang tidak tergantung pada piranti dan platform
yang digunakan, sehingga OpenGL dapat berjalan pada sistem operasi Windows,
UNIX dan sistem operasi lainnya.
OpenGL pada awalnya didesain untuk digunakan pada bahasa pemrograman
C/C++, namun dalam perkembangannya OpenGL dapat juga digunakan dalam
bahasa pemrograman yang lain seperti Java, Tcl, Ada, Visual Basic, Delphi,
maupun Fortran. Namun OpenGL di-package secara berbeda-beda sesuai dengan
bahasa pemrograman yang digunakan. Oleh karena itu, package OpenGL tersebut
dapat di-download pada situs http://www.opengl.org sesuai dengan bahasa
pemrograman yang akan digunakan.
Opengl melayani dua tujuan :
Untuk menyembunyikan kompleksitas dari interfacing dengan berbagai 3D
accelerators, memamerkan oleh programmer dengan satu, seragam API.
Untuk menyembunyikan kemampuan yang berbeda dari hardware platform, oleh
semua yang memerlukan mendukung implementasi penuh fitur opengl set
(menggunakan software emulation jika diperlukan).
1.2. Evolusi OpenGL
Pendahulu openGL adalah IRIS GL dari Silicon Grapics.Padamulanya adalah
library grafis 2D,yang berefolusi menjasi API program 3D untuk workstation
canggih milik perusahaan tersebut.
2
Grafika Komputer ( Universitas Muhammadiyah Sidoarjo )
Makalah OpenGL 3DSatrio Pekik Laksito Kahono/091080200162/6B Pagi
OpenGL adalah hasil dari usaha SGI untuk mengembangkan dan meningkatkan
kemampuan portable IRIS.API grafis yang baru akan menawarkan kemampuan
IRIS GL tetapi dengan standar yang lebih terbuka,dengan input dari pembuatan
hardware lain dan sistem operasi lain,dan akn memudahkan adaptasi ke hardware
platform dan sistem operasi lain.
Untuk lebih mempopulerkan openGL SGI mengijinkan pihak lain untuk
mengembangkan standart openGL,dan beberapa vendor menyambut hal tersebut
dengan membentuk OpenGL Architecture Review Board (ARB) Pendiri openGL
adalah SGI,Digital Equepment Corporation,IBM,Intel dan Microsoft,pada tanggal
1 juli 1992 OpenGL versi 1.0 diperkenalkan.
Letak openGL dalam aplikasi gambar di atas pada umumnya ketika aplikasi
berjalan program tersebut memanggil banyak fungsi,beberapa yang dibuat oleh
programer dan beberapa yang disediakan oleh sistem operasi bahasa
pemrograman.Aplikasi windows membuat output pada layar biasanya dengan
memanggil sebual API windows yang disebut Graphics Devise Interfase,yang
memungkinkan sebagai penulisan teks pada sebuah windows,menggambar garis
2D sederhana dan lainnya.Implementasi dari openGL mengambil permintaan
grafis dari aplikasi dan membangun sebuah gambar berwarna dari grafis
3D,kemudian memberikan gambar tersebut ke GDI untuk ditampilkan pada layar
monitor.
1.3. Cara kerja openGL
OpenGL lebih mengarah pada prosedural daripada sebuah deskriptif API
grafis.Untuk mendeskripsikan scene dan bagaimana penampilannya,sebenarnya
programer lebih tau untuk menentukan hal-hal yang dibutuhkan untuk
menghasilkan efek yang di inginkan.Langkah tersebut termasuk memanggil
banyak perintah openGL,perintah tersebut digunakan untuk menggambarkan
grafis primitif seperti titik,garis dan poligon dalam tiga dimensi.
Sebagai tambahan,openGl mendukung lighting, shading ,texture mapping,
blending, transparancy, dan banyak kemampuan efek khusus lainnya.
3
Grafika Komputer ( Universitas Muhammadiyah Sidoarjo )
Makalah OpenGL 3DSatrio Pekik Laksito Kahono/091080200162/6B Pagi
OpenGL mempunyai bnayak fungsi dan penggunaan perintah yang sangat luas,
penggunaan openGL membutuhkan library tambahan yang harus di letakkan pada
direktory system dari windows (OS),yaitu :
OpenGL32.dll
Glu32.dll
Glut32.dll
1.3.1. Inisialisasi awal
Inti dari tahapan ini adalah mengatur view port dan persepektif untuk penampilan
obyek ke dalam layar monitor,viewport adalah besarnya layar monitor(image)
yang dipakai untuk menampilkanobyek,sedangkan persepektif yang dimaksud
adalah pengaturan sumbu z dalam penampilan obyek 3 dimensi,sehingga user
dapat melihat obyek seolah-olah dalam bidang 3 dimensi (X-Y-Z),selain itu
penggambaran obyek yang dilakukan oleh programer juga dapat menggunaan
koordinat 3 dimensi. Selain ke dua tujuan di atas pada tahap ini juga dilakukan
koneksi awal dengan library openGL, koneksi ini dilakukan supaya fungsi-fungsi
yang di sediakan openGL dapat digunakan.Funsi/prosedur yang digunakan :
LoadGlut(‘glut32.dll) - pemanggilan library openGL
InitGL – inisialisasi openGL awal yang harus dilakukan
glViewport – untuk pengaturan viewport
glMatrixMode – pengaturan viewport
gluPerspective – pengaturan persepektif
Contoh script untuk inisialisasi openGL :
Try
LoadGlut(‘glut32.dll’);
InitGL;
Exept on e := exeption do
4
Grafika Komputer ( Universitas Muhammadiyah Sidoarjo )
Makalah OpenGL 3DSatrio Pekik Laksito Kahono/091080200162/6B Pagi
Begin
messageDlg{e.message,mtError,[mbOk],};
Halt {1};
End;
End;
Script di atas merupakan script yang paling sederhana, dalam artian minimal
diperlukan untuk menginisialisasi penggunaan openGL.Fungsi-fungsi lain seperti
yang disebut diatas seperti glViewport,glMatrixMode,dapat di tambah kan pada
script sesuai dengan kebutuhan.
1.3.2. Pembuatan gambar
Didalam openGL pembuatan obyek dilakukan dengan titik-titik 3 dimensi,dengan
mode GL_QUARDS, maka otomatis setiap 4 titik digambar menjadi sebuah
bidang segi empat,sedangkan mode GL_LINES, pada setiap 2 titik digambar
manjadi sebuah garis.Di dalam tahap ini setiap garis atau bidang juga dapat di atur
warnanya. Fungsi atau prosedur yang digunakan :
mode GL_QUARDS – menggambarkan segi empat
mode GL_LINES – menggambark garis
glVertex3f- penentuan titik 3 dimensi
glColor3f – penentuan warna
5
Grafika Komputer ( Universitas Muhammadiyah Sidoarjo )
Makalah OpenGL 3DSatrio Pekik Laksito Kahono/091080200162/6B Pagi
Contoh pembuatan titik 3 warna :
glClearColor(1,1,1,0); //warna dasar ;1,1,1,0 adalah putih
glBegin(GL_POINTS); //untuk membuat titik
glColor3f(1,0,0); //penentuan warna titik 1 dan posisinya
glVertex3f(-0.1,-0.1,0.1);
glColor3f(0,1,0); //penentuan warna titik 2 dan posisisya
glVertex3f(0.1,-0.1,0.1);
glColor3f(0,0,1); //penentuan titik 3 dan posisinya
glColor3f(0,0.1,-0.1);
glEnd;
Contoh pembuatan garis :
glClearColor(1,1,1,0); // warna background putih
glColor3f(0,0,0); // warna garis hitam
glBegin(GL_LINES); //digunakan untuk membua garis tiap 2 titik yang ada
glVertex3f(0,0,-0.1); //garis 1
glVertex3f(0.3,0.2,0.1);
glVertex3f(0.1,-0.1,-0.2); // garis 2
glVertex3f(0.3,-0.2,0.1);
glEnd;
Contoh pembuatan bidang segi empat :
glClearColor(1,1,1,0); // warna background putih
glBegin(GL_QUARDS); //untuk membuat segi empat dalam tiap4 titik
glColor3f(1,0,0); //posisi titik 1 dengan gradiasi warnanya
glVertex3f(-0.2,0.2,0.2);
glColor3f(1,0,0); //posisi titik 2 dengan gradiasi warnanya
glVertex3f(0.2,0.2,0.2);
glColor3f(1,0,1); //posisi titik 3 dengan gradiasi warnanya
glVertex3f(0.2,-0.2,0.2);
glColor3f(0,1,1); //posisi titik 4 dengan gradiasi warnanya
glVertex3f(-0.2,-0.2,0.2);
glEnd;
6
Grafika Komputer ( Universitas Muhammadiyah Sidoarjo )
Makalah OpenGL 3DSatrio Pekik Laksito Kahono/091080200162/6B Pagi
Selain OpenGL ada juga tools/library grafik yang dapat dipergunakan yaitu
DirectX. Namun tools ini hanya dapat dipergunakan pada Microsoft Windows.
Masing-masing perintah atau fungsi dalam OpenGL mempunyai struktur dan
format yang sama.
The OpenGL Utility Toolkit (GLUT)
GLUT dapat menyederhanakan implementasi program dengan menggunakan
OpenGL. GLUT didesain secara serdehana untuk merender sebuah program yang
dibuat dengan OpenGL. Versi GLUT yang ada pada saat ini adalah 3.7.6. GLUT
juga mendukung fungsi-fungsi, antara lain:
o Mutiplewindows dalam render window OpenGL.
o Memproses kejadian Callback.
o Dapat menerima reaksi dari input (antara lain mouse dan keyboard).
o Mempermudah cascading fasilitas menu pop-up.
o Mendukung bitmap dan stroke fonts.
o Manajemen windows.
7
Grafika Komputer ( Universitas Muhammadiyah Sidoarjo )
Makalah OpenGL 3DSatrio Pekik Laksito Kahono/091080200162/6B Pagi
BAB III
PEMBAHASAN
.1. Berikut ini adalah Penjelasan setiap fungsi openGL berbasis 3D berupa
perintah dan arti keterangan pada openGL :
glVertex2i(x,y); Lokasi titik berada di (x,y) Tipe argumennya adalah
integer dan 2 dimensi yaitu x dan y
glVertex2f(x,y); Lokasi titik berada di (x,y) Tipe argumennya adalah float
dan 2 dimensi yaitu x dan y
glVertex3i(x,y,z); Lokasi titik berada di (x,y,z) Tipe argumennya adalah
integer dan 2 dimensi yaitu x, y dan z
glVertex3f(x,y,z); Lokasi titik berada di (x,y,z) Tipe argumennya adalah
float dan 2 dimensi yaitu x, y dan z
glClearColour(R, G, B, ?); Warna latar belakang Empat komponen warna
yaitu Red, Green, Blue dan alpha
glColor3f(R, G, B); Warna latar muka (pena) Tiga komponen warna yaitu
Red, Green dan Blue
glColor4f(R, G, B); Warna latar muka (pena) Empat komponen warna
yaitu Red, Green, Blue dan alpha
glPointSize(k); Ukuran titik k piksel Besar kecilnya ukuran titik
tergantung pada k (integer)
glBegin(bmPoints); Titik Objek primitive
glBegin(bmLines); Garis Objek primitive
glBegin(bmLineStrip); Poligaris Objek primitive
glBegin(bmLineLoop); Poligaris tertutup (polygon) Objek primitive
glBegin(bmTriangels); Segitiga Objek primitive
glBegin(bmTriangelStrip); Segitiga Objek primitive
glBegin(bmTriangelFan); Segitiga Objek primitive
glBegin(bmQuads); Segiempat Objek primitive
glBegin(bmQuadStrip); Segiempat Objek primitive
glBegin(bmPolygon); Poligon Objek primitive
glBegin(bmLineSttiple); Garis putus-putus Objek primitive
8
Grafika Komputer ( Universitas Muhammadiyah Sidoarjo )
Makalah OpenGL 3DSatrio Pekik Laksito Kahono/091080200162/6B Pagi
glBegin(bmPolySttiple); Poligon dengan pola tertentu Objek primitive
glRect(GLint x1, GLint y1, GLint x2, GLint y2); Segiempat siku-siku
Objek primitive dan ukuran segiempat ditentukan oleh dua titik yaitu
(x1,y1) dan (x2,y2)
glEnd( ); Akhir perintah OpenGL -
Perintah tranformasi pada OpenGL adalah
Translasi – glTranslated
Skala – glScaled
Putar atau rotasi – glRotated
3.2. Contoh script program dari setiap fungsi oepnGL berbasis 3D :
glBegin(bmPoints) ... glEnd();
glBegin bmPoints
glVertex2f x, y
glEnd
glColor3f(...);
glColor3f 0, 0, 1
glVertex3f( ...);
glVertex3f .x, .y, .
z
glBegin(bmLines); ... glEnd();
glBegin bmLines
glVertex2f x, y
glEnd
glBegin(bmLineStrip); ...
glEnd();
glBegin bmLineStrip
glVertex2f x, y
glEnd
glBegin(bmLineLoop); ...
glEnd();
glBegin bmLineLoop
glVertex2f x, y
glEnd
glBegin(bmTriangels); ...
glEnd();
glBegin bmTriangles
glVertex2f 0, 9
glVertex2f 4, 7
glVertex2f -4, 7
glEnd
glBegin(bmTriangelStrip); ...
glEnd();
glBegin
bmTriangelStrip
glVertex2f 0, 9
glVertex2f 4, 7
glVertex2f -4, 7
glEnd
glBegin(bmTriangleFan); ...
glEnd();
glBegin
bmTriangelFan
glVertex2f 0, 9
glVertex2f 4, 7
glVertex2f -4, 7
glEnd
9
Grafika Komputer ( Universitas Muhammadiyah Sidoarjo )
Makalah OpenGL 3DSatrio Pekik Laksito Kahono/091080200162/6B Pagi
3.3. Contoh Aplikasi Program Beserta Capture Hasil Program
Ketik script ini di Modul :
'VARIABEL BuatanPublic Type Titik3D x As Single y As Single z As SingleEnd TypePublic Type Sisi Sisi_Depan(1 To 4) As Titik3D Sisi_Kanan(1 To 4) As Titik3D Sisi_Belakang(1 To 4) As Titik3D Sisi_Kiri(1 To 4) As Titik3D Sisi_Atas(1 To 4) As Titik3D Sisi_Bawah(1 To 4) As Titik3DEnd TypePublic Objek As SisiSub EnableOpenGL(ghDC As Long)Dim pfd As PIXELFORMATDESCRIPTOR ZeroMemory pfd, Len(pfd) pfd.nSize = Len(pfd) pfd.nVersion = 1 pfd.dwFlags = PFD_DRAW_TO_WINDOW Or PFD_SUPPORT_OPENGL Or PFD_DOUBLEBUFFER pfd.iPixelType = PFD_TYPE_RGBA pfd.cColorBits = 24 pfd.cDepthBits = 32 pfd.iLayerType = PFD_MAIN_PLANE PixFormat = ChoosePixelFormat(ghDC, pfd) If PixFormat = 0 Then GoTo ee SetPixelFormat ghDC, PixFormat, pfd hrc = wglCreateContext(ghDC) wglMakeCurrent ghDC, hrcExit Subee: MsgBox "Nelze nastavit parametry pro zobrazení grafiky!" EndEnd SubSub DisableOpenGL() wglMakeCurrent 0, 0 wglDeleteContext hrcEnd Sub
Ketik script ini di Form :
Sub Inisialisasi_Awal()'========== Inisialisasi ========== EnableOpenGL Me.hDC
hrc = wglCreateContext(hDC) wglMakeCurrent hDC, hrc
10
Grafika Komputer ( Universitas Muhammadiyah Sidoarjo )
Makalah OpenGL 3DSatrio Pekik Laksito Kahono/091080200162/6B Pagi
'Inisilisasi Koordinat Bidang Dimensi-3 xmin = -10: ymin = -10 xmax = 10: ymax = 10 zmin = 10: zmax = -10 glOrtho xmin, xmax, ymin, ymax, zmin, zmax glClearColor 0.6, 0.6, 0.6, 0 glClear GL_COLOR_BUFFER_BIT Or GL_DEPTH_BUFFER_BIT glClear clrColorBufferBit glMatrixMode GL_PROJECTION glLoadIdentity glColor3f 1, 1, 1 glBegin bmLines glVertex2f -10, 0 glVertex2f 10, 0 glEnd glColor3f 1, 1, 1 glBegin bmLines glVertex2f 0, 10 glVertex2f 0, -10 glEnd End Sub
Sub Bersihkan_Layar() glClearColor 0.6, 0.6, 0.6, 0 glClear GL_COLOR_BUFFER_BIT Or GL_DEPTH_BUFFER_BITEnd Sub
Sub Tampilkan_Gambar() 'Menampilkan Hasil glFlush SwapBuffers Me.hDCEnd Sub
Sub Membuat_Titik()
'=======KUBUS=========== 'titik 1 bagian depan Objek.Sisi_Depan(1).x = -3 Objek.Sisi_Depan(1).y = -3 Objek.Sisi_Depan(1).z = 0 'titik 2 bagian depan Objek.Sisi_Depan(2).x = 3 Objek.Sisi_Depan(2).y = -3 Objek.Sisi_Depan(2).z = 0
11
Grafika Komputer ( Universitas Muhammadiyah Sidoarjo )
Makalah OpenGL 3DSatrio Pekik Laksito Kahono/091080200162/6B Pagi
'titik 3 bagian depan With Objek.Sisi_Depan(3) .x = 3 .y = 3 .z = 0 End With 'titik 4 bagian depan With Objek.Sisi_Depan(4) .x = -3 .y = 3 .z = 0 End With 'titik 1 bagian belakang Objek.Sisi_Belakang(1).x = -3 Objek.Sisi_Belakang(1).y = -3 Objek.Sisi_Belakang(1).z = 3 'titik 2 bagian belakang Objek.Sisi_Belakang(2).x = 3 Objek.Sisi_Belakang(2).y = -3 Objek.Sisi_Belakang(2).z = 3 'titik 3 bagian belakang With Objek.Sisi_Belakang(3) .x = 3 .y = 3 .z = 3 End With 'titik 4 bagian belakang With Objek.Sisi_Belakang(4) .x = -3 .y = 3 .z = 3 End With 'titik 1 bagian atas Objek.Sisi_Atas(1).x = -3 Objek.Sisi_Atas(1).y = 3 Objek.Sisi_Atas(1).z = 0 'titik 2 bagian atas Objek.Sisi_Atas(2).x = 3 Objek.Sisi_Atas(2).y = 3 Objek.Sisi_Atas(2).z = 0 'titik 3 bagian atas With Objek.Sisi_Atas(3) .x = 3 .y = 3 .z = 3 End With
12
Grafika Komputer ( Universitas Muhammadiyah Sidoarjo )
Makalah OpenGL 3DSatrio Pekik Laksito Kahono/091080200162/6B Pagi
'titik 4 bagian atas With Objek.Sisi_Atas(4) .x = -3 .y = 3 .z = 3 End With 'titik 1 bagian bawah Objek.Sisi_Bawah(1).x = -3 Objek.Sisi_Bawah(1).y = -3 Objek.Sisi_Bawah(1).z = 0 'titik 2 bagian bawah Objek.Sisi_Bawah(2).x = 3 Objek.Sisi_Bawah(2).y = -3 Objek.Sisi_Bawah(2).z = 0 'titik 3 bagian bawah With Objek.Sisi_Bawah(3) .x = 3 .y = -3 .z = 3 End With 'titik 4 bagian bawah With Objek.Sisi_Bawah(4) .x = -3 .y = -3 .z = 3 End With 'titik 1 bagian kanan Objek.Sisi_Kanan(1).x = 3 Objek.Sisi_Kanan(1).y = -3 Objek.Sisi_Kanan(1).z = 0 'titik 2 bagian kanan Objek.Sisi_Kanan(2).x = 3 Objek.Sisi_Kanan(2).y = -3 Objek.Sisi_Kanan(2).z = 3 'titik 3 bagian kanan With Objek.Sisi_Kanan(3) .x = 3 .y = 3 .z = 3 End With 'titik 4 bagian kanan With Objek.Sisi_Kanan(4) .x = 3 .y = 3 .z = 0 End With 'titik 1 bagian kiri
13
Grafika Komputer ( Universitas Muhammadiyah Sidoarjo )
Makalah OpenGL 3DSatrio Pekik Laksito Kahono/091080200162/6B Pagi
Objek.Sisi_Kiri(1).x = -3 Objek.Sisi_Kiri(1).y = -3 Objek.Sisi_Kiri(1).z = 0 'titik 2 bagian kiri Objek.Sisi_Kiri(2).x = -3 Objek.Sisi_Kiri(2).y = -3 Objek.Sisi_Kiri(2).z = 3 'titik 3 bagian kiri With Objek.Sisi_Kiri(3) .x = -3 .y = 3 .z = 3 End With 'titik 4 bagian kiri With Objek.Sisi_Kiri(4) .x = -3 .y = 3 .z = 0 End With End Sub
Private Sub Command1_Click() Call Membuat_Titik Call Inisialisasi_Awal
glRotatef 45, 2, 2, 1 ‘============= Kubus =================glColor3f 1, 0.6, 0 glBegin bmPolygon For ttk = 1 To 4 With Objek.Sisi_Kanan(ttk) glVertex3f .x, .y, .z End With Next ttk glEnd glColor3f 0.7, 0, 0 glBegin bmPolygon For ttk = 1 To 4 With Objek.Sisi_Belakang(ttk) glVertex3f .x, .y, .z End With Next ttk glEnd glColor3f 1, 0.8, 0 glBegin bmPolygon For ttk = 1 To 4 With Objek.Sisi_Bawah(ttk)
14
Grafika Komputer ( Universitas Muhammadiyah Sidoarjo )
Makalah OpenGL 3DSatrio Pekik Laksito Kahono/091080200162/6B Pagi
glVertex3f .x, .y, .z End With Next ttk glEnd glColor3f 1, 1, 0 glBegin bmPolygon For ttk = 1 To 4 With Objek.Sisi_Kiri(ttk) glVertex3f .x, .y, .z End With Next ttk glEnd glColor3f 1, 0, 0.3 glBegin bmPolygon For ttk = 1 To 4 With Objek.Sisi_Atas(ttk) glVertex3f .x, .y, .z End With Next ttk glEnd glColor3f 1, 0, 0 glBegin bmPolygon For ttk = 1 To 4 With Objek.Sisi_Depan(ttk) glVertex3f .x, .y, .z End With Next ttk glEnd'================================================== Call Tampilkan_Gambar End Sub
Hasil Capture dari Source Code di atas :
15