Anda di halaman 1dari 6

MODUL 1

PENGENALAN GLUT

A. KOMPETENSI DASAR
Memahami GLUT.
Memahami dasar pemrograman GLUT.
Memahami dasar menampilkan windows GLUT.

B. DASAR TEORI
1. GLUT (OpenGL Utility Toolkit)
Dikembangkan oleh Mark Kilgard. GLUT merupakan pengembangan dari
OpenGL dimana memiliki keunggulan sebagai berikut:
- Mudah, portable window manager, menggunakan callback functions untuk
menambahkan interaksi dari user.
- Didesain untuk aplikasi dengan level kecil hingga menengah.
- Distribusi library bebas tetapi tidak open source.

2. Pemrograman berbasis event


GLUT pada dasarnya dibangun untuk menciptakan aplikasi grafis
menggunakan pemrograman yang bersifat prosedural. Di dalamnya terdapat
fungsi main loop yang diatur oleh GLUT dan looping yang terjadi dalam
aplikasi bertujuan untuk penanganan fungsi-fungsi callback sebagai input dari
user seperti fungsi redraw, mouse, keyboard, joystick, dll.

3. Instalasi GLUT pada windows dan aplikasi pengembangan Visual Studio


GLUT tidak secara otomatis dapat diaplikasikan karena membutuhkan
beberapa file tambahan antara lain glut.h, glut32.lib, glut32.dll yang harus
disimpan pada lokasi tertentu sesuai dengan aplikasi pengembangan yaitu Visual
Studio.

File glut.h diletakkan pada C:\Program Files\Microsoft Visual Studio


10.0\VC\include
File glut32.lib diletakkan pada C:\Program Files\Microsoft Visual Studio
10.0\VC\lib
File glut32.dll diletakkan pada System32

4. Membuat project baru

Grafika Komputer dan Jaringan


1
Memilih menu File

Membuat project baru dengan visual studio dengan nama praktikum1.

Setelah muncul windows baru, maka selanjutnya menekan tombol Finish.

Maka setelah itu akan muncul workspace seperti ini.

Grafika Komputer dan Jaringan


2
C. PERALATAN
Laptop.
Microsoft Visual Studio C++.
Glut.
Modul/Jobsheet.

D. PERCOBAAN

Membuat inisial nama masing-masing.

Syntax :

#include "stdafx.h"
#include<glut.h>
void userdraw(void);
void drawDot(float x, float y)
{
glBegin(GL_POINTS) ;
glVertex2f(x,y) ;
glEnd() ;
}
void setColor(float red, float green, float blue){
glColor3f(red, green, blue);
glClearColor(1,1,1,1);
}
void userdraw(){
glPointSize(10);
setColor(0.,0.,0.);

for(int i=0; i<20; i+=5)


{

Grafika Komputer dan Jaringan


3
drawDot(20,90);
drawDot(20,100);
drawDot(20,110);
drawDot(20,120);
drawDot(20,130);
drawDot(20,140);
drawDot(20,150);
drawDot(30,160);
drawDot(40,160);
drawDot(50,160);
drawDot(60,160);
drawDot(70,160); Membuat Huruf A
drawDot(80,150);
drawDot(80,140);
drawDot(80,130);
drawDot(80,120);
drawDot(80,110);
drawDot(80,100);
drawDot(80,90);
drawDot(30,125);
drawDot(40,125);
drawDot(50,125);
drawDot(60,125);
drawDot(70,125);
}

for(int j=0; j<20; j+=5)


{
drawDot(100,90);
drawDot(100,100);
drawDot(100,110);
drawDot(100,120);
drawDot(100,130);
drawDot(100,140);
drawDot(100,150);
drawDot(100,160);
drawDot(110,160);
drawDot(120,160);
drawDot(130,160); Membuat Huruf D
drawDot(140,160);
drawDot(150,150);
drawDot(160,140);
drawDot(160,130);
drawDot(160,120);
drawDot(160,110);
drawDot(150,100);
drawDot(110,90);
drawDot(120,90);
drawDot(130,90);
drawDot(140,90);
}

for (int k=0; k<20; k+=5)


{
drawDot(180,90);

Grafika Komputer dan Jaringan


4
drawDot(180,100);
drawDot(180,110);
drawDot(180,120);
drawDot(180,130);
drawDot(180,140);
drawDot(180,150);
drawDot(180,160);
drawDot(190,160);
drawDot(200,150);
drawDot(210,140);
drawDot(220,130); Membuat Huruf N
drawDot(230,120);
drawDot(240,110);
drawDot(250,100);
drawDot(260,90);
drawDot(270,90);
drawDot(270,100);
drawDot(270,110);
drawDot(270,120);
drawDot(270,130);
drawDot(270,140);
drawDot(270,150);
drawDot(270,160);
}

}
void display (void) {
//clear screen
glClear(GL_COLOR_BUFFER_BIT);
userdraw();
glutSwapBuffers();
}
int main (int argc, char **argv){
glutInit( &argc,argv);
glutInitDisplayMode( GLUT_DOUBLE | GLUT_RGB );
glutInitWindowSize(640,480);
glutInitWindowPosition(100,150);
glutCreateWindow("Aditya Dyan Nugraha");
glClearColor(1.0,1.0,1.0,0.0);
gluOrtho2D(0.,640.,-240.,240.);
glutIdleFunc(display);
glutDisplayFunc(display);
glutMainLoop();
return 0;
}

Hasil :

Grafika Komputer dan Jaringan


5
Analisa :
Untuk menampilkan / membuat sebuah huruf kita hanya perlu
untuk mengatur koordinat masing-masing titik, sehingga titik-titik
tersebut tersusun menjadi sebuah huruf.

Untuk mengatur koordinat masing-masing titik, kita dapat


mengatur pada drawDot(x,y);.

Grafika Komputer dan Jaringan


6

Anda mungkin juga menyukai