Aplikasi Grafika Komputer untuk Transformasi 3 Dimensi

Aplikasi Grafika Komputer untuk Transformasi 3 Dimensi

Alfa Ryano 1 , Agung B.P. 2 , Eko Handoyo 2

1 Mahasiswa dan 2 Dosen Jurusan Teknik Elektro, Fakultas Teknik, Universitas Diponegoro,

Jl. Prof. Sudharto, Tembalang, Semarang, Indonesia

Abstrak

Transformasi memiliki bagian yang penting pada grafika komputer. Dengan transformasi, suatu objek dapat dipindahkan dapat berubah posisi dan atau bentuk.Tugas akhir ini mengimplementasikan transformasi 3 dimensi dalam bentuk suatu aplikasi studio. Aplikasi dapat membuat suatu objek yang kemudian dapat ditransformasikan. Transformasi yang dapat dilakukan berupa translasi, penskalaan, rotasi, dan shearing. Analisis dan desain aplikasi menggunakan pendekatan berorientasi objek. Aplikasi dibuat menggunakan bahasa pemrograman Delphi dan OpenGL. Aplikasi yang dibuat diharapkan dapat mentransformasi objek 3 dimensi melalui antarmuka aplikasi.

Kata kunci: transformasi, rotasi, penskalaan, translasi, shearing, OpenGL

1. Pendahuluan 1.5 Kegunaan Hasil Penelitian

1.1 Latar Belakang Masalah

mengimplementasikan Grafika

1. Mengetahui

bagaimana

transformasi 3 dimensi Pada aplikasi 3 dimensi komputer–berkembang cukup pesat. Ini terbukti dengan

komputer–salah

menggunakan OpenGL dan Delphi dengan pendekatan banyaknya bidang yang menerapkan grafika komputer

berorientasi objek.

seperti video game, CAD (Computer Aided Design),

2. Menghasilkan suatu aplikasi yang dapat melakukan animasi, simulasi, dan lain-lain.

Aplikasi ini dapat Transformasi 3 dimensi memiliki bagian yang

transformasi

3 dimensi.

dikembangkan lebih untuk fungsi-fungsi yang lebih luas penting pada grafika komputer. Dengan transformasi,

yang berkaitan dengan Grafika Komputer, seperti ukuran dan bentuk suatu objek geometri dapat diubah.

pewarnaan, texture mapping, rendering, dan animasi. Tugas akhir ini mencoba mengimplementasikan transformasi 3 dimensi dalam bentuk suatu aplikasi studio.

2. Transformasi Geometri pada Ruang 3 Dimensi Transformasi yang dapat dilakukan, yaitu translasi,

Untuk membangun suatu aplikasi studio yang penskalaan, rotasi, dan shearing. Pertama-tama, aplikasi

mendukung fungsi transformasi 3 dimensi setidaknya dimodelkan terlebih dahulu melalui pendekatan berorientasi

dibutuhan tiga bagian penting. Bagian-bagian tersebut, objek menggunakan UML kemudian aplikasi dibuat

yaitu pemahaman teori transformasi 3 dimensi, transformasi menggunakan bahasa pemrograman Delphi dan OpenGL.

3 dimensi menggunakan OpenGL, dan penggunaan OpenGL API pada bahasa pemrograman Delphi.

1.2 Identifikasi Masalah

Dalam pembuatan aplikasi terdapat 3 masalah utama, yaitu:

2.1 Transformasi 3 Dimensi

1. Bagaimana merepresentasikan objek geometri yang Teori transformasi 3 dimensi memegang peranan terdiri

penting karena bagian ini merupakan ilmu dasar yang akan ditampilkan di layar.

dari verkteks-verkteks

sehingga

dapat

diimplentasikan pada program aplikasi.

2. Bagaimana mentransformasi objek 3 dimensi pada Pada tugas akhir ini digunakan sistem koordinat aplikasi tersebut. Tansformasi meliputi translasi,

homogen. Sistem koordinat homogen menggunakan empat penskalaan, shearing, dan rotasi.

ordinat untuk menyatakan titik-titiknya. Ordinat keempat

3. Antarmuka pengguna dengan program sehingga

menyatakan faktor skala.

pengguna dapat melakukan transformasi pada objek.

P = [px py pz s] Titik hasil transformasi dapat diperoleh melalui persamaan

1.3 Batasan Masalah

