22 Okt 2012

Tugas Grafis openGL

Saya mendapatkan tugas dari dosen grafis komputer saya untuk membuat suatu garis menggunakan openGL. Sebelum jauh membahasnya kita intermezzo terlebih dahulu. Apa itu openGL? openGL adalah spesifikasi standar yang mendefinisikan sebuah lintas-bahasa, lintas platform API untuk mengembangkan aplikasi yang menghasilkan grafis komputer 2D maupun 3D.


Antarmuka terdiri dari lebih dari 250 panggilan fungsi yang berbeda yang dapat digunakan untuk menggambar tiga dimensi yang adegan-adegan kompleks dari bentuk-bentuk primitif sederhana. OpenGL dikembangkan oleh Silicon Graphics Inc (SGI) pada tahun 1992  dan secara luas digunakan dalam CADrealitas maya, visualisasi ilmiah, visualisasi informasi, dansimulasi penerbangan.
Hal ini juga digunakan dalam video game, di mana bersaing dengan Direct3D on Microsoft Windows platform . OpenGL dikelola oleh sebuah teknologi konsorsium nirlaba yaitu Khronos Group.

Sebelumnya untuk membuat suatu project openGL kita tentu membutuhkan file GL tersebut, untuk mendapatkannya kita bisa cari di internet ada banyak sumber yang menunggah file tersebut. Dan tentu saja sebuah editor, disini saya menggunakan Microsoft Visual C++ yang bisa diunduh di website resmi Microsoft.

Membuat Garis
Untuk membuat garis kita tuliskan koding sebagai berikut:

void Vertikal()
{
float y; //Mendefinisikan variabel y sebagai float
printf("input y : "); scanf("%f",&y); //Menampilkan sebuah inputan ke var y
glPushMatrix();//menampilkan titik x,y
glLineWidth(2.0f);//mengatur ketebalan garis
glBegin(GL_LINES);
glColor3f(0.0f, 0.0f, 1.0f); glVertex2f(0.0f, 0.0f);//menggambar sebuah garis
glColor3f(0.0f, 0.0f, 1.0f); glVertex2f(0.0f, y/100.0f);//menggambar sebuah garis
glEnd();
glPopMatrix();
}

void Horizontal()
{
float x;//Mendefinisikan variabel x sebagai float
printf("input x : "); scanf("%f",&x);//Menampilkan sebuah inputan ke var x
glPushMatrix();//menampilkan titik x,y
glLineWidth(2.0f);//mengatur ketebalan garis
glBegin(GL_LINES);
glColor3f(0.0f, 0.0f, 1.0f); glVertex2f(0.0f, 0.0f);//menggambar sebuah garis
glColor3f(0.0f, 0.0f, 1.0f); glVertex2f(x/100.0f, 0.0f);//menggambar sebuah garis
glEnd();
glPopMatrix();
}

void Diagonal()
{
float x,y;//Mendefinisikan variabel x,y sebagai float
printf("input y : "); scanf("%f",&y);//Menampilkan sebuah inputan ke var y
printf("input x : "); scanf("%f",&x);//Menampilkan sebuah inputan ke var x
glPushMatrix();//menampilkan titik x,y
glLineWidth(2.0f);//mengatur ketebalan garis
glBegin(GL_LINES);
glColor3f(0.0f, 0.0f, 1.0f); glVertex2f( 0.0f, 0.0f);//menggambar sebuah garis
glColor3f(0.0f, 0.0f, 1.0f); glVertex2f( x/100.0f, y/100.0f); //menggambar sebuah garis
glEnd();
glPopMatrix();
}

Koding diatas adalah koding untuk membuat garis Vertikal , Horizontal, dan Diagonal. Tentu saja kita tidak hanya menuliskan itu saja. Kita juga membutuhkan header nya dan elemen-elemen lainnya seperti elemen untuk membuat suatu menu dan Tentu saja kita menggunakan Looping yang di wakili fungsi glutmainloop() bisa dilihat di gambar 3. Looping disini digunakan untuk membuat garis itu, jadi jika titik satu sudah ditemukan lalu selanjutnya di jalankan lagi looping nya sampai kondisinya terpenuhi.

Untuk lebih jelasnya seperti gambar berikut:
Gambar 1

Gambar 2
Untuk menguji nya apakah bisa untuk di jalankan kita compile terlebih dahulu dengan cara menekan tombol pada keyboard yaitu tombol ctrl + F7. Jika Tidak terdapat error maka langkah selanjutnya adalah membuild exe nya. Untuk membuild file Exe nya kita tekan saja Ctrl + F5. Jika tidak bisa maka kita lakukan secara manual dengan mengklik tab Build yang ada diatas menubar visual c++ lalu klik build exe.
Untuk hasil akhirnya seperti berikut:
Gambar 4
Gambar 5
Gambar 6

Tidak ada komentar: