• Tidak ada hasil yang ditemukan

BAB II LANDASAN TEORI

2.5 OpenGL

OpenGL adalah program antar muka untuk perangkat keras grafika. Program ini terdiri sekitar 120 perintah nyata yang dapat digunakan untuk menetapkan obyek dan operasi yang dibutuhkan untuk memperoleh aplikasi 3-Dimensi secara interaktif.

OpenGL didesain untuk bekerja efektif terutama dalam jaringan komputer dengan menggunakan perintah gambar OpenGL. Selain itu OpenGL juga didesain sebagai pemersingkat, antar muka yang bebas untuk dapat diterapkan pada banyak jenis perangkat keras yang berbeda. Untuk mencapai kualitas, OpenGL tidak mempunyai perintah untuk membentuk tugas

windows atau masukan data. Meskipun begitu, pemakai tetap harus bekerja

melalui apa yang sistem window mengontrol perangkat keras yang digunakan. OpenGL tidak menyediakan perintah tingkat tinggi untuk menjelaskan model obyek tiga dimensi, seperti perintah yang mengijinkan untuk membentuk model khusus yang relatif sulit misalnya bagian tubuh, mobil, pesawat, atau molekul. OpenGL hanya dapat membuat model obyek dari bentuk primitif seperti titik, garis dan polygon.

2.5.1 SEJARAH OPENGL

OpenGL adalah perkembangan dari API program 3-Dimensi IRIS GL yang dibuat oleh perusahaan Silicon Graphics Inc. (SGI) pada tahun sekitar akhir 1980-an. Tujuan awalnya API ini adalah mengembangkan aplikasi citra seperti CAD dan animasi. Sampai sekarang terdapat lebih dari 1500 aplikasi yang menggunakan IRIS GL untuk proses rendering. Kekurangan dari IRIS GL adalah hak kepemilikannya pada batasan sistem window yang membuat pengubahan kode sulit meski menggunakan produk dari SGI sendiri.

Pada tahun 1992 SGI memperkenalkan API 3-Dimensi baru bernama Open Graphics Library atau sering disebut OpenGL. Berbeda dengan IRIS GL,

OpenGL mengijinkan penggambaran 3-Dimensi tanpa menggunakan batasan sistem window. API OpenGL menggunakan nama unik dimana semua perintah diawali huruf kecil “gl” (glColor, glEnable) dan tipe data diawali huruf besar “GL” (GLfloat, Gldouble).

Selama beberapa tahun, industri grafika menggunakan OpenGL ketika industri game masih menggunakan perangkat keras DOS tanpa kartu grafik akselerasi. SGI membuat badan untuk menangani kemajuan API bernama OpenGL Architecture Review Board (ARB) termasuk didalamnya perusahaan SGI, nVIDIA, ATI, Matrox, 3Dlabs dan lain-lain. Anggota ARB beberapa kali dalam setahun membahas bagaimana API yang diinginkan. Pada tahun pertengahan 1990, perangkat keras akselerasi merosot harga jualnya dan kartu akselerasi video mulai dijual dengan kemampuan khusus library dari perusahaannya saja yang dapat diakses. Windows 95 dan NT4 mengatasi perkembangan ini dengan menambah perangkat lunak yang mendukung OpenGL.

Pada tahun 1995 Brian Paul membuat API 3-Dimensi bernama Mesa yang merupakan implementasi open source dari OpenGL. Ketika Mesa mulai dibuat, Brian Paul mendapat ijin dari SGI untuk menggunakan struktur perintah dari OpenGL. Karena Mesa tidak secara resmi berhubungan dengan SGI maka tidak ada garansi bahwa kode program dapat bekerja secara sempurna.

Pada tahun 1996 pengembang game id software mengeluarkan tiga program tambahan pada game berjudul Quake yang mengubah jalur grafika

3-Dimensi pada industri game. Tiga patch tersebut antara lain Verite Quake, Rendition Quake, dan GL Quake yang menggunakan OpenGL. Quake adalah game pertama yang menggunakan kelebihan perangkat keras akselerasi secara penuh dan permasalahannya adalah sedikit kartu grafik yang mendukung rendering OpenGL. Kartu grafis pendukung OpenGL pertama yang dijual untuk konsumen umum adalah 3DFX Voodoo atau seri Voodoo dari perusahaan Interactive. Sejak saat itu penggunaan kartu grafis mulai diterima konsumen umum dan perusahaan kartu grafis lainnya mulai membuat kartu yang diberi label mendukung GL Quake. 3DFX juga membuat API 3-Dimensi sendiri bernama GLIDE

