directx

OpenGL vs DirectX

Distributed Computing merupakan salah satu bagian dari Ilmu Komputer yang mempelajari penggunaan terkoordinasi dari komputer yang secara fisik atau lokasi terpisah/terdistribusi. Salah satu Bab yang dibahas adalah API, atau Application Programming Interface. API adalah sekumpulan perintah, fungsi, dan protokol yang dapat digunakan oleh programmer saat membangun perangkat lunak untuk sistem operasi tertentu. API memungkinkan programmer untuk menggunakan fungsi standar untuk berinteraksi dengan sistem operasi.

Selain mengakses database atau hardware komputer, seperti harddisk drive atau video cards, API dapat digunakan untuk mempermudah pekerjaan graphical user interface components. Dalam prakteknya, banyak kali API datang dalam bentuk library yang meliputi spesifikasi untuk rutinitas, struktur data, object class, dan variabel. Dalam beberapa kasus lain, terutama untuk SOAP dan REST layanan, API datang hanya sebagai spesifikasi panggilan jarak jauh terarah ke konsumen API. Ada banyak sekali produk yang berbasis API. Salah satunya adalah openGL.
Definisi OpenGL (Open Graphics Library) adalah spesifikasi standar yang dapat di definisikan pada lintas bahasa pemrograman, lintas platform API untuk write, dan juga menjalankan aplikasi untuk grafis 2D dan 3D. OpenGL terdiri dari 250 fungsi berbeda yang dapat digunakan untuk menampilkan scene 3D yang kompleks pada komputer biasa. OpenGL secara luas digunakan dalam CAD, virtual reality, visualisasi ilmiah, visualisasi informasi, simulasi penerbangan, dan juga dalam game.

opengl            directx

MANA YANG LEBIH UNGGUL, DirectX atau OpenGL

Persaingan tiada akhir. Inilah yang tercemin dari dua standar grafik hardware dunia ini. OpenGL menawarkan standar grafik yang sederhana dengan menggunakan prosedural programming, yaitu menstandarkan fungsi-fungsi dengan prefix awal gl seperti glBegin(..) atau glEnd(..).
Sedangkan directX menawarkan teknologi programming windows yaitu dengan teknologi COM (Component Object Model). Kedua standar tersebut menawarkan fungsi-fungsi standar yang mirip, mungkin karena dulunya microsoft juga ikut mengembangkan OpenGL pada awal-awal pembuatannya, seperti GLSL dan HLSL.

Tetapi game-game terbaru pada PC kebanyakan memakai DirectX sebagai standar implementasinya. Mengapa? Suka tidak suka mau tidak mau para developer menggunakan directX karena directX merupakan framework yang tidak hanya berurusan dengan graphics saja tapi juga berurusan dengan semua bidang yang menunjang pembuatan sebuah game seperti input (directinput), networking (directplay), dan sound (directsound). Sedangkan pesaingnya, OpenGL, hanya memfocuskan diri pada standar grafik saja.

Lalu apakah kelebihan OpenGL daripada DirectX? Ada beberapa kelebihan OpenGL daripada directX, yaitu pertama adalah standar OpenGL bersifat multiplatform (dapat berjalan di banyak Operating System) sehingga selain di Windows, teknologi OpenGL juga ditemukan pada Linux, FreeBSD, OSx (Mac OS), Unix, Symbian OS, dan masih banyak lagi OS yang mensupport OpenGL. Hal tersebut dikarenakan standar OpenGL bersifat open dan dapat diimplementasikan oleh siapa saja. Berbeda dengan directX, yang notabennya dipunyai oleh microsoft, implementasi directX tidak boleh sembarangan dan hanya boleh dilakukan oleh microsoft.

Kelebihan kedua adalah supporting terhadap micro device seperti handphone, smartphone, PDA, dan gameing console. OpenGL ES merupakan standar OpenGL yang diadopsi untuk micro device, sehingga hadir dalam tahun ini game 3d dimensi (pure 3d) yang dapat berjalan di handphone atau PDA. Bagaimana dengan gaming console? OpenGL masih menjadi standar programming untuk beberapa console seperti Sony Playstation, Nintendo Wii & DS, dan PSP. Bahkan PDA dengan OS Windows CE masih menggunakan OpenGL sebagai standar grafik hardwarenya. Dalam pasar micro device directX kalah bersaing dengan OpenGL.

