laporan praktikum helmi ti sore c
TRANSCRIPT
-
5/24/2018 Laporan Praktikum Helmi Ti Sore c
1/29
LAPORAN PRAKTIKUM
KOMPUTER GRAFIK
UNIVERSITAS PEMBANGUNAN PANCA BUDI
FAKULTAS TEKHNIK
JURUSAN SISTEM KOMPUTER
MEDAN
2014
Nama
Praktikan
Nomor
Mahasiswa
Tanggal
Pengumpulan
Tanda tangan
Praktikan
Juherdi Helmi 1214370260
Nama
Penilai
Tanggal
Koreksi
Nilai Tanda Tangan
Dosen
Indri
Sulistianingsih,S.Kom
Kelas
TI 4 Sore C
-
5/24/2018 Laporan Praktikum Helmi Ti Sore c
2/29
DAFTAR ISI
Daftar Isi .................................................................................................................i
Kata Pengantar ...................................................................................................... ii
BAB 1
Pendahuluan
1.1 Pengertian Komputer Grafik ....................................................................... 1
1.2 Peranan dan Penggunaan Komputer Grafik ................................................ 1
1.3 Pemilihan Aplikasi OPENGL ..................................................................... 1
1.4 Tujuan ......................................................................................................... 1
BAB 2
Landasan Teori
2.1 Sejarah OpenGL.......................................................................................... 2
2.2 Pengenalan OpenGL ................................................................................... 3
2.3 Cara Kerja OpenGL .................................................................................... 4
Inisialisasi Awal ......................................................................................... 4
Pembuatan Gambar .................................................................................... 5
Primitive Grafik ......................................................................................... 6
Gambar 2D ................................................................................................. 9
Gambar 3D ................................................................................................. 9
BAB 3
Hasil Percobaan/Praktikum
3.1 Gambar Jajar Genjang ............................................................................... 10
3.2 Gambar 2D ................................................................................................ 12
3.3 Gambar 3D ................................................................................................ 17
BAB 4
Analisa Hasil Percobaan
4.1 Analisa dari percobaan gambar jajar Genjang .......................................... 22
4.2 Analisa dari percobaan gambar 2D ........................................................... 23
4.3 Analisa dari percobaan gambar 3D ........................................................... 24
PENUTUP............................................................................................................ iii
DAFTAR PUSTAKA .......................................................................................... iv
-
5/24/2018 Laporan Praktikum Helmi Ti Sore c
3/29
KATA PENGANTAR
.
, ,
,
.
. ,..
.
,
.
.
,
. .
Medan, 11 Juni 2014
Juherdi Helmi
-
5/24/2018 Laporan Praktikum Helmi Ti Sore c
4/29
BAB I PENDAHULUAN
1.1PENGERTIAN KOMPUTER GRAFIK ,
. ,
, .
160
() 3. ,
.
1.2 PERANAN DAN PENGGUNAAN KOMPUTER GRAFIK
Grafika komputer telah menunjukkan kemajuan yang pesat dalam pengembangan
berbagai aplikasi untuk menghasilkan gambar. Walaupun pada awalnya aplikasi
dalam sains dan engineering memerlukan peralatan yang mahal, perkembanganteknologi komputer memberikan kemudahan penggunaan komputer sebagai alat
bantu aplikasi grafik komputer interaktif. Pada saat ini grafika komputer digunakan
secara rutin dibidang ilmu pengetahuan, teknik, kedokteran, bisnis, industri,
pemerintahaseni, hiburan, pendidikan, periklanan, dan lain sebagainya.
1.3PEMILIHAN APLIKASI Open-GLDalam pembahasan dan praktik kerja di dalam makalah ini Saya akan
memfokuskan pada penggunaan Open-GL sebagai pilihan Saya.
1.4TUJUAN1. Sebagai bahan untuk Ujian Akhir Semester mata kuliah komputer grafik
semester 4.
2. mahasiswa diharapkan dapat mempraktikan pembuatan gambar 2D dan 3D.
-
5/24/2018 Laporan Praktikum Helmi Ti Sore c
5/29
BAB II LANDASAN TEORI
A.SEJARAH OPEN-GL
Pada tahun 1982,seorang profesor dari Stanford University yang bernama Jim Clark
memulai membuka perusahaan komputer grafis yang pertama yaitu Silicon Graphics
Computer System, yang kemudian dikenal dengan nama SGI. Para teknisi SGI membutuhkan
cara yang standar spesifikas untuk pengoperasian dan transformasi 3D, oleh sebab itu mereka
mendesain sebuah aplikasi pemrograman antarmuka (API) yang bernama IrisGL. IrisGL ini
hanya dapat digunakan pada hardware keluaran dari SGS (tidak bersifat open-standard). Pada
saat yang bersamaan, vendor lain termasuk Sun Microsystem, IBM dan Hewlett-Packard juga
mengeluarkan produk 3D hardware di pasaran. Mereka menggunakan jenis API lain yang
disebut PHIGS. Karena vendor lain juga meluncurkan produk 3D hardware di pasaran,
lingkup pemasaran SGI pun menjadi berkurang.
Untuk kembali mendongkrak penjualan produk mereka ke pasaran, akhirnya SGI mengubah
IrisGL menjadi open-standard. Namun akrena alasan lisensi dan hak paten, mereka tidak
dapat meluncurkan IrisGL versi open-standard. Akhirnya mereka membuat API baru berbasis
IrisGL yang diberi nama OpenGL
Awalnya, OpenGL didesain untuk digunakan pada pemrograman C/C++, namun seiring
dengan berjalannya waktu, OpenGL dapat digunakan pada berbagai jenis bahasa
pemrograman seperti, Java, Visual, Basic, Delphi, dan sebagainya. Untuk menggunakan
OpenGl dalam compiler bahasa pemrograman misalnya C++, dibutuhkan instalasi library
tertentu. GLUT (OpenGL utility Toolkit) merupakan library dari pengembangan OpenGL
untuk sistem windows. GLUT didesain untuk membuat program OpenGL yang berukuran
kecil sampai medium. GLUT tidak dapat secara langsung digunakan, karena membutuhkan
beberapa file tambahan antara lain : glut.h, glut.lib, dan glut32.dll yang disimpan pada
direktori tertentu.
-
5/24/2018 Laporan Praktikum Helmi Ti Sore c
6/29
B.PENGENALAN OPEN-GL
Open-GL adalah sebuah program aplikasi interface yang digunakan untuk mendefinisikan
komputer grafis 2D dan 3D. Program lintas-platform API ini umumnya dianggap ketetapan
standar dalam industri komputer dalam interaksi dengan komputer grafis 2D dan juga telah
menjadi alat yang biasa untuk digunakan dengan grafis 3D. Singkatnya, Open Graphics
Library, Open-GL menghilangkan kebutuhan untuk pemrogram untuk menulis ulang bagian
grafis dari sistem operasi setiap kali sebuah bisnis akan diupgrade ke versi baru dari sistem.
Fungsi dasar dari Open-GL adalah untuk mengeluarkan koleksi perintah khusus atau
executable kesistem operasi. Dengan demikian, program ini bekerja dengan perangkat keras
grafis yang ada yang berada pada hard drive atau sumber tertentu lainnya. Setiap perintah
dalam dirancang untuk melakukan tindakan tertentu, atau memulai efek khusus tertentu yang
terkait dengan grafis.
Open-GL adalah suatu spesifikasi grafik yang low-level yang menyediakan fungsi untuk
pembuatan grafik primitif termasuk titik, garis, dan lingkaran. Open-GL digunakan untuk
keperluan-keperluan pemrograman grafik. Open-GL bersifat Open-Source, multi-platform
dan multi-language serta digunakan mendefinisikan suatu objek, baik objek 2 dimensi
maupun objek 3 dimensi. Open-GL juga merupakan suatu antarmuka pemrograman aplikasi(application programming interface (API) yang tidak tergantung pada piranti dan platform
yang digunakan, sehingga Open-GL dapat berjalan pada sistem operasi Windows, UNIX dan
sistem operasi lainnya.
Open-GL pada awalnya didesain untuk digunakan pada bahasa pemrograman C/C++, namun
dalam perkembangannya Open-GL dapat juga digunakan dalam bahasa pemrograman yang
lain seperti Java, Tcl, Ada, Visual Basic, Delphi, maupun Fortran. Namun Open-GL di-
package
secara berbeda-beda sesuai dengan bahasa pemrograman yang digunakan. Oleh karena itu,
package Open-GL tersebut dapat di-download pada situs http://www.opengl.org sesuai
dengan bahasa pemrograman yang akan digunakan.Open-GL melayani dua tujuan :
Untuk menyembunyikan kompleksitas dari interfacing dengan berbagai 3Daccelerators, memamerkan oleh programmer dengan satu, seragam API.
-
5/24/2018 Laporan Praktikum Helmi Ti Sore c
7/29
Untuk menyembunyikan kemampuan yang berbeda dari hardware platform, olehsemua yang memerlukan mendukung implementasi penuh fitur opengl set
(menggunakan software emulation jika diperlukan).
C. CARA KERJA OPEN-GL
Open-GL lebih mengarah pada prosedural daripada sebuah deskriptif API grafis.Untuk
mendeskripsikan scene dan bagaimana penampilannya,sebenarnya programer lebih tau untuk
menentukan hal-hal yang dibutuhkan untuk menghasilkan efek yang di inginkan.Langkah
tersebut termasuk memanggil banyak perintah open-GL,perintah tersebut digunakan untuk
menggambarkan grafik primitif seperti titik,garis dan poligon dalam tiga dimensi.Sebagai
tambahan,open-GL mendukung lighting,shading,texture mapping,blending,transparancy,dan
banyak kemampuan efek khusus lainnya.Open-GL mempunyai bnayak fungsi dan
penggunaan
perintah yang sangat luas, penggunaan open-GL membutuhkan library tambahan yang harus
di letakkan pada direktory system dari windows (OS),yaitu :
OpenGL32.dll Glu32.dll Glut32.dll
Inisialisasi awal
Inti dari tahapan ini adalah mengatur view port dan persepektif untuk penampilan obyek ke
dalam layar monitor,viewport adalah besarnya layar monitor(image) yang dipakai untuk
menampilkan obyek,sedangkan persepektif yang dimaksud adalah pengaturan sumbu z dalam
penampilan obyek 3 dimensi,sehingga user dapat melihat obyek seolah-olah dalam bidang 3
dimensi (X-Y-Z),selain itu penggambaran obyek yang dilakukan oleh programer juga dapat
menggunaan koordinat 3 dimensi.
Selain ke dua tujuan di atas pada tahap ini juga dilakukan koneksi awal dengan library open-
GL, koneksi ini dilakukan supaya fungsi-fungsi yang di sediakan open-GL dapat digunakan.
Fungsi/prosedur yang digunakan :
LoadGlut(glut32.dll) -pemanggilan library open-GL
InitGL inisialisasi open-GL awal yang harus dilakukan glViewport untuk pengaturan viewport
-
5/24/2018 Laporan Praktikum Helmi Ti Sore c
8/29
glMatrixMode pengaturan viewport gluPerspective pengaturan persepektif
Contoh script untuk inisialisasi open-GL :
Try
LoadGlut(glut32.dll);
InitGL;
Exept one :=
exeption
do
Begin
messageDlg
{ e.message, mtError, [mbOk],};
Halt {1}; End;
End;
Script di atas merupakan script yang paling sederhana, dalam artian minimal diperlukan
untuk
menginisialisasi penggunaan open-GL.Fungsi-fungsi lain seperti yang disebut diatas seperti
glViewport, glMatrixMode, dapat di tambah kan pada script sesuai dengan kebutuhan.
Pembuatan gambar
Didalam open-GL pembuatan obyek dilakukan dengan titik-titik 3 dimensi,dengan mode
GL_QUARDS, maka otomatis setiap 4 titik digambar menjadi sebuah bidang segiempat,sed
angkan mode GL_LINES, pada setiap 2 titik digambar manjadi sebuah garis.Di dalam tahap
ini setiap garis atau bidang juga dapat di atur warnanya.
Fungsi atau prosedur yang digunakan :
mode GL_QUARDS menggambarkan segi empat mode GL_LINES menggambark garis glVertex3f-penentuan titik 3 dimensi
glColor3f penentuan warnaOpen-GL memiliki lebih dari 200 fungsi. Fungsi tersebut
-
5/24/2018 Laporan Praktikum Helmi Ti Sore c
9/29
bisa dikelompokkan menjadi :
Fungsi primitif, menentukan elemen yang bisa menghasilkan gambar di layar. Fungsiini terdiri dari 2 jenis, yaitu primitif geometric seperti polygon (segi banyak) yang
bisa dibuat menjadi dua, tiga, atau empat dimensi, dan primitif gambar seperti
bitmaps.
Fungsi atribut, mengontrol tampilan dari primitif. Fungsi ini menentukan warna, jenis
garis, properti material, sumber cahaya, dan tekstur.
Fungsi pandangan, menentukan properti kamera. Open-GL menyediakan sebuahvirtual kamera yang bisa diposisikan dan diorientasikan relatif ke obyek yang
ditentukan dengan fungsi primitif. Lensa kamera juga bisa dikendalikan sehingga bisa
dihasilkan sudut
yang lebar dan pandangan telefoto (jarak jauh).
Fungsi windowing, fungsi ini mengendalikan windows pada layar dan penggunaandari mouse dan keyboard.
Fungsi kontrol, menghidupkan macam-macam fitur Open-GL.
Fungsi-fungsi Open-GL dimuat didalam 2 library yang disebut dengan gl dan glu
(atau GL dan GLU). Library yang pertama, adalah fungsi utama dari Open-GL, berisi
semua fungsi Open-GL yang dibutuhkan sedangkan yang kedua, open-GL Utility
Llibrary (GLU) memuat fungsi yang ditulis menggunakan fungsi dari library utama
dan sangat
membantu bagi pengguna. Fungsi utama mempunyai nama yang diawali dengan gl seperti
glVertex3f(), sedangkan fungsi didalam GLU mempunyai nama yang diawali dengan glu
seperti gluOrtho2D()
PRIMITIVE GRAFICS
Primitif objek merupakan salah satu subbab dari grafika komputer yang terdiri dari titik, garis
dan bangun dua dimensi. Dalam grafika komputer penghasilan citra menggunakan primitive
grafik dasar, primitif ini memudahkan untur merender atau menggambar pada layar monitor
sebagaimana penggunaan persamaan geometri sederhana. Contoh primitive grafika dasar
antara lain : titik, garis, kurva, fill areadan text. Objek kompleks dapat dibuat dengan
kombinasi dari primitive ini. Misalkan, Poligaris atau yang dapat didefinisikan sebagai urutan
garis lurus yang saling terhubung. Secara umum algoritma grafis memiliki persamaan yaitu
bagaimana menampilkan hasil.
-
5/24/2018 Laporan Praktikum Helmi Ti Sore c
10/29
Primitive grafis yang umum dijelaskan pada tabel berikut :
Fungsi dasar menggambar titik. Berikut adalah beberapa fungsi didalam menggambar suatu
titik, antara lain :
- glVertex2i(x,y)Yaitu suatu fungsi untuk menggambar titik pada koordinat x dan y, dengan nilai satuan
berupa integer.
Contoh glVertex2i(10,10)
- glVertex2f(x,y)Yaitu suatu fungsi untuk menggambar titik pada koordinat x dan y, dengan nilai satuan
berupa float. Contoh glVertex2f(10.0,10.0)
- glVertex2d(x,y)Yaitu suatu fungsi untuk menggambar titik pada koordinat x dan y, dengan nilai satuan
berupa double. Contoh glVertex2d(10.0,10.0);
Cara pendefinisian primitive objek yang digunakan dalam pembuatan suatu objek :
#define GL_POINTS
Primitif objek ini dipergunakan untuk menciptakan suatu titik.
# define GL_LINES
Primitif objek ini adalah suatu primitive objek guna menciptakan suatu garis
# define GL_LINE_LOOP
# define GL_LINE_STRIP
# define GL_TRIANGLES
OBJEK
GRAFIS
PRIMITIFE GRAFIS
Pixel (dot) Posisi (x,y) warna
Garis (line) Posisi (x1,x2,y1,y2),Warna,Thickness,Pattern
Lingkaran (circle) Pusat (x,y),Radius,Warna,Thickness,Pattern
Ellipse Pusat (x,y),Radius : Horisontal/Vertical,Warna,Thickness,Pattern
Kurva Teratur/Tidak teratur (Bezier)
Character Type,Slanted,Thickness,Colour DLL
-
5/24/2018 Laporan Praktikum Helmi Ti Sore c
11/29
Triangle atau segitiga adalah tiga buah titik yang terhubung menjadi suatu
segitiga dengan blok di tengahnya.
# define GL_TRIANGLES_STRIP
Pada triangles strip jumlah vertex yang dipergunakan
adalah 4 buah vertex
# define GL_TRIANGLE_FAN
Triangles fan adalah pembuatan suatu objek dengan menggunakan segitiga
dimana hanya menggunakan 1 titik pusat saja.
# define GL_QUADS
Quad atau segempat adalah empat buah titik yang terhubung menjadi quat segi
empat dengan blok di tengahnya.
# define GL_QUADS_STRIP
Pada quads strip 4 buah vertex merupakan 1 kelompok.
Langkah rendering pada quads strip :
a.Nomor yang berhadap (membentuk 2 garis yang sejajar
b.Nomor ganjil dengan nomor ganjil dipertemukan
c.Nomor genap dengan nomor genap dipertemukan
d.Garis yang tersisa akan dipertemukan
# define GL_POLYGON
Polygon merupakan suatu fungsi yang mirip dengan polyline, tetapi
menghasilkan kurva tertutup dengan blok warna (fill). Rendering yang
dimiliki oleh GL_POLYGON sama dengan GL_TRIANGLE_FAN.
Catatan :
a) glLineWidth yaitu suatu fungsi yang berfungsi untuk mengatur tebalnya garis,b) glPointSize yaitu suatu fungsi yang berfungsi untuk mengatur besarnya suatu objek,c) gluOrtho2D yaitu suatu fungsi untuk mengatur proyeksi hasil eksekusi dan
mendefinisikan besarnya sistem koordinat dengan urutan kiri-kanan dan bawah-atas.
Untuk memberi warna pada objek, seperti titik atau garis, dapat dilakukan dengan
menggunakan fungsi glColor3f(red,green,blue). Di mana red, green, blue berada pada 0
sampai dengan 1, yang menunjukkan skala pencerahan dari masing-masing skala. Berikut
adalah beberapa fungsi color :
glColor3f(0,0,0);//black
-
5/24/2018 Laporan Praktikum Helmi Ti Sore c
12/29
glColor3f(0,0,1);//blue
glColor3f(0,1,0);//green
glColor3f(0,1,1)//cyan
glColor3f(1,0,0)//red
glColor3f(1,0,1)//magenta
glColor3f(1,1,0);//yellow
glColor3f(1,1,1);//white
GAMBAR 2D
Primitive object 2D adalah suatu model pembuatan gambar yang mengacu kepada prespektif
2 titik. Umumnya object 2D ini merupakan suatu object yang terdiri dari sekumpulan titik-
titik yang menyambung (dihubungkan) menjadi satu dengan perantara garis lurus berupa
polyline, polygon maupun kurva.
GAMBAR3D
Yang membedakan 2 dimensi dan 3 dimensi adalah kedalaman. Kedalaman didefinisikan
sebagai jarak antara viewer terhadap benda yang dia lihat. Ini berarti berbeda dengan 2
dimensi yang hanya menggunakan 2 ukuran, yaitu panjang dan lebar, maka 3 dimensi
menggunakan 3 ukuran, yaitu panjang, lebar dan kedalaman. Secara geometri ketiga ukuran
tersebut disimbolkan dengan sumbu x, y, dan z.
-
5/24/2018 Laporan Praktikum Helmi Ti Sore c
13/29
BAB III PRAKTIKUM
1. PEMBUATAN JAJARGENJANGglEnd();#include
void userdraw()
{
static int tick=0;
void drawDot(int x,int y);
glBegin(GL_LINES);
glVertex2i(50,50);
glVertex2i(100,100);
glVertex2i(50,50);
glVertex2i(200,50);
glVertex2i(200,50);
glVertex2i(250,100);
glVertex2i(250,100);
glVertex2i(100,100);
}
void display(void)
{
//clear screen
glClear(GL_COLOR_BUFFER_BIT);
userdraw();
glutSwapBuffers();
-
5/24/2018 Laporan Praktikum Helmi Ti Sore c
14/29
}
int main(int argc, char**argv)
{
glutInit(&argc,argv);//Inisialisasi Toolkit
glutInitDisplayMode(GLUT_DOUBLE|GLUT_RGB);
glutInitWindowPosition(200,200);
glutInitWindowSize(640,480);
glutCreateWindow("Menampilkan Titik");
glClearColor(1.0f,0.0f,0.0f,0.0f);
gluOrtho2D(0.,640.,-240.,240.);
glutIdleFunc(display);
glutDisplayFunc(display);
glutMainLoop();
return 0;
}
Hasilnya
-
5/24/2018 Laporan Praktikum Helmi Ti Sore c
15/29
2. GAMBAR 2DPEMBUATAN BUNGA
#include
#include
typedef struct
{
int x,y;
}point2D_t;
typedef struct
{
float r,g,b;
}color_t;
void setColor (color_t col)
{
glColor3f(col.r, col.g, col.b);
}
void drawPolygon(point2D_t pnt[],int n)
{
int i;
glBegin(GL_POLYGON);
-
5/24/2018 Laporan Praktikum Helmi Ti Sore c
16/29
for (i=0; i
-
5/24/2018 Laporan Praktikum Helmi Ti Sore c
17/29
batang[4]={{-5,-190},{-5,0},{5,0},{5,-190}};
color_t biru ={0,1,1};
fillPolygon(batang,4, biru);
drawPolygon(batang,4);
point2D_t
pot[4]={{-60,-190},{60,-190},{30,-240},{-30,-240}};
color_t hitam ={0,0,1};
fillPolygon(pot,4, hitam);
drawPolygon(pot,4);
point2D_t
pot2[6]={{-80,-160},{-50,-160},{-50,-190},{-60,-190},{-60,-
170},{-80,-170}};
color_t hitam3 ={0,0,1};
fillPolygon(pot2,4, hitam3);
drawPolygon(pot2,4);
point2D_t
pot3[6]={{80,-160},{50,-160},{50,-190},{60,-190},{60,-
170},{80,-170}};
color_t hitam2 ={0,0,1};
fillPolygon(pot3,4, hitam2);
drawPolygon(pot3,4);
-
5/24/2018 Laporan Praktikum Helmi Ti Sore c
18/29
static int tick=0;
point2D_t shape[360];
double srad,r;
for(int s=0; s
-
5/24/2018 Laporan Praktikum Helmi Ti Sore c
19/29
int main(int argc, char **argv)
{
glutInit(&argc,argv);
glutInitDisplayMode(GLUT_DOUBLE|GLUT_RGB);
//posisi layar
glutInitWindowPosition(150,150);
//ukuran layar
glutInitWindowSize(640,480);
//title windows
glutCreateWindow("Bunga Raflesia");
//warna back layar
glClearColor(1.0,1.0,1.0,0.0);
gluOrtho2D(-300.,400.,-300.,300.);
glutIdleFunc(display);
glutDisplayFunc(display);
glutMainLoop();
return 0;
}
-
5/24/2018 Laporan Praktikum Helmi Ti Sore c
20/29
3. GAMBAR 3D#include
#include
#include
#include
#include
#include
void cube()
{
//menggambar kubus dan transformasi tarnslasi ke titik 0.5 0.5
0.5 dan skala 1 1 1
glPushMatrix();
glTranslated(0.5,0.5,0.5);//cube
glScaled(1.0,1.0,1.0);
-
5/24/2018 Laporan Praktikum Helmi Ti Sore c
21/29
glutSolidCube(1.0);
glPopMatrix();
}
void setMaterial()
{
//set properties of surfaces material
GLfloat mat_ambient[] = {0.7f,0.7f,0.7f,1.0f}; // ada 4 jenis
material yang dipakai, dengan kombinasi warna tertentu
GLfloat mat_diffuse[] = {0.6f,0.6f,0.6f,1.0f};
GLfloat mat_specular[] = {1.0f,1.0f,1.0f,1.0f};
GLfloat mat_shininess[] = {50.0f};
glMaterialfv(GL_FRONT,GL_AMBIENT,mat_ambient);
glMaterialfv(GL_FRONT,GL_DIFFUSE,mat_diffuse);
glMaterialfv(GL_FRONT,GL_SPECULAR,mat_specular);
glMaterialfv(GL_FRONT,GL_SHININESS,mat_shininess);
}
void setLighting()
{
//set light sources
-
5/24/2018 Laporan Praktikum Helmi Ti Sore c
22/29
GLfloat lightIntensity[] = {0.7f,0.7f,0.7f,1.0f};//mensetting
pencahayaan
GLfloat light_position[] = {2.0f,6.0f,3.0f,0.0f};
glLightfv(GL_LIGHT0,GL_DIFFUSE,lightIntensity);
glLightfv(GL_LIGHT0,GL_POSITION,light_position);
}
void setViewport()
{
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
double winHt = 1.0;//half height of the window
glOrtho(-winHt*64/48,winHt*64/48,-winHt,winHt,0.1,100.0);
}
void setCamera()
{
//set the camera
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
gluLookAt(3.3,3.3,3.0,0,0.25,0,0.0,1.0,0.0);
-
5/24/2018 Laporan Praktikum Helmi Ti Sore c
23/29
}
void displayObject()
{
setMaterial();
setLighting();
setViewport();
setCamera();
//startDrawing
glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
cube();//memanggil fungsi menggambar kubus
glFlush();//mengirim smua objek untuk dirender
}
void main(int argc, char **argv)
{
glutInit(&argc,argv);
glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB|GLUT_DEPTH);
glutInitWindowSize(640,480);
glutInitWindowPosition(100,100);
glutCreateWindow("simple 3d scene");
-
5/24/2018 Laporan Praktikum Helmi Ti Sore c
24/29
glutDisplayFunc(displayObject);//fungsi dari display object
yang menggabungkan kubus lighting material dan kamera
glEnable(GL_LIGHTING);
glEnable(GL_LIGHT0);
glShadeModel(GL_SMOOTH);
glEnable(GL_DEPTH_TEST);
glEnable(GL_NORMALIZE);
glClearColor(1.0f,1.0f,1.0f,0.0f);
glViewport(0,0,640,480);
glutMainLoop();
}
-
5/24/2018 Laporan Praktikum Helmi Ti Sore c
25/29
BAB IV ANALISA HASIL PRAKTIKUM
Hasil Percobaan Jajar Genjang
Warna background dan warna bidang yang dibuat sangat tidak combain sehingga
menimbulkan kesulitan dalam melihatnya jika sesaat. Saya akui seharusnya gambar ini dapat
lebih baik dari ini.
-
5/24/2018 Laporan Praktikum Helmi Ti Sore c
26/29
Hasil Percobaan Gambar 2D
Gambar 2D diatas meskipun tampak sederhana namun dalam pengerjaannya Saya
mendapatkan kesulitan yang cukup lumayan,Karena gambar tersebut meniliki berbagaibentuk atau bisa kita sebut sebagai kombinasi dari berbagai bentuk dasar dari gmbar 2D.
-
5/24/2018 Laporan Praktikum Helmi Ti Sore c
27/29
Hasil Percobaan Gambar 3D
Hasil yang sangat memuaskan bagi Saya karena selain seluruh bidangnya tampak
simetris,dalam hal warna juga sangat baik.Seperti dapat kita lihat warna tersebut juga
menonjolkan sisi berbayang sehingga semakin menguatkan dari gambar 3D tersebut.
-
5/24/2018 Laporan Praktikum Helmi Ti Sore c
28/29
PENUTUP
Dari pemaparan di atas dapat kita simpulkan bahwa penggunaan program OPEN-GL sangat
membantu dalam studi Komputer Grafik bagi para pemula.Meskipun hasil dari praktikum
yang telah saya lakukan di atas masih banyak mengalami kekurangan namun bagi saya yang
merupakan seorang mahasiswa yang baru mengenal computer grafik, hal ini sangat
membantu Saya dalam pendalaman ilmu saya akan komputer grafik.
Pada bagian penutup ini Saya juga dituntut untuk memberikan saran tentang program OPEN-
GL tersebut.Tidak akan banyak saran Saya untuk program ini karena mungkin saja bukan
program ini yang memiliki kekurangan,akan tetapi akibat Saya yang merupakan seorang
pemula sehingga sangat kaku dan mengalami kesulitan dalam pengaplikasiannya didalam
praktik langsungnya.Saya harap di kemudian hari program OPEN GT ini dapat menjadi
sebuah program dalam komputer grafik dapat mempermudah dan mengefesiensikan
kinerjanya dengan mengupgrade atau dengan hal lainnya yang dapat mempermudah kami
sebagai pemula untuk dapat memahaminya dengan cepat.
Demikian makalah praktikum sebagai tugas Ujian Akhir Semester program Studi Komputer
Grafik semester IV ini Saya perbuat. Saya sadar betul akan banyak kekurangan dalam
penyajian ataupun dalam hal hasil akhir praktikum Saya. Namun Saya cukup berbangga hati
dapat menyelesaikan makalah ini dengan hasil jerih payah usaha Saya sendiri yang mencari
berbagai sumber pustaka yang berkaitan dengan makalah ini.
Ribuan terimakasih Saya sampaikan kepada Dosen Komputer Grafik Ibu Indri
Sulistianingsih,S.Kom dan seluruh penulis buku ataupun blog yang telah Saya manfaatkan
tulisannya sebagai referensi dari makalah ini.
Semoga makalah ini dapat bermanfaat dan mendapatkan respon yang positif dari dosen yang
bersangkutan.
Wassalamualaikum WRB.
-
5/24/2018 Laporan Praktikum Helmi Ti Sore c
29/29
DAFTAR PUSTAKA
___. 2011. Komputer Grafik.
http://dotsal.wordpress.com/2011/09/25/komputer-grafik/
diakses tanggal 7 Juni 2014
_____, 2008. Primitif Grafika. Online.
http://materiquliah.wordpress.com/2008/11/15/primitif-grafika/
. Diakses pada tanggal 8 Juni 2014
_____2013. Grafika Komputer3D. (Online).
(http://id.wikipedia.org/wiki/Grafika_komputer_3D
Diakses pada tanggal 9 Juni 2014
_____2012. Translasi, dan Rotasi Grafik Komputer.
(Online). (http://kripiksukun.blogspot.com/2012 Page 337/04/translasiskala-dan-rotasi-
grafik.html).Diakses pada tanggal 10 Juni 2014
http://wartawarga.gunadarma.ac.id/2009/11/sejarah-perkembangan-komputer-grafik/
diakses pada tggal 11 juni 2014