1. Tugas Akhir ini membahas mengenai implementasi Q = P * M (2.1) transformasi 3 dimensi dalam bentuk suatu aplikasi

dengan :

studio. Q = [qx,qy,qz,1] menyatakan matriks 1x4 yang

2. Implementasi transformasi 3 dimensi menggunakan berisi titik hasil transformasi. bahasa pemrograman Delphi dan API OpenGL.

P = [px,py,pz,1] menyatakan matriks 1x4 yang berisi

3. Analisis dan desain aplikasi menggunakan pendekatan titik yang akan ditransformasikan berorientasi objek.

M = Matriks transformasi berukuran 4x4 seperti

pada persamaan 2.2.

1.4 Tujuan Penelitian

 m 00 m 01 m 02 m 03 

10 12 m 13  (2.2) dimensi dalam bentuk suatu aplikasi studio.

Tujuan penelitian adalah implementasi transformasi 3

m 11 m

 20 m 21 m 22 m 23    m 30 m 31 m 32 m 33 

Transformasi 3 dimensi terdiri dari beberapa fungsi PROJECTION, dan TEXTURE. MODELVIEW adalah transformasi, yaitu translasi, rotasi, penskalaan, dan

matriks yang digunakan untuk melakukan transformasi. shearing. Matriks masing-masing transformasi adalah

PROJECTION adalah matriks yang digunakan untuk sebagai berikut.

proyeksi, dan TEXTURE adalah mariks yang digunakan untuk mengatur tekstur/tampilan permukaan.

glLoadIndentity;

Procedure glTranslate(x,y,z); 

 Procedure glRotate(degree,x,y,z);  tx ty tz 1 

Procedure glScale(x,y,z);

Perintah pertama mengatur agar matriks yang digunakan 

 sx 0 0 0 

diisi dengan matriks identitas. Perintah kedua digunakan M S = 

untuk melakukan translasi sebesar x, y, dan z. Perintah 

ketiga digunakan untuk rotasi sebesar sudut degree dengan sumbu x, y, dan z. Perintah keempat digunakan untuk

penskalaan sebesar x, y, dan z..  1 0 0 0 

aplikasi, penyusun tidak  0 Cos ( θ ) Sin ( θ ) M 0  = (2.6)

Pada

pembuatan

menggunakan prosedur transformasi bawaan OpenGL

Rx

karena OpenGL tidak memiliki prosedur untuk shearing. 

 0 − Sin ( θ ) Cos ( θ ) 0 

Penyusun membuat prosedur transformasi sendiri.

 Cos ( θ ) 0 − Sin ( θ ) 0 

2.3 Penggunaan OpenGL

dan Delphi untuk

Transformasi 3 Dimensi

M  Ry (2.7) =

 Sin ( θ ) 0 Cos ( θ ) 0 

OpenGL dan Delphi perlu dihubungkan sehingga

transformasi 3 dimensi yang menggunakan Delphi dan

OpenGL dapat dilakukan. OpenGL dapat digunakan dengan menambahkan klausa openGL pada bagian Uses kode

 Cos ( θ ) Sin ( θ ) 0 0 

sumber.

OpenGL bukan merupakan bagian dari system operasi M Rz =

 − Sin ( θ ) Cos ( θ ) 0 0  (2.8)

Windows sehingga diperlukan memberitahu Windows 

bahwa program menggunakan API dari OpenGL. Informasi

yang perlu disampaikan, yaitu:

1. Format Pixel yang disampaikan melalui struktur data  1 Sh

TPixelFormatDescriptor. Format Pixel memberikan  0 1 0 0 M (2.9) xsh =  informasi mengenai jumlah warna dalam bit per pixel,

Sh

kedalaman sumbu z, serta tipe pixel.

 0 − Sh ⋅ Xref − Sh ⋅ Xref 1 

2. Device Context yang menyatakan perangkat (device) yang akan digunakan oleh OpenGL untuk menggambar

di layer. Perangkat yang disediakan oleh Windows dan 

M ysh = 

perangkat yang disediakan oleh OpenGL harus 

0  dihubungkan sehingga apa yang digambar oleh OpenGL 0 1 0    − Sh ⋅ Yref 0 − Sh ⋅ Yref 1 

akan ditampilkan oleh Windows.

3. Pemodelan Aplikasi Grafika Komputer untuk

Transformasi 3D

M zsh =

grafika komputer untuk 

transformasi objek 3 dimensi menggunakan pendekatan

 − Sh ⋅ Zref − Sh ⋅ Zref 0 1 