Selain kelebihan OpenGL juga mempunyai kelemahan. Kelemahan pertama yaitu OpenGL hanya berupa basic prosedural library sehingga tidak mempunyai mekanisme untuk menangani berbagai macam permasalahan. Contoh kecil saja, pada directX dikenal 3D model file dengan format X. Format tersebut didukung penuh oleh directX dan masih terus dikembangkan sampai saat ini. Sedangkan OpenGL tidak mempunyai format sendiri, meskipun baru-baru ini Khronos Group (Pengembang OpenGL) mengeluarkan suatu format 3D model yaitu COLLADA tetapi tetap OpenGL API dan COLLADA adalah standar yang berbeda dalam hal fungsi.

Kelemahan lainnya adalah banyaknya standar yang hanya ada di suatu hardware vendor saja. OpenGL bersifat open sehingga semua orang dapat mengajukan standar yang diinginkan (dalam hal ini berupa OpenGL extension) sehingga menciptakan berbagai extension yang berbeda antara vendor satu dengan vendor lainnya. Sedangkan standar yang digunakan untuk kesemua hardware ditampung dan dikelola oleh ARB Forum. Ini menjadi suatu hardware misalkan ATI dengan NVIDIA mempunyai spesifik OpenGL Extension sendiri. Hal ini membuat susahnya mengimplementasikan game yang bisa berjalan dikedua hardware tersebut dengan teknologi terbarunya.

Alasan untuk tetap memilih OpenGL

OpenGL merupakan suatu grafis standard yang digunakan untuk pemrograman grafis pada berbagai macam platform dan dapat digunakan pada berbagai jenis compiler. Perlu diingat bahwa OpenGL bukanlah bahasa pemrograman tetapi merupakan suatu Application Programming Interface (API). OpenGL memiliki sifat open-source, multiplatform, dan multilanguage yang artinya OpenGL dapat bekerja pada berbagai macam system informasi dan telah didukung oleh semua bahasa pemrograman.
OpenGL adalah sebuah program aplikasi interface yang dapat digunakan untuk membuat aplikasi grafik berbentuk dua dimensi maupun tiga dimensi. OpenGL memberikan kemudahan bagi pemrogram untuk tidak menulis ulang bagian grafis setiap kali sebuah bisnis akan diupgrade dari sistem.

Mengeluarkan koleksi perintah khusus ke dalam system operasi merupakan fungsi dasar dari OpenGL. Oleh karena itu, OpenGL bekerja dengan perangkat grafis pada hard drive dan setiap perintah memang dirancang untuk melakukan tugas tertentu.
Lalu bagaimana dengan perbandingan antara OpenGL dengan DirectX?
Kedua standar grafik tersebut memang menyediakan fungsi-fungsi standar yang mirip. Hal ini dikarenakan, dulu Microsoft juga ikut mengembangkan OpenGL pada awalnya. OpenGL menggunakan procedural programming yang sederhana seperti standar fungsi-fungsi dengan prefix awal gl. Sedangkan DirectX menawarkan programming windows dengan teknologi COM (Component Object Model).

DirectX merupakan framework yang tidak hanya focus pada grafik saja melainkan juga dengan semua bidang seperti pembuatan game. Sedangkan OpenGL hanya focus pada standar grafik saja. Kelamahan yang lain dari OpenGL yaitu OpenGL tidak mempunyai mekanisme untuk menangani berbagai masalah karena OpenGL hanya berupa basic procedural library. Selain itu OpenGL bersifat open yang mengakibatkan semua orang dapat mengajukan standar sesuai keinginannya sehingga terciptalah berbagai extension yang berbeda dari vendor yang satu dengan yang lainnya.
Meskipun dengan beberapa kelemahan tersebut, masih banyak alasan bagi sebagian orang untuk memilih OpenGL. Beberapa alasan tersebut adalah:

1. OpenGL lebih kuat daripada DirectX
OpenGL memberikan programmer akses langsung ke semua fitur grafis baru pada semua platform. Sebagian besar gamer menggunakan windows XP, sedangkan DirectX tidak bekerja pada Windows XP. Untuk itulah tidak ada pilihan yang memberikan grafis terbaik selain OpenGL.

2. OpenGL adalah Multiplatform
Artinya, OpenGL dapat berjalan pada berbagai system operasi. Hal itu karena standar OpenGL bersifat open dan dapat diimplementasikan oleh siapa saja. Berbeda dari DirectX yangimplementasinya tidak boleh sembarangan dan hanya boleh dilakukan oleh Microsoft.

3. Supporting terhadap micro device
OpenGL masih menjadi standar programming untuk beberapa console, bahkan PDA dengan system operasi Windows CE masih menggunakan OpenGL sebagai standar grafik hardwarenya. DirectX kalah bersaing dengan OpenGL dalam pasar micro.

4. Masa depan yang cerah untuk game
OpenGL diciptakan untuk memungkinkan pengguna pada platform apapun menikmati grafis berkualitas tinggi pada perangkat keras mereka.

Leave a Reply