Pada fungsi main terdapat statement glutDisplayFuncrenderScene; hilangkan

berfungsi sebagai fungsi pemanggilan display. glutMainLoop berfungsi sebagai fungsi untuk melakukan perulangan event. glutInitDisplayMode berfungsi sebagai fungsi permintaan pemunculan properties untuk setting window yaitu : RGB colour, single buffering dan properties logically ORed together. glutInitWindowPosition100,100 artinya, membuat windows dengan posisi diletakkan pada titik kiri atas jendela pada layar computer. glutInitWindowSize320,320 artinya membuat windows dengan ukuran 320,320.  Point:

1. Pada fungsi main terdapat statement glutDisplayFuncrenderScene; hilangkan

atau jadikan pernyataan tersebut menjadi comment. Apa yang terjadi? Mengapa? Syntax : include stdlib.h include glut.h void renderScene void { } void main int argc, char argv { glutInitargc, argv; glutInitDisplayModeGLUT_DEPTH | GLUT_SINGLE | GLUT_RGBA; glutInitWindowPosition100,100; glutInitWindowSize320,320; glutCreateWindow GLUT : Harits Ar Rosyid ; glutMainLoop; } Screen shoot : Penjelasan : - Jika glutDisplayFuncrenderscene dihilangkan maka akan meyebabkan tampilan display menjadi eror dalam arti muncul tetapi hanya sekilas , kemudian program langsung berhenti. Hal ini terjadi karena fungsi glutDisplayFunc yang sangat penting dalam pemrograman glut yaitu sebagai pemanggilan display, jika tidak ada fungsi ini maka program tidak dapat tampil sebagaimana mestinya. 2. Cantumkan kembali fungsi glutDisplayFuncrenderScene; Ubah-ubahlah parameter pada fungsi glutInitWindowPosition, Bagaimana sistem koordinat yang diterapkan bagi window aplikasi? gambarkan sistem koordinatnya Syntax : include stdlib.h include glut.h void renderScene void { } void main int argc, char argv { glutInitargc, argv; glutInitDisplayModeGLUT_DEPTH | GLUT_SINGLE | GLUT_RGBA; glutInitWindowPosition90,90; glutInitWindowSize320,320; glutCreateWindow GLUT : Harits Ar Rosyid ; glutDisplayFuncrenderScene; glutMainLoop; } Screen shoot: Penjelasan : - Setelah mencantumkan kembali fungsi glutDisplayFunc maka program data tampil sebagaimana mestinya. Kemudian program diatas mengubah posisi windows menjadi 90,90 posisi akan berubah sesuai dengan ukuran lcd computer yang digunakan dengan cara mengubah parameter pada fungsi glutInitWindowPosition. - Titik titik pada kuadran II merupakan letak windows program yang ditampilkan. 3. Pada program dan tambahkan program di bawah ini ke dalam fungsi renderScene. Gambarkan sistem koordinat dan titik-titik koordinatnya yang diterapkan untuk menghasilkan segitiga tersebut Syntax : include stdlib.h include glut.h void renderScene void { glClearGL_COLOR_BUFFER_BIT; glBeginGL_TRIANGLES; glVertex3f-0.5,-0.5,0.0; a glVertex3f0.5,0.0,0.0; b glVertex3f0.0,0.5,0.0; c glEnd; glFlush; } void main int argc, char argv { glutInitargc, argv; glutInitDisplayModeGLUT_DEPTH | GLUT_SINGLE | GLUT_RGBA; glutInitWindowPosition90,90; glutInitWindowSize320,320; glutCreateWindow GLUT : Harits Ar Rosyid ; glutDisplayFuncrenderScene; glutMainLoop; } Screen shoot : Penjelasan : - Menggunakan fungsi glutClearGL_COLOR_BUFFER_BIT yang artinya mendefinisikan warna dari windows yang dibuat.Menggunakan fungsi glVertex3f yang artinya Vertex adalah nama fungsi kemudian 3f adalah dimensi yang akan dibentuk dalam parameter koordinat x,y dan z. fungsi glBeginGL_TRIANGLE artinya adalah fungsi untuk membuat objek dengan bentuk segitiga dan setelah itu diikuti dengan fungsi glVertex3f dengan parameter titik koordinat yang membentuk sebuah segitiga. Kemudian program diatas mengganti judul windows yang sebelumnya menjadi “Glut : Harits Ar Rasyid” dengan cara hanya mengubah parameter yang terdapat pada fungsi glutCreateWindow. Dan juga pada program diatas mengubah posisi window menjad 90,90 posisi akan berubah sesuai dengan ukuran lcd computer yang digunakan. 4. Buatlah agar segitiga menjadi segitiga siku-siku dan terletak pada posisi kiri atas, kanan atas, kiri bawah, kanan bawah, dan tepat di tengah, dengan mengubah parameter pada fungsi glVertex3fa, b, c. Sajikan screenshot eksekusi program Syntax : include stdlib.h include glut.h void renderScene void { glClearGL_COLOR_BUFFER_BIT; glBeginGL_TRIANGLES; glVertex3f1.0,1.0,0.0; a glVertex3f1.0,0.5,0.0; b glVertex3f0.5,1.0,0.0; c glVertex3f-1.0,1.0,0.0; a glVertex3f-1.0,0.5,0.0; b glVertex3f-0.5,1.0,0.0; c glVertex3f-1.0,-1.0,0.0; a glVertex3f-1.0,-0.5,0.0; b glVertex3f-0.5,-1.0,0.0; c glVertex3f1.0,-1.0,0.0; a glVertex3f1.0,-0.5,0.0; b glVertex3f0.5,-1.0,0.0; c glVertex3f-0.5,-0.5,0.0; a glVertex3f-0.5,0.5,0.0; b glVertex3f0.5,-0.5,0.0; c glEnd; glFlush; } void main int argc, char argv { glutInitargc, argv; glutInitDisplayModeGLUT_DEPTH | GLUT_SINGLE | GLUT_RGBA; glutInitWindowPosition100,100; glutInitWindowSize320,320; glutCreateWindow GLUT : Harits Ar Rosyid ; glutDisplayFuncrenderScene; glutMainLoop; } Screen shoot : Penjelasan : - Program diatas menampilkan 5 objek segitiga siku- siku. Program diatas menggunakan 15 fungsi glVertex untuk 5 objek dengan masing-masing objek terdiri dari 3 titik 3 fungsi glVertex sehingga untuk satu objek dibutuhkan 3 fungsi glVertex untuk dapat menggambarkan objeknya pada windows. Program diatas dibuat dengan ukuran size 320,320 dan posisi windows dengan ukuran 100,100. glVertex3f1.0,1.0,0.0; a glVertex3f1.0,0.5,0.0; b glVertex3f0.5,1.0,0.0; c fungsi ini digunakan untuk membuat objek segitiga siku-siku bagian kanan atas glVertex3f-1.0,1.0,0.0; a glVertex3f-1.0,0.5,0.0; b glVertex3f-0.5,1.0,0.0; c fungsi ini digunakan untuk membuat segitiga siku-siku bagian kiri atas glVertex3f-1.0,-1.0,0.0; a glVertex3f-1.0,-0.5,0.0; b glVertex3f-0.5,-1.0,0.0; c fungsi ini digunakan untuk membuat segitiga siku-siku bagian kiri bawah glVertex3f1.0,-1.0,0.0; a glVertex3f1.0,-0.5,0.0; b glVertex3f0.5,-1.0,0.0; c fungsi ini digunakan untuk membuat segitiga siku-siku bagian kanan bawah glVertex3f-0.5,-0.5,0.0; a glVertex3f-0.5,0.5,0.0; b glVertex3f0.5,-0.5,0.0; c fungsi ini digunakan untuk membuat segitiga siku-siku bagian tengah 5. Dari program d ubahlah dimensi window aplikasi menjadi 640 x 640 w x h. Sajikan screenshotnya. Bandingkan dengan ukuran window yang sebelumnya dan beri kesimpulan. Syntax : include stdlib.h include glut.h void renderScene void { glClearGL_COLOR_BUFFER_BIT; glBeginGL_TRIANGLES; glVertex3f1.0,1.0,0.0; a glVertex3f1.0,0.5,0.0; b glVertex3f0.5,1.0,0.0; c glVertex3f-1.0,1.0,0.0; a glVertex3f-1.0,0.5,0.0; b glVertex3f-0.5,1.0,0.0; c glVertex3f-1.0,-1.0,0.0; a glVertex3f-1.0,-0.5,0.0; b glVertex3f-0.5,-1.0,0.0; c glVertex3f1.0,-1.0,0.0; a glVertex3f1.0,-0.5,0.0; b glVertex3f0.5,-1.0,0.0; c glVertex3f0.0,0.0,0.0; a glVertex3f0.0,0.0,0.0; b glVertex3f0.0,0.0,0.0; c glEnd; glFlush; } void main int argc, char argv { glutInitargc, argv; glutInitDisplayModeGLUT_DEPTH | GLUT_SINGLE | GLUT_RGBA; glutInitWindowPosition100,100; glutInitWindowSize640,640; glutCreateWindow GLUT : Harits Ar Rosyid ; glutDisplayFuncrenderScene; glutMainLoop; } Screen shoot : Penjelasan : - Program diatas merupakan modifikasi dari program point 4. Yaitu memperbesar size windows menjadi 640, 640 sehingga ukurannya menjadi lebih besar. Jauh berbeda dengan hasil dari point 4 perbandingannya 2kali lipat dari point 4. Sehingga hasil menjadi tampak lebih jelas. 6. Ubahlah program menjadi seperti di bawah ini. tambahan tampak pada tanda. Ubahlah nilai nilai parameter pada glVertex3fa, b, c; dari bernilai 10 dan -10 menjadi nilai maksimal 50 dan -50. Sajikan screeshot-nya dan buatlah kesimpulan yang berhubungan dengan fungsi gluOrtho2Dleft,right,bottom,top. Syntax : syntax awal include stdlib.h include glut.h void renderScene void { glClearGL_COLOR_BUFFER_BIT; glBeginGL_TRIANGLES; glVertex3f-0.5,0.0,0.0; a glVertex3f0.5.0,0.0,0.0; b glVertex3f0.0,0.5,0.0; c glEnd; glFlush; } void main int argc, char argv { glutInitargc, argv; glutInitDisplayModeGLUT_DEPTH | GLUT_SINGLE | GLUT_RGBA; glutInitWindowPosition100,100; glutInitWindowSize320,320; glutCreateWindow GLUT : Harits Ar Rosyid ; gluOrtho2D-50.0,50.0,-50.0,50.0; glutDisplayFuncrenderScene; glutMainLoop; } setelah modifikasi mengubah nilai parameter glVertex3fa,b,c menjadi 50 dan -50 include stdlib.h include glut.h void renderScene void { glClearGL_COLOR_BUFFER_BIT; glBeginGL_TRIANGLES; glVertex3f-50.0,50.0,0.0; a glVertex3f-50.0,0.0,0.0; b glVertex3f0.0,0.0,0.0; c glEnd; glFlush; } void main int argc, char argv { glutInitargc, argv; glutInitDisplayModeGLUT_DEPTH | GLUT_SINGLE | GLUT_RGBA; glutInitWindowPosition100,100; glutInitWindowSize320,320; glutCreateWindow GLUT : Harits Ar Rosyid ; gluOrtho2D-50.0,50.0,-50.0,50.0; glutDisplayFuncrenderScene; glutMainLoop; } Screen shoot : awal setelah modifikasi Penjelasan : - Program awal sebelum modifikasi menggunakan fungsi pembuatan objek segitiga dengan koordinat glVertex3f-0.5,0.0,0.0; a glVertex3f0.5.0,0.0,0.0; b glVertex3f0.0,0.5,0.0; c letak objek ini berada di tengah antara kordinat 1 dan 2. Sedangkan pada program setelah modifikasi menggunakan fungsi pembuatan objek segitiga dengan koordinat glVertex3f-50.0,50.0,0.0; a glVertex3f-50.0,0.0,0.0; b glVertex3f0.0,0.0,0.0; c otomatis letak dan besarnya pun berbeda, letaknya menjadi pinggir atas tentu dengan lebar koordinat yang jauh lebih besar. Keduanya menggunakan fungsi gluOrtho2D-50.0,50.0,- 50.0,50.0; Yang fungsinya untuk mengatur volume tampilan pada windows. Fungsi ini berfungsi untuk mendefinisikan besarnya system koordinat dengan range sumbu xleft, right dan sumbu y bottom, top.

F. TUGAS ASISTENSI