berorientasi objek (objek oriented analysis and design). Langkah-langkah yang dilakukan seperti model yang

Matriks-matriks di atas kemudian diubah ke dalam bentuk

diutarakan oleh Pressman [6] , yaitu:

prosedur-prosedur bahasa pemrograman Delphi. Prosedur-

1. Use case ,

prosedur tersbut akan digunakan untuk mentransformasi

2. Kartu Index CRC,

verteks-verteks penyusun objek geometri.

3. Diagram Kelas,

4. Model Hubungan Objek (Object Relationship), dan

2.2 Transformasi 3 Dimensi pada OpenGL 5. Model Tingkah Laku Objek (Object Behaviour). OpenGL sendiri sudah menyediakan perintah-perintah

Langkah-langkah tersebut kemudian dibuat dalam bentuk untuk melakukan transformasi. Perintah-perintah yang

diagram UML seperti berikut.

berhubungan dengan transformasi adalah:

3.1. Use Case

Procedure glMatriksMode(m:GLenum); Aplikasi yang akan dibangun paling sedikit memiliki 3 use case utama, yaitu membuat objek, menghapus objek

Untuk mengatur pemakaian matriks, ada tiga macam ,dan mentransformasi. Use case transformasi sendiri matriks yang dapat digunakan, yaitu: MODELVIEW,

merupakan generaliasi dari use case translasi, penskalaan, merupakan generaliasi dari use case translasi, penskalaan,

• Tinggi

include dari use case hapus objek dan transformasi karena

Operasi:

• sebelum melakukan rotasi dan hapus objek perlu membuat Gambar

• Create

objek terlebih dahulu. Diagramnya dapat dilihat pada

gambar 3.1. Tabel 3.5 Kartu index CRC kelas meja.

Kelas: Meja Tanggung Jawab:

Kolaborator:

Atribut:

Buat Objek

• Gambar • Create

Penskalaan

Tabel 3.6 Kartu index CRC kelas kursi.

<<include>>

Kelas: kursi

Pengguna Transformasi

Tanggung Jawab:

Hapus Objek

Shearing

Tabel 3.7 Kartu index CRC Transformasi. Gambar 3.1 Diagram use case aplikasi grafika komputer untuk

Kelas: Transformasi

transformasi objek 3 dimensi.

Tanggung Jawab:

Kolaborator:

Atribut:

3.2. Kartu Index CRC

• Objek Geometri Dari use case pada subbab 3.1, aplikasi paling sedikit

• Matriks

Operasi:

• membutuhkan 2 buah kelas utama, yaitu kelas transformasi PerkalianMatriks

• MatriksIdentitas

dan kelas geometri. Kelas geometri kemudian diturunkan

• Translasi

sehingga terbentuk anak kelas objek kubus, piramida,

• Penskalaan

silinder, meja, dan kursi.

• Rotasi • Shearing

Tabel 3.1 Kartu index CRC kelas geometri.

• Transform

Kelas: Geometri

• nolkanTransformasi

Tanggung Jawab:

Kolaborator:

• ambilPos3d

Atribut:

• nama

3.3. Diagram Kelas

• index Dari kartu index CRC pada subbab 3.2, penyusun • jenis

pusat • membuat diagram kelas-nya seperti pada gambar 3.2. Kelas

• jumTitik objek kubus, piramida, silinder, meja, dan kursi memiliki • titik

parent kelas geometri. Kelas transformasi dan kelas • sudut

geometri memiliki hubungan dari satu ke satu atau banyak. • Aktif

Artinya satu objek transformasi dapat mentransformasi satu

Operasi:

• Gambar

atau lebih objek geometri.

Transformasi Tabel 3.2 Kartu index CRC kelas kubus.

Geometri

Matriks

Kelas: nama : String Kubus index : Integer

Mentransformasi MatriksIdentitas() perkalianMatriks()

Tanggung Jawab:

Kolaborator:

jenis : String

pos isi : Single

Trans las i()

pus at : Single s udut : Single 1..* 1..*

1 1 Pens kalaan()

Atribut:

Shearing() Rotasi()

• Sisi

gambar()

Trans form() nolkanTransformasi()

Operasi:

ambilPos3d()

• Create • Gambar

Kubus s isi : Single

Tabel 3.3 Kartu index CRC kelas piramid. Kursi

