Sejarah OpenGL
Tahun 1980-an, mengembangkan perangkat lunak yang dapat berfungsi dengan
berbagai hardware grafis adalah tantangan nyata. Pengembang perangkat
lunak antarmuka dan kebiasaan menulis driver untuk setiap perangkat
keras. Ini mahal dan mengakibatkan banyak duplikasi usaha.
Pada awal 1990-an, Silicon Graphics (SGI) adalah seorang pemimpin dalam
grafis 3D untuk workstation. Mereka IRIS GL API dianggap keadaan seni
dan menjadi standar industri de facto, membayangi terbuka berbasis
standar PHIGS. Ini karena GL IRIS dianggap lebih mudah digunakan, dan
karena itu mendukung modus langsung rendering. By contrast, Sebaliknya,
PHIGS dianggap sulit untuk digunakan dan ketinggalan zaman dalam hal
fungsionalitas.
SGI’s pesaing (termasuk Sun Microsystems, Hewlett-Packard dan IBM) juga
dapat membawa ke pasar 3D hardware, didukung oleh ekstensi yang dibuat
pada PHIGS standar. Hal ini pada gilirannya menyebabkan pangsa pasar SGI
untuk melemahkan karena lebih banyak hardware grafis 3D pemasok
memasuki pasar. Dalam upaya untuk mempengaruhi pasar, SGI memutuskan
untuk mengubah IrisGL API menjadi standar terbuka. SGI menganggap bahwa
IrisGL API itu sendiri tidak cocok untuk membuka karena masalah lisensi
dan paten. Juga, IrisGL memiliki fungsi-fungsi API yang tidak relevan
dengan grafis 3D. Sebagai contoh, termasuk windowing, keyboard dan mouse
API, sebagian karena dikembangkan sebelum Sistem X Window dan Sun’s
NEWS sistem dikembangkan. Selain itu, SGI memiliki sejumlah besar
pelanggan perangkat lunak; dengan mengubah ke OpenGL API mereka
berencana untuk mempertahankan pelanggan mereka terkunci ke SGI (dan
IBM) hardware untuk beberapa tahun sementara pasar dukungan untuk OpenGL
matang. Sementara itu, SGI akan terus berusaha untuk mempertahankan
pelanggan mereka terikat pada hardware SGI dengan mengembangkan maju dan
kepemilikan Iris Inventor dan Iris Performer pemrograman API.
Akibatnya, SGI merilis standar OpenGL.
Pengenalan OpenGL
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).
SYNTAX OPENGL
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.
Penggambaran Primitif
Grafik Dasar
dan lingkaran. Masing-masing perintah atau fungsi dalam OpenGL mempunyai format dan
struktur yang sama. Ini memudahkan untuk mengetahui bagaimana jalannya fungsi,
argumen yang dibutuhkan untuk melakukannya dan format tipe datanya. Pada tabel 1
menunjukan contoh perintah OpenGL yang digunakan, dan tabel 2 menunjukan format fungsi OpenGL
Tabel 1. Contoh-contoh Perintah dalam OpenGL
glBegin(GL_POINTS); Titik Objek primitif
glBegin(GL_LINES); Garis Objek primitif
glBegin(GL_LINE_STRIP); Poligaris Objek primitif
glBegin(GL_LINE_LOOP); Poligaris tertutup Objek primitif
glBegin(GL_LINES); Garis Objek primitif
glBegin(GL_LINE_STRIP); Poligaris Objek primitif
glBegin(GL_LINE_LOOP); Poligaris tertutup Objek primitif
glBegin(GL_TRIANGLES); Segitiga Objek primitif
glBegin(GL_TRIANGLE_STRIP); Segitiga Objek
primitif
glBegin(GL_TRIANGLE_FAN);
Segitiga
Objek
primitif
glBegin(GL_QUADS);
Segiempat Objek
primitif
glBegin(GL_QUADS_STRIP);
Segiempat
Objek
primitif
glBegin(GL_LINE_STIPPLE); Garis putus-putus Objek primitif
glBegin(GL_POLY_STIPPLE); Poligon dengan pola Objek primitif




glBegin(GL_LINE_STIPPLE); Garis putus-putus Objek primitif
glBegin(GL_POLY_STIPPLE); Poligon dengan pola Objek primitif
Tabel 2. Format Fungsi
OpenGL
Suffix Tipe
Data C++
atau C OpenGL
b Integer 8-bit Signed char GLbyte
s Integer 16-bit Short GLshort


Tidak ada komentar:
Posting Komentar