I : Menggunakan OpenGL

Untuk dapat menggunakan OpenGL dalan Visual C++, diperlukan library OpenGL. Library ini bisa didapatkan di http://www.opengl.org atau dari CD yang disertakan dalam buku ini. Sebelum anda mulai menggunakan OpenGL, anda harus memasukkan file “opengl32.lib”, “glu32.lib”, dan “glaux.lib” ke dalam folder “..\vc98\lib”. Kemudian file header “gl.h”, glaux.h”, dan “glu.h” ke dalam folder “..\vc98\include\gl” Bila folder gl tersebut tidak ada, buat terlebih dahulu. Cara termudah adalah langsung men-copy sub-folder “gl” yang terdapat di CD dalam folder “OpenGL library\header” ke folder “..\vc98\include”. Sekarang anda siap menggunakan OpenGL dalam MS Visual C++ 6.0 Setelah melakukan langkah-langkah di atas, jalankan MS Visual C++ 6.0. Bila anda belum memiliki MS Visual C++ 6.0, instal program tersebut terlebih dahulu. Buatlah proyek baru: File > New , klik tag Projects, lalu pilih Win 32 Application. Masukkan nama proyek sebagai “Menggunakan OpenGL” dan pilih folder tempat menyimpan proyek ini. Akan muncul windows baru. Pada window baru tersebut, pastikan An empty project aktif, lalu klik tombol Finish.
Image:Gambar_4.1.jpg

[Gambar 4.1: Memulai proyek ]
Sekarang proyek baru sudah terbuat. Di harddisk, anda akan melihat adanya folder dengan nama “Menggunakan OpenGL”. Dalam folder tersebut disimpan segala file yang diperlukan dalam proyek ini. Copy file “main.cpp” dan “main.h” dari CD dalam folder “Latihan membuat dasar game 3D\Latihan\I – Menggunakan OpenGL” ke folder tersebut. Klik File view di sudut kiri bawah. File view berarti menampilkan daftar file yang berhubungan dengan proyek yang aktif, sedangkan class view berarti menampilkan daftar class yang berhubungan dengan proyek. Tampilan akan seperti pada gambar 4.2.
Image:Gambar_4.2.jpg

[Gambar 4.2: File view ]
Sekarang anda harus memasukkan file yang telah anda copy ke dalam proyek untuk menggunakan OpenGL. File tersebut terdiri dari file source dan file header. Untuk latihan ini, hanya digunakan sebuah file header dan sebuah file source. Untuk memasukkan file source, klik kanan pada Source Files, lalu Add files to folder. Pilih file “main.cpp” lelu klik OK. Kemudian masukkan file header dengan cara klik kanan pada Header Files, lalu Add files to folder. Pilih file “main.h” lalu klik OK. Hasil akan tampak seperti pada gambar 4.3.
Image:Gambar_4.3.jpg

[Gambar 4.3: Memasukkan file ke dalam proyek ]
Jalankan proyek ini dengan cara klik Build > Execute Menggunakan OpenGL.exe atau dengan menekan Ctrl + F5. Akan muncul layar kosong berwarna hitam. Itu adalah program kosong yang menggunakan OpenGL. Hasil akhir program ini dapat dilihat di CD pada folder “Latihan membuat dasar game 3D\Hasil Akhir\I – Menggunakan OpenGL”. Sekarang marilah kita mempelajari kode dari program ini. Double click file main.h. Isi dari file main.h akan muncul. Akan tampak seperti pada gambar 4.4.
Image:Gambar_4.3.jpg

[Gambar 4.4: main.h ]

#include <stdio.h>
#include <windows.h>		// Header File For Windows
#include <gl\gl.h>			// Header File For The OpenGL32 Library
#include <gl\glu.h>			// Header File For The GLu32 Library
#include <gl\glaux.h>			// Header File For The Glaux Library

Baris kode di atas berfungsi untuk memasukkan header file yang digunakan. 3 baris terakhir adalah header dari OpenGL. Program ini tidak akan jalan bila anda belum mencopy ketiga file tersebut ke folder “..\vc98\include\gl”.