sis i : Single Kelas: tinggi : Single Piramid gambar() tinggi : Single

radius : Single

gambar() create() gambar() create()

Tanggung Jawab:

Kolaborator:

create()

create() gambar()

gambar()

Atribut:

Gambar 3.2 Diagram kelas aplikasi grafika komputer untuk • Sisi

• Tinggi

transformasi objek 3 dimensi.

Operasi:

3.4. • Model Hubungan Objek (Object Relationship) Create

• Gambar

Model hubungan objek (object relationship model) Tabel 3.4 Kartu index CRC kelas silinder.

dapat digambarkan dengan menggunakan diagram runtun

Kelas: Silinder

(sequence diagram). Pada gambar 3.3 terdapat 3 skenario,

Tanggung Jawab:

Kolaborator:

yaitu menciptakan objek geometri, mentransformasi objek

Atribut:

geometri, dan menghapus objek geometri. • Radius

4. Implementasi dan Pengujian Aplikasi Grafika Komputer untuk Transformasi 3D

: Pengguna Panel

Hasil pembuatan aplikasi dapat dilihat pada gambar 4.1-4.6. Gambar 4.1 merupakan tampilan form utama

yang akan dibuat dan nilai atributnya Memilih objek

aplikasi grafika komputer untuk transformasi 3 dimensi.

Membuat objek geometri

gambar objek

pada layar

Menampilkan objek geometri

transformasi dan Memilih jenis nilainya

Memberi nilai sesuai input

Mentransformasi

Gambar

objek geometri

objek pada layar

Menampilkan objek geometri hasil

transformasi

Memilih objek yang akan

dihapus Menghapus objek geometri

objek pada Hapus

layar

Meampilkan hasil menghapus objek geometri

Gambar 4.1 Tampilan aplikasi grafika komputer untuk transformasi 3 dimensi.

Gambar 3.3 Diagram runtun aplikasi grafika komputer untuk Toolbar (gambar 4.2) digunakan untuk meemilih jenis

transformasi objek 3 dimensi. transformasi yang akan dilakukan, mengubah arah kamera, dan memilih sumbu.

3.5. Model Tingkah Laku Objek (Object Behaviour)

Gambar 3.4 merupakan diagram statechart yang menggambarkan perilaku 2 objek, yaitu objek transformasi (a) dan objek geometri (b). Model tingkah laku objek menunjukkan bagaimana system akan merespon kejadian

Gambar 4.2 Toolbar dan menu aplikasi. atau stimulus eksternal.

Tab-tab objek (gambar 4.3) digunakan untuk membuat

objek geometri seperti kubus, dilinder, piramida, meja, dan

Mulai

kursi.

Mentransform asi

Membuat

objek geometri

objek transform asi

Objek transformasi

Menunggu

tercipta

perintah transformasi selanjutnya

Menghapus objek geometri

Selesai

Objek transformasi

Posisi, sudut, dan

bentuk yang baru

Membuat objek geometri

Mentransformasi

objek geom etri

Objek geometri tercipta

Menunggu transformasi

selanjutnya

Gambar 4.3 Tampilan tab-tab untuk objek kubus, kursi, meja, piramida,

Menghapus objek geometri

silinder, dan kamera.

Status bar (gambar 4.4) digunakan untuk menampilkan

Selesai

Objek geometri

terhapus

informasi mode transformasi yang sedang aktif, posisi kursor pada koordinat world, posisi kursor pada layar, dan

(b)

sumbu putar yang sedang aktif

Gambar 3.4 Diagram statechart aplikasi grafika komputer

untuk transformasi objek 3 dimensi: (a) diagram statechart objek transformasi (b) diagram statechart objek geometri.

Gambar 4.4 Status Bar.

Popup menu (gambar 4.5) digunakan untuk menampilkan form-form transformasi (gambar 4.6) dan menghapus objek yang aktif terpilih.

(b)

Gambar 4.7 Pengujian transformasi: (a) keadaan awal; (b) hasil translasi (1 1 -1); (c) hasil penskalaan (2 2 2);

Gambar 4.5 Tampilan popup menu klik kanan. o (d) hasil rotasi (30 0 1 0); (e) hasil shearing (X 1 1).

Form-form transformasi (gambar 4.6) digunakan untuk Tabel 4.1. Perbandingan antara hasil perhitungan dan hasil mentransformasi objek geometri. Transformasi melalui aplikasi untuk translasi (1,00 1,00 -1,00);

