Abstrak - Grafika Komputer adalah bagian dari ilmu 3D menjadi lebih mudah, facial capture membuat animasi
komputer yang berkaitan dengan pembuatan dan manipulasi ekspresi wajah menjadi lebih mudah dan akurat, scanner 3D
gambar (visual) secara digital. Bentuk sederhana dari grafika membuat proses pemodelan objek tiga dimensi (3D)
komputer adalah grafika komputer 2D yang kemudian
menjadi lebih cepat dan akurat, software-software authoring
berkembang menjadi grafika komputer 3D, pemrosesan citra
(image processing), dan pengenalan pola (pattern recognition). tiga dimensi yang lengkap dengan objek-objek 3D siap
Grafika komputer sering dikenal juga dengan istilah pakai (pre-made) serta sistem template 3D mempercepat
visualisasi data. Grafik meliputi gambar dan pencitraan lain desain suatu model objek tiga dimensi.
yang dihasilkan oleh komputer berbentuk garis, lengkungan, Namun pada umumnya software-software authoring tiga
kurva dan sebagainya. Komputer dapat menghasilkan dimensi tersebut tidak mendukung representasi visual tiga
pencitraan dalam sejumlah pixel, dan printer dot matrix akan dimensi (3D) dari data eksternal secara real time, melainkan
mencetak citra/gambar tersebut dalam sejumlah titik.
harus melalui proses rendering untuk menjadi sebuah file
OpenGL (Open Graphics Library) adalah standar API
yang dapat digunakan untuk membuat aplikasi berbasis video yang baru bisa diputar ketika proses rendering selesai.
grafik, baik dua dimensi (2D) maupun tiga dimensi (3D). Ketika perubahan parameter objek dilakukan terhadap
OpenGL ini bersifat cross-platform, artinya dapat dijalankan sebuah visualisasi 3D, maka perlu proses render yang cukup
pada berbagai platform sistem operasi yang ada saat ini. memakan waktu sebelum hasil akhirnya bisa dilihat.
Untuk membuat aplikasi menggunakan OpenGL,
terlebih dahulu kita membutuhkan suatu konsepsi interfacing B. Identifikasi Masalah
dalam implementasinya pada proteksi objek. Salah satu cara 1. Bagaimana membuat grafik tiga dimensi dari suatu objek
yang sudah umum digunakan adalah dengan yang dapat dilihat dari berbagai sudut pandang.
membuat window-based OpenGL. Untuk dapat membuat
2. Bagaimana cara implementasi OpenGL dengan aplikasi
konsep windowing pada OpenGL, kita memerlukan tool
tertentu. Yang kita gunakan kali ini adalah GLUT (OpenGL bahasa pemrograman C++.
Utility Toolkit). GLUT dipilih karena di dalamnya telah
terdapat banyak fungsi yang dapat dipakai untuk pembuatan C. Pembatasan Masalah
application window. Disamping itu, windowing pada GLUT 1. Membuat objek 3D (tiga dimensi) dengan cara
juga bersifat independen terhadap sistem operasi, sehingga memvisualisasikan grafik / gambar ke dalam bentuk tiga
kita tidak perlu repot-repot untuk mengubah kode program dimensi.
jika diterapkan pada sistem operasi yang berbeda. 2. Membuat simulasi gerakan objek 3D (tiga dimensi).
3. Menggunakan OpenGL sebagai library berbasis grafis
kata kunci : Grafika Komputer, OpenGL, Proyeksi Objek,
tiga dimensi yang di compile menggunakan C++.
GLUT
untuk diimplementasikan di berbagai platform perangkat Gambar 5 menunjukkan proses menganimasikan dan
keras. render dalam metode ini memakan waktu cukup panjang
Jika spesifikasi terlalu tepat, hal itu akan membatasi bisa beberapa menit, jam atau bahkan hari. Hal ini tidak bisa
jenis akselerasi perangkat keras yang dapat digunakan; diterima jika diperlukan pengambilan keputusan secara
membatasi kegunaannya sebagai standar. Dalam prakteknya, cepat saat data atau parameter sudah tersedia. Gambar 6
kurangnya ketepatan tidak perlu menjadi beban - kecuali menunjukkan sistem yang dibuat dengan menghilangkan
jika Anda berencana untuk membangun sebuah peternakan animasi manual serta proses rendering yang memakan
rendering dari berbagai jenis mesin. waktu dengan memanfaatkan teknologi real time rendering.
Kurangnya ketepatan piksel muncul bahkan dalam
pelaksanaan tunggal, dalam path yang berbeda melalui C. Instalasi Driver OpenGL
implementasi mungkin tidak menghasilkan set yang sama Terlebih dahulu download file-file library OpenGL yang
fragmen, meskipun spesifikasi tidak mandat seperangkat terdapat pada situs resminya di :
aturan invarian untuk menjamin perilaku berulang di http://www.opengl.org/resources/libraries/glut/glut_downloa
berbagai keadaan. ds.php
Untuk sistem operasi Windows, library ini terdiri dari 3
III. METODOLOGI PENELITIAN files yaitu:
1. glut.h
A. Bahan dan Peralatan 2. glut32.lib
Dalam mengerjakan tugas akhir ini mulai dari mendesain 3. glut32.dll
sampai tahap pemrograman, software visualisasi ini Dan berikut ini cara instalasinya:
membutuhkan spesifikasi hardware dan software tertentu 1. Salin file glut.h di dalam folder C:\Program
untuk bisa berjalan optimal. Meskipun OpenGL didukung Files\Microsoft Visual Studio 9.0\VC\include\GL
oleh berbagai platform hardware dan software, dalam 2. Salin file glut32.lib di dalam folder C:\Program
implementasi kali ini penulis menggunakan perlengkapan Files\Microsoft Visual Studio 9.0\VC\lib
hardware dan software sebagai berikut: 3. Salin file glut32.dll di dalam folder
Spesifikasi Hardware C:\Windows\System32
1. Mainboard ASUS P5KPL SE Intel Platform
2. Processor Intel® Core™ 2 Duo E7400 @ 2.80 GHz IV. HASIL DAN PEMBAHASAN
3. VGA NVIDIA GeForce 9500GT 512MB
4. RAM DDR2 2GB A. Cara Kerja OpenGL
5. Harddisk 1TB HDD OpenGL lebih mengarah pada prosedural daripada
Spesifikasi Software sebuah deskriptif API grafis. Untuk mendeskripsikan scene
1. Sistem operasi Windows 7 Ultimate SP1 32bit dan bagaimana penampilannya, sebenarnya programer lebih
2. Driver OpenGL versi 3.7.6 tahu untuk menentukan hal-hal yang dibutuhkan untuk
3. Microsoft Visual Studio 2008 sebagai media compile menghasilkan efek yang diinginkan. Langkah tersebut
C++ termasuk memanggil banyak perintah OpenGL, perintah
tersebut digunakan untuk menggambarkan grafis primitif
B. Perancangan Sistem seperti titik, garis dan poligon dalam tiga dimensi. Sebagai
Secara umum proses untuk menghasilkan visualisasi dan tambahan, OpenGL mendukung lighting, shading, texture,
animasi tiga dimensi (3D) dari suatu kasus simulasi adalah mapping, blending, transparancy, dan banyak kemampuan
dengan cara membangun model-model objek 3D di sebuah efek khusus lainnya.
software 3D authoring, menganimasikan menggunakan OpenGL mempunyai banyak fungsi dan penggunaan
perintah yang sangat luas. Penggunaan OpenGL
metode Keyframe atau Motion Capture sesuai data atau
membutuhkan library tambahan yang harus di letakkan pada
parameter simulasi yang ada, me-render menjadi gambar direktori sistem dari windows (OS).
atau video.
Dalam pembuatan objek, tiap-tiap bagian pesawat dibuat Penempatan arah kamera dari atas bagian belakang pesawat.
terpisah lalu digabungkan menjadi satu. Misalnya bagian // kamera dari atas
badan pesawat scriptnya sebagai berikut: case '5':
… floatcamera = 0;
{ insidecamera = 0;
GLfloat bodyleft[][3] = {{ 0 , 60,-260}, eyex = 0.0;
{-5 , 60,-230}, eyey = 750.0;
{-5 , 20,-200}, eyez = -2000.0;
{-20, 10,-70 }, atx = 0.0;
{-30, 30, 50 }, aty = 0.0;
{-30, 10, 70 }, atz = 0.0;
{-10, 0 , 140}, upx = 1.0;
{-10,-20, 140}, upy = 0.0;
{-30,-40, 110}, upz = 0.0;
{-30,-50, 90 }, break;
} Pada sumbu y eyey = 750.0 dan sumbu z eyez = -2000.0
Fungsi yang digunakan adalah GLfloat bodyleft[][3] dan dari titik 0.0.0.
GLfloat bodyright[][3] yang berfungsi untuk penempatan
titik pada sumbu koordinat x, y dan z. V. KESIMPULAN
Setelah menempatkan titik-titik koordinat selanjutnya
membuat garis dengan cara menghubungkan koordinat tiap 1. Pemanggilan dan penggunaan titik-titik vektor akan
titik menjadi bidang poligon. berpengaruh terhadap bentuk objek yang dibuat.
void drawbody() 2. Gerakkan dari simulasi akan sesuai dengan variabel yang
{ dikirimkan/diterima karena simulasi yang dibuat terdapat
lbodypolygon5(5,6,7,8,9); sistem yang melakukan perbandingan antara variabel
lbodypolygon5(9, 10, 13, 4, 5); yang dikirimkan/diterima dengan variabel pada objek.
lbodypolygon3(10,3,13); 3. Gerakkan perpindahan objek yakni pesawat tidak
lbodypolygon5(10, 11, 12, 2, 3); terganggu karena adanya latar berupa rumput dan jalan,
lbodypolygon4(12,2,1,0); karena pada pembuatan simulasi perintah yang
rbodypolygon5(5,6,7,8,9); digunakan adalah glPushMatrix(); dan glPopMatrix();
rbodypolygon5(9, 10, 13, 4, 5); sehingga tiap bagian tersimpan koordinat masing-
rbodypolygon3(10,3,13); masing.
rbodypolygon5(10, 11, 12, 2, 3); 4. Pemakaian jenis Graphics Card yang tidak
} menggunakan 3D akan mempengaruhi kinerja dari
Untuk pemberian warna pada badan pesawat yang simulasi yang akan mengakibatkan pergerakan objek
menggunakan warna kuning scriptnya sebagai berikut menjadi lambat.
… 5. OpenGL merupakan status mesin dalam proses
//glColor3f(1.0,1.0,0.0); warna kuning untuk fitur rendering dan atribut-atribut diubah melalui
pesawat pemanggilan prosedur. Didesain untuk
GLfloat yellowmat_specular[]={1.0, 1.0, 0.5, 1.0}; mengakomodasikan teknik rendering grafis tingkat
GLfloat yellowmat_diffuse[]={1.0, 1.0, 0.0, 1.0}; lanjut, seperti texture mapping, anti-aliasing, transparasi,
GLfloat yellowmat_ambient[]={1.0, 1.0, 0.6, 1.0}; pencahayaan dan transformasi objek 3D.
GLfloat yellowmat_shininess={32.0};
... DAFTAR PUSTAKA
glColor3f(1.0,1.0,0.0); adalah warna kuning. Dan fungsi
lainnya berupa pencahayaan dengan mengatur arah cahaya. [1] Andi, “Pemrograman Microsoft Visual C++”, Wahana Komputer,
Hasil compile dari program ini ditunjukkan pada gambar Yogyakarta dan Semarang, 2009.
[2] D. Astle & K. Hawkins, “Beginning OpenGL Game Programming”,
7, dimana ada beberapa tampilan halaman untuk antarmuka Thomson Course Technology, USA, 2004.
kemudian dilakukan pengujian gerakan terhadap objek. [3] Addison, “OpenGL Programming Guide”, Wesley Publishing
Company.
[4] B. Achmad & R. Nana, “Pengantar Grafika Komputer”, Politeknik
Elektronika Negeri Surabaya.
[5] OpenGL Programming, Resources and Headline News, tersedia di :
http//www.opengl.org
[6] OpenGL Programming Guide, The Official Guide to Learning
OpenGL, tersedia di : http//www.glprogramming.com/red/
[7] Tutorial OpenGL, tersedia di : http//nehe.gamedev.net/