#pragma comment( lib, "opengl32.lib" )	 
#pragma comment( lib, "glu32.lib" )		
#pragma comment( lib, "glaux.lib" )	
</code>

Sedangkan baris kode di atas berfungsi untuk memasukkan library yang diperlukan untuk menggunakan OpenGL. File library tersebut juga perlu dicopy terlebih dahulu ke folder “..\vc98\lib”. Seharusnya file tersebut sudah berada di folder yang tepat bila anda mengikuti langkah-langkah dalam latihan ini dengan benar.

Sekarang kita lihat file source yang ada.Double click file “main.cpp”

<code>

#include "main.h"

Baris kode di atas berfungsi untuk memasukkan file header yang dibuat. Segala file header yang dibuat harus dimasukkan dengan cara seperti di atas. Sekarang akan kita bahas fungsi-fungsi yang penting dalam file “main.cpp” ini. Fungsi yang dibahas adalah fungsi-fungsi yang penting saja dan tidak akan dibahas dengan terlalu mendalam, anda perlu mempelajari sendiri dengan sumber yang lebih lengkap bila anda ingin mengetahui OpenGL dengan lebih mendalam. Buku ini hanya mengajarkan dasar-dasar saja agar anda dapat menggunakan OpenGL secara garis besar.

void ReSizeGLScene(GLsizei width, GLsizei height)

Fungsi ini digunakan untuk merubah ukuran window yang digunakan dalam OpenGL. 

gluPerspective(45.0f,(GLfloat)width/(GLfloat)height,0.1f,100.0f);

Fungsi ini digunakan untuk mengatur perspektif dari kamera. 45.0f adalah sudut pandang kamera, (GLfloat)width/(GLfloat)height adalah perbandingan panjang dan lebar layar, 0.1f adalah jarak terdekat yang bisa dilihat oleh OpenGL, sedangkan 100.0f adalah jarak terjauh yang bisa dilihat. Perhatikan tanda f pada akhir sebuah angka, tanda f ini menandakan bahwa angka tersebut dalam format floating point.

int InitGL(GLvoid)

Fungsi ini digunakan untuk menyatakan apa yang dilakukan saat pertama kali program dijalankan. Jadi fungsi ini hanya akan dieksekusi sekali saja.

glClearColor(0.0f, 0.0f, 0.0f, 0.5f);

Menandakan warna apa yang digunakan sebagai background. Warna dinyatakan dalam bentuk RGBA. Jadi angka pertama mewakili warna merah, kedua hijau, ketiga biru, dan keempat adalah Alpha atau tingkat transparansi. Tiap warna berkisar antara 0 hingga 1. Jadi bila anda ingin warna merah sebagai background, anda harus menggunakan glClearColor(1.0f, 0.0f, 0.0f, 0.5f);

int DrawGLScene(GLvoid)	

Berbeda dengan int InitGL(GLvoid) yang hanya dijalankan sekali saja, fungsi ini akan dijalankan berulang-ulang hingga program selesai dijalankan. Segala bentuk animasi diletakkan dalam fungsi ini. Fungsi-fungsi yang dibahas hanyalah sebagian kecil saja. Sekali lagi, bab ini hanya mengajarkan garis besar dalam pembuatan game 3D. Hasil akhir dari program dapat dilihat di CD pada folder “Latihan membuat dasar game 3D\Hasil Akhir\I – Menggunakan OpenGL”.

Fungsi / perintah dalam OpenGL Kegunaan
void ReSizeGLScene(GLsizei width, GLsizei height); Merubah ukuran window
gluPerspective(…); Menentukan tampilan perspektif OpenGL
int InitGL(GLvoid); Fungsi yang dijalankan sekali saja, yaitu pada awal program dijalankan
glClearColor(…); Membersihkan layar dengan warna yang diinginkan
int DrawGLScene(GLvoid); Fungsi yang dijalankan terus-menerus selama program masih dijalankan