form transformasi dapat dilakukan lebih presisi daripada

Titik

Koordinat

Hasil Transformasi

Awal

Aplikasi Perhitungan

1,00 1,00 -1,00 1,00 1,00 -1,00 transformasi diberikan dengan angka.

menggunakan mouse karena nilai-nilai untuk parameter

1,00 1,50 -1,00 1,00 1,50 -1,00

2 -0,50 -0,50 0,50

0,50 0,50 -0,50 0,50 0,50 -0,50

3 0,50 -0,50 0,50

1,50 0,50 -0,50 1,50 0,50 -0,50

4 0,50 -0,50 -0,50

1,50 0,50 -1,50 1,50 0,50 -1,50

5 -0,50 -0,50 -0,50

0,50 0,50 -1,50 0,50 0,50 -1,50

6 -0,50 -0,50 0,50

0,50 0,50 -0,50 0,50 0,50 -0,50

Tabel 4.2. Perbandingan antara hasil perhitungan dan hasil aplikasi untuk transformasi penskalaan (2,00 2,00 2,00);

Titik

Koordinat

Hasil Transformasi

Awal

Aplikasi Perhitungan

2 -0,50 -0,50 0,50

-1,00 -1,00 1,00 -1,00 -1,00 1,00

3 0,50 -0,50 0,50

1,00 -1,00 1,00 1,00 -1,00 1,00

4 0,50 -0,50 -0,50

1,00 -1,00 -1,00 1,00 -1,00 -1,00

5 -0,50 -0,50 -0,50 -1,00 -1,00 -1,00 -1,00 -1,00 -1,00 Gambar 4.6 Form untuk transformasi translasi, penskalaan, rotasi dan

6 -0,50 -0,50 0,50

-1,00 -1,00 1,00 -1,00 -1,00 1,00

shearing .

Tabel 4.3. Perbandingan antara hasil perhitungan dan hasil Transformasi-transformasi 3D pada aplikasi diuji.

aplikasi untuk transformasi rotasi (30 o 0,00 1,00 0,00). Pengujian dilakukan

dengan membandingkan

Hasil Transformasi

transformasi aplikasi dengan hasil transformasi melalui

Awal

Aplikasi Perhitungan

perhitungan. Pengujian dilakukan pada objek geometri

0,00 0,00 0,00 0,00 0,00 0,00 piramida yang memiliki 7 titik. Gambar 4.7a menunjukkan

0,00 0,50 0,00 0,00 0,50 0,00 posisi awal piramida ketika dibuat pada aplikasi. Untuk -0,18 -0,50 0,68 2 -0,50 -0,50 0,50 -0,18 -0,50 0,68

0,68 -0,50 0,18 0,68 -0,50 0,18 translasi digunakan translasi (1 1 -1) (gambar 4.7b).Untuk

3 0,50 -0,50 0,50

0,18 -0,50 -0,68 0,18 -0,50 -0,68 penskalaan digunakan penskalaan (2 2 2) (gambar 4.7c).

4 0,50 -0,50 -0,50

-0,68 -0,50 -0,18 -0,68 -0,50 -0,18 Untuk rotasi digunakan rotasi (30 o

5 -0,50 -0,50 -0,50

-0,18 -0,50 0,68 -0,18 -0,50 0,68 digunakan shearing (X 1 1). Tabel 4.4 Perbandingan antara hasil perhitungan dan hasil

0 1 0). Untuk shearing

6 -0,50 -0,50 0,50

aplikasi untuk transformasi shearing (X 1,00 1,00).

Titik

Koordinat

Hasil Transformasi

Awal

Aplikasi Perhitungan

0,00 -1,00 -1,00 0,00 -1,00 -1,00

0,00 -0,50 -1,00 0,00 -0,50 -1,00

2 -0,50 -0,50 0,50

-0,50 -2,00 -1,00 -0,50 -2,00 -1,00

3 0,50 -0,50 0,50

0,50 -1,00 0,00 0,50 -1,00 0,00

4 0,50 -0,50 -0,50

0,50 -1,00 -1,00 0,50 -1,00 -1,00

-0,50 -2,00 -2,00 -0,50 -2,00 -2,00 (a)

5 -0,50 -0,50 -0,50

(b)

6 -0,50 -0,50 0,50

-0,50 -2,00 -2,00 -0,50 -2,00 -2,00

Hasil pengujian pada tabel 4.1-4.4 memperlihatkan kesamaan antara hasil aplikasi dan hasil melalui perhitungan. Dengan demikian, jika dilihat dari pengujian, aplikasi dapat melakukan transformasi dengan tepat.

(c)

(d)

5. Kesimpulan dan Saran

[13] ---, Tutorial on UML, Chapter 12, TIMe Electronic

Kesimpulan

Textbook version 4.0, SINTEF, July 16 th , 1999.

1. Fleksibilitas fungsi-fungsi transformasi yang dibuat sendiri lebih tinggi daripada menggunakan fungsi- fungsi bawaan OpenGL karena OpenGL hanya

BIOGRAFI PENULIS

mendukung transformasi

penskalaan tetapi tidak untuk shearing. Fungsi-fungsi Alfa Ryano Yohannis, lahir di Kendari, transformasi yang dibuat sendiri juga dapat dimodifikasi

Sulawesi Tenggara, 16 juli 1984. dengan mudah sesuai kebutuhan.

Menempuh pendidikan di SD Kristen

2. Rotasi pada suatu objek geometri yang menggunakan Kendari, SLTP Negeri 1 Kendari, dan sumbu putar yang tidak melewati titik origin dapat

SMU Negeri 1 Makassar. Saat ini sedang dilakukan dengan mentranslasikan terlebih dahulu

pendidikan program sumbu tersebut ke titik origin. Kemudian objek dirotasi

menyelesaikan

1 Jurusan Teknik Elektro sesuai dengan sudut yang ditentukan. Setelah itu,

Strata

Diponegoro dengan sumbu ditranslasikan kembali ke posisi semula.

Universitas

mengambil konsentrasi teknik informatika dan komputer.

3. Perbandingan antara hasil perhitungan dan hasil Topik Tugas Akhir yang diambil tentang transformasi objek transformasi aplikasi menunjukkan bahwa aplikasi

3 dimensi pada grafika komputer.

grafika komputer untuk transformasi 3 dimensi ini dapat melakukan transformasi dengan tepat.

4. Untuk beberapa komputer dan sistem operasi, aplikasi Menyetujui dan mengesahkan, grafika komputer untuk transformasi 3 dimensi ini hanya dapat berjalan jika regional and language options

Dosen Pembimbing I diubah ke regional dan bahasa Indoensia. Ini terjadi karena format penulisan angka yang digunakan menggunakan koma (,) untuk desimal.

Agung B. P., S.T., M.I.T.

Saran

NIP. 132 137 932

1. Aplikasi dapat dikembangkan lebih lanjut dengan Tanggal………………... menambahkan fasilitas pewarnaan (coloring) dan texture mapping sehingga warna suatu objek dapat diubah sesuai kehendak pengguna dan objek memiliki

Dosen Pembimbing II tekstur yang membuat tampilannya menjadi lebih realistis.

2. Aplikasi dapat dikembangkan lebih lanjut dengan menambahkan fasilitas untuk memuat objek geometri

Eko Handoyo, S.T., M.T. dari berkas berekstensi .obj sehingga objek yang dapat

NIP. 132 309 142 ditampilkan lebih bervariasi.

Tanggal………………...

6. Referensi

[1] Baker, H., Computer Graphics with OpenGL, Third Edition, Prentice Hall, New Jersey, 2004. [2] Bambang, H., Grafik komputer dengan C, Penerbit ANDI, 2004. [3] Dharwiyanti S., Wahono R.S., Pengantar Unified Modelling Language (UML) , ilmukomputer.com, 2003. [4] Maksimchuk, R.A., Naiburg, E.J., UML for Mere Mortals , Addison Wesley Proffesional, October 26 th , 2004. [5] Nugroho, Edi., Teori dan Praktek gafika Komputer Menggunakan Delphi dan OpenGL , Penerbit Graha ilmu, 2005. [6] Pressman,

R.S.,

Pendekatan Praktisi , Buku Satu dan Dua, McGraw- Hil Book Co., Penerbit ANDI, 2003. [7] Susilo, D., Gafika Komputer dengan Delphi, Penerbit Graha ilmu, 2005. [8] ---, http://www.autodesk.com/, Maret 2006. [9] ---, http://www.caperaven.co.za/, Maret 2006. [10] ---, http://www.blender.org/, Maret 2006. [11] ---, http://www.delphi3d.net/, Maret 2006. [12] ---, http://www.sulaco.co.za/, Maret 2006.