GRAFIK KOMPUTER
Dosen Pengampu : Sri Rahayu, S.Kom., M.Kom.
Disusun untuk memenuhi Tugas Pertemuan ke-11 Praktikum Grafika Komputer
“Bayangan”
Disusun oleh :
Muhammad Arif Syamsudin
2106067
Informatika B
Puji dan syukur saya ucapkan kehadirat Allat SWT. atas rahmat dan
karunia-Nya saya dapat menyelesaikan laporan ini. Laporan ini dibuat untuk
memenuhi tugas Praktikum Grafik Komputer pada pertemuan ke-11 mengenai
materi “Bayangan” dan juga untuk menambah ilmu pengetahuan mengenai Grafik
Komouter itu sendiri.
Saya sadari bahwa laporan ini masih jauh dari kata sempurna. Hal itu
dikarenakan masih adanya keterbatasan kemampuan dan pengetahuan saya. Oleh
karena itu saya mengharapkan kritik dan saran yang bersifat membangun dari para
pembaca. Semoga laporan ini bermanfaat bagi kita.
Akhir kata, saya ucapkan permintaan maaf apabila ada kesalahan dalam
penulisan laporan ini.
i
DAFTAR ISI
ii
BAB I
PENDAHULUAN
A. Latar Belakang
Untuk menghasilkan gambar yang realistik perlu memodelkan
pencerminan dan pembiasan maupun memunculkan bayangan karena pengaruh
dari adanya cahaya. Dengan memodelkan pencerminan untuk benda yang reflektif
seperti cermin akan dihasilkan pantulan ataupun bayangan benda. Dan efek
pembiasan cahaya dapat dimodelkan pada benda yang transparan untuk
menghasilkan penampakan obyek lain yang berada di belakang obyek transparan
tersebut serta efek pengumpulan cahaya bias. Effek bayangan ini sangat penting
karena dengan adanya effek tersebut seolah-olah benda tersebut nampak nyata.
Bayangan sebuahobyek benda harus disesuaikan dengan bentuk benda aslinya dan
asal sumber cahaya tersebut berada dan banyaknya sumber cahaya.
Dalam bidang grafika komputer, bayangan merupakan salah satu teknik
yang sering digunakan untuk memberikan kesan visual yang lebih realistis pada
objek yang dibuat dengan komputer. Bayangan dapat memberikan kesan
ketebalan, kebulatan, dan kedalaman pada objek yang dibuat, sehingga dapat
menciptakan visual yang lebih nyata dan memukau bagi penonton. Selain itu,
bayangan juga dapat membantu dalam menciptakan ilusi ruang yang nyata dalam
visual yang dibuat dengan komputer. Namun, untuk dapat mengaplikasikan teknik
bayangan dalam grafika komputer dengan baik, diperlukan pengetahuan tentang
teknik-teknik penghasilan bayangan, jenis-jenis bayangan, dan aplikasi bayangan
dalam grafika komputer.
Dalam dunia nyata, cahaya merupakan kebutuhan yang sangat penting.
Tanpa adanya cahaya, maka tidak mungkin suatu benda atau objek dapat terlihat.
Suatu benda atau objek dapat terlihat karena memantulkan sebagian atau seluruh
cahaya yang mengenainya. Cahaya yang mengenai suatu benda atau objek akan
mengakibatkan terbentuknya bayangan dari objek tersebut. Fenomena ini dapat
disimulasikan ke dalam teknologi grafika komputer. Terdapat beberapa model
pencahayaan dan bayangan yang dapat disimulasikan pada grafika komputer.
Pada pencahayaan antara lain: ambient light, diffuse reflection, specular
1
reflection. Pada bayangan antara lain: flat shading, diffuse shading. phong
shading.
B. Rumusan Masalah
Berdasarkan latar belakang masalah yang telah diuraikan diatas, maka laporan
ini akan membahas tentang “Bayangan” dalam Grafik Komputer, sehingga dalam
penelitian ini rumusan masalahnya sebagai berikut:
1. Apa itu bayangan pada Grafika Komputer?
2. Bagaimana program atau source code untuk menampilkan bayangan pada
sebuah objek dalam Grafika Komputer yang diterapkan pada Open GL?
3. Bagaimana keterangan atau penjelasan terhadap source code/program yang
dibuat?
4. Bagaimana cara menerapkan pemodelan bayangan di Open GL?
C. Tujuan
Berdasarkan rumusan masalah diatas, maka penelitian ini bertujuan sebagai
berikut:
1. Mengetahui dan memahami apa itu bayangan.
2. Mampu menampilkan source code atau program untuk menampilkan bayangan
pada sebuah objek dalam Grafika Komputer yang diterapkan pada Open GL.
3. Mampu menerapkan code/program yang di buat.
4. Mampu menerapkan pemodelan bayangan pada Ooen GL.
2
BAB II
HASIL DAN PEMBAHASAN
Pada bab ini akan disampaikan terkait source code atau program yang
sudah di buat, yaitu menampilkan bayangan pada sebuah objek yang disertai
dengan pencahayaan.
#include <math.h>
#include <stdio.h>
#include <GL/glut.h>
double rx = 0.0;
double ry = 0.0;
void help();
3
mat[0] = l[0] * n[0] + c; // Membuat matrik. Open GL menggunakan kolom
matrik
mat[4] = n[1] * l[0];
mat[8] = n[2] * l[0];
mat[12] = -l[0] * c-l[0] * d;
mat[5] = l[1] * n[1] + c;
mat[9] = n[2] * l[1];
mat[13] = -l[1] * c-l[1] * d;
mat[2] = n[0] * l[2];
mat[6] = n[1] * l[2];
mat[10] = l[2] * n[2] + c;
mat[14] = -l[2] * c-l[2] * d;
mat[3] = n[0];
mat[7] = n[1];
mat[11] = n[2];
mat[15] = -d;
void render()
{
glClearColor(0.0,0.6,0.9,0.0);
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glLightfv(GL_LIGHT0, GL_POSITION, l);
glDisable(GL_CULL_FACE);
glDisable(GL_LIGHTING);
glColor3f(1.0,1.0,0.0);
glBegin(GL_POINTS);
glVertex3f(l[0], l[1], l[2]);
glEnd();
glColor3f(0.8,0.8,0.8);
4
glBegin(GL_QUADS);
glNormal3f(0.0,1.0,0.0);
glVertex3f(-1300.0, e[1] - 0.1, 1300.0);
glVertex3f(1300.0, e[1] - 0.1, 1300.0);
glVertex3f(1300.0, e[1] - 0.1, -1300.0);
glVertex3f(-1300.0, e[1] - 0.1, -1300.0);
glEnd();
5
void help()
{
printf("Proyeksi Bayangan sebuah Objek Torus\n");
}
void idle()
{
rx += 0.4;
ry += 0.7;
render();
}
6
glLoadIdentity();
gluPerspective(60.0f, 1.0, 1.0, 400.0);
glutMainLoop();
return 0;
}
Hasil Screenshoot :
7
BAB III
KESIMPULAN
8
DAFTAR PUSTAKA