DOKUMENTASI TUGAS TUTORIAL GLUT
EL5130 Grafika komputer dan pemograman GPU
Oleh
Nama : Gigin Ginanjar
NIM : 23208318
MAGISTER TEKNIK ELEKTRO DAN INFORMATIKA
BIDANG KHUSUS DIGITAL MEDIA DAN GAME TEKNOLOGI
INSTITUT TEKNOLOGI BANDUNG
2009
Dokumentasi Tutorial OpenGL menggunakan GLUT
Untuk menjalankan program pada Suplemen Diktat Kuliah OpenGL Tutorial[1] dengan GLUT: Fixed Pipeline maka ada hal yang harus dilakukan dahulu seperti membuat compiler yang dalam hal ini menggunakan Compiler CodeBlock[2] untuk melink baik library maupun include yang diperlukan. Untuk mensetting Glut diperlukan file file seperti yang terlihat dari Tabel1.
Tabel 1 File Yang diperlukan untuk meninstal Glut
No Nama File Lokasi
1. glut32.lib c:\program files\mingw\lib
2. glut.lib c:\program files\mingw\lib
3. glut.h c:\program files\mingw\include\GL
4. glut.dll c:\windows\system
5. glut32.dll c:\windows\system
File tersebut dapat diperoleh dari alamat resmi pembuat openGL[3]Atau pada alamat Nate Robins [4][5].
Secara keseluruhan CodeBlock telah menyediakan suatu project khusus untuk glut akan tetapi CodeBlok masih memerlukan file yang terdapat pada tabel1 agar program sample tersebut bekerja. Adapun cara untuk menginstal program glut pada Codeblok terdapat pada [6]. Detail cara menginstall glut terdapat pada lampiran1.
Maka apa bila program sample dari code blok itu berjalan maka akan tampil seperti gambar1 dibawah ini
Gambar1 Hasil akhir sample program glut pada Codeblock
Apabila telah diperoleh seperti gambar 1maka Codeblock telah siap digunakan dan Program pertama dari tutorial.
Tutorial 1 “Hello World” dengan GLUT
Program 1 GLUT “Hello World” & Gambar Segiempat
Dengan mengubah program sample dengan program 1 pada [1] maka hasil yang akan diperoleh adalah dapat dilihat dari gambar2
Gambar 2 Tampilan dari program 1 tutorial
Gambar 3 Tampilan dari console program 1
Istilah penting dari program pertama
glClear(GL_COLOR_BUFFER_BIT);
glBegin(GL_POLYGON);
glVertex2f(-0.5, -0.5);
glEnd();
glFlush();
glutCreateWindow("simple “);
glutDisplayFunc(mydisplay);
glutMainLoop();
Tutorial2 OpenGL Primitives
Program 2 Segitiga
Hasil program ini dapat dilihat dari gambar 4
Gambar 4. Tampilan dari program 2.
Program 3
Hasil program ini dapat dilihat dari gambar 5
Gambar 5 Tampilan dari program 3.
Istilah baru dalam program 3
glColor3f(0, 1, 0);
Tugas1: Buat Program untuk menggambar jenis OpenGL Geometric Primitive yang lain
Bentuk geometric primitiv ayng sipergunakan adalah GL_QUADS dimana bentuk segiempat tidak beraturan yang dapat dilihat dari gambar 6
Gambar 6 Tampilan tugas 1
Program 4
Hasil program 4 dapat dilihat dari gambar 7
Gambar 6 Tampilan dari program 4.
Tutorial 03. 3D Vertex
Program 5
Hasil program 9 dapat dilihat dari gambar 8
Gambar 8 Tampilan dari program 5.
Istilah pada program 5 adalah
glVertex3f(-0.5, -0.5, 1);
Tutorial 04. Callback Reshape
Program 6
Istilah pada program yang digunakan untuk program yang dapat meresize adalah
glutReshapeFunc(resize);
glViewport(0, 0, (GLsizei)h, (GLsizei)h) ;
maka hasil dari program 6 adalah dapat dilihat dari gambar 9 (a) dan 9(b) re dibawah initelah digrag memperlebar ukuran size windowsnya
(a)
(b)
Gambar 9 Tampilan program resize
Tutorial 04. Modeling & Transformasi Proyeksi
Program 07 Proyeksi Perspektif
Hasil tampilan dari program 7 dapat dilihat dari gambar 10
Gambar 10 Tampilan progaram 07 Proyeksi Perspektif
Hasil dari program 7 adalah:
1. Projectif Prespektif
glMatrixMode( GL_PROJECTION );
glLoadIdentity();
glTranslatef(0.0,0.0f,z_pos);
glRotatef(rot, 0, 0, 1);
glutSwapBuffers(); //mengindari flicker
2. Fungsi dari keyboard
glutKeyboardFunc(myKeyboard);
3. Reshape
4. Timer
glutPostRedisplay();
glutTimerFunc(100, myTimeOut, 0);
Istilah baru dalam program 7
Tutorial 05. Urutan Transformasi
Program 8
Hasil program8 dapat dilihat dari gambar 11
Gambar 11. Program objek kompleks
Istilah penting dalam program 8 adalah
glutInitDisplayMode( GLUT_DOUBLE | GLUT_DEPTH );
Tutorial 06. Texture Mapping & Blending
Program 09
Program ini menggunakan library glaux.h dan yang untuk membuat suatu texure yang dibuat pada program 8 sebelumnya dengan image bitmap. Untuk menggunakan glux ini dipergunakan liblary yang tutorial pemasangan dan liblarynya terdapat pada glaux.h dan glaux,lib dan glaux.dll pada tempat tertentu seperti pada seting awal GLUT. Untuk program yang memangil file disarankan untuk tidak menggunakakan project template GLUT pada CodeBlock akan tetapi menggunakan application console seperti menggunakan bahasa pemogaman C/C++ setting dengan cara ini akan dibahas pada lampiran 2 dan gambar yang dipergunakan adalah yang berukuran 256x256 pixel.
Hasil dari program 9 dapat dilihat dari gambar 12
(a)
(b)
Gambar 12 Program texture dan filter
Isilah yang digunakan dalam program 9 adalah
Program 10 Blending
Blending adalah mengabungkan gambar untuk hal ini dapat dilihat darigambar 13 dimana terdapat perbedaan warna bila dilihat dari gambar 12 terjadi pencampuran antara warna hijau dan biru terhadap gambar akhirnya
Gambar 13 Program Blending
Istilah istilah pada program 10 adalah
glEnable(GL_BLEND); // Turn Blending On
glColor3f(1.0,0.0,0.0);
glBindTexture(GL_TEXTURE_2D, texture[filter]);
Program 11 Transparansi
Tampilan transparansi dari program 9 adalah dapat dilihat dari program program 11 dan dapat dilihat dari gambar 14
Gambar 14 Program transparansi
Istilah istilah pada program 11 adalah
glColor4f(1.0f, 1.0f, 1.0f, 0.5);// Full Brightness. 50% Alpha
glBlendFunc(GL_SRC_ALPHA,GL_ONE);
Program 12 Fog
Hasil dari program fog dapat dilihat dari gambar 15
Gambar 15 Program fog
Tutorial 09. Obyek Kompleks
Program 13.
Hasil dari program 13 dapat dilihat dari gambar 16
Gambar 16 Progam 3D
Program 14 3ds loader
Program ini membaca file 3ds dan texturenya dapat dilihat dari [7] hasil dari program ini adalah dapat dilihat dari gambar 17
Gambar 17 Program 3ds loader dan texture
Program 16 Particle
Gambar dari partikel seperti air mancur dari program 16 dapat dilihat dari gambar 18
Gambar 18 Tampilan program partikel
Program 17
Tampilan dari program ini dapat didari gambar 19. Program ini menggunakan file obj yang penggunaaannya dapat dilihat dari Nate Robin tutorial [8].
Gambar 19 Program light dan texture
Program 18
Hasil Akhir dari program 18 adalah dapat dilihat dari gambar 20.
Gambar 20 Program Light Positisioning.
Tutorial 12.Vertex Animation
Program 19
Hasil program dari progran 19 dapat dilihat dari gambar 21.
Gambar 21 Vertex animation
Referensi
[1] Suplemen Diktat Kuliah EC5130 – Grafika Komputer dan Pemrograman GPU
[2] http://www.sci.brooklyn.cuny.edu/~goetz/codeblocks/glut/
[3] http://www.opengl.org/resources/libraries/glut/glutdlls37beta.zip
[4] http://www.xmission.com/~nate/glut/glut-3.7.6-src.zip
[5] http://www.xmission.com/~nate/glut/glut-3.7.6-bin.zip
[6] http://www.sci.brooklyn.cuny.edu/~goetz/codeblocks/glut/
[7] http://www.spacesimulator.net/tut4_3dsloader.html
[8] http://www.xmission.com/~nate/tutors/tutors-win32.zip