Pada tahun 1998, Microsoft memperkenalkan API 3-Dimensi yang disebut Direct3D yang dimasukkan dalam komponen multimedia DirectX. Karena kepopuleran GL Quake, banyak software yang memakai mesin Quake untuk membuat game dan menjadikannya standar untuk grafik game komputer. Setelah beberapa tahun, perkembangan OpenGL masih tetap sedangkan Direct3D semakin populer dan menjadi standar untuk perkembangan game. Kelebihan OpenGL ada pada pengembangan grafika CAD dan sifatnya yang dapat berjalan pada banyak sistem operasi. Sebagai perbandingan, Glide hanya mendukung Windows dan GNU atau linux dan sekarang sangat jarang dipakai. Direct3D hanya mendukung Windows dan mesin video game Xbox. OpenGL dapat mendukung Windows, GNU linux, Mac OS, UNIX, AIX, HP-UX, FreeBSD, NEXTstep, OPENstep, OS/2, BeOS dan Playstation 2 melalui tambahan PS2Linux.

Pada Juli 2002 OpenGL mengeluarkan versi 1.04 yang diikuti dengan Mesa versi 5 yang dikenalkan pada Oktober 2002. Kedua API ini mempunyai kemampuan yang sama. Baik OpenGL dan Mesa mendukung rendering oleh perangkat keras akselerasi yang berarti kartu grafis dapat melakukan perhitungan yang biasanya dihitung oleh CPU. Jika tidak ada perangkat keras akselerasi maka perhitungan akan dilakukan oleh CPU. Contohnya pada proses memutar obyek dan perubahan ukuran, prosesor menghitung dan kemudian menggambar obyeknya. Proses tersebut akan memperlambat proses rendering karena CPU membuang waktu karena ada operasi lain juga memerlukan perhitungan seperti AI, suara, dan lain-lain.

2.5.2 PEMAKAIAN OPENGL

API OpenGL dibagi menjadi 3 bagian antara lain

1 Fungsi-fungsi yang didefinisikan oleh OpenGL yang sama seperti ditetapkan pada OpenGL Architecture Review Board yaitu yang berada pada library opengl32.dll dengan file header gl.h. Fungsi dari library ini berawalan kata gl.

2 Fungsi-fungsi yang ada pada OpenGL Utility Library (GLU) atau glu32.dll dengan file header glu.h. Library ini berisi beberapa fungsi yang membuat tugas lebih mudah seperti pembuatan matrik, pembuatan polygon dan rendering permukaan. Library ini sebenarnya dibuat menggunakan perintah OpenGL yang kemudian digaransikan

dapat bekerja dalam semua sistem yang mendukung OpenGL. Fungsi-fungsi ini berawalan kata glu.

3 Fungsi-fungsi yang ada dalam Auxiliary (bantuan) atau AUX yang ada pada library glaux.lib dengan file header glaux.h. Fungsi yang ada di sini bukan merupakan bagian dari yang ditetapkan OpenGL, tetapi karena library bantuan ini menyediakan kerangka kerja yang bebas untuk memanggil fungsi OpenGL. Library ini berasal dari SDK Win32 dan fungsi-fungsinya berawalan aux.

Library AUX digunakan hanya di sistem operasi Windows dan untuk sistem operasi lain digunakan library yang berbeda. Pada X-Window, library bantuan yang digunakan adalah OpenGL Extension to the X Window System (GLX). Microsoft Windows menggunakan WGL yang hanya bisa menggambar pada satu buah jendela dan dengan bantuan library AUX dapat membuat banyak jendela seperti menu, kotak dialog dan lain-lain. IBM OS/2 digunakan Presentation Manager to OpenGL interface (PGL).

OpenGL juga mempunyai alat bantu yang bisa menyembunyikan kerumitan pemrograman windows yaitu OpenGL Utility Toolkit (GLUT) yang dibuat Mark Kilgard. Selain itu juga terdapat Open Inventor yang merupakan alat bantu berorientasi obyek yang menyediakan obyek dan metode untuk menciptakan grafik 3-Dimensi.

Dalam dokumen TEKNIK CELL SHADING MENGGUNAKAN OPENGL (Halaman 35-40)

Dokumen terkait