EFEK
PENGUMPULAN CAHAYA BIAS PADA OBYEK TRANSPARAN 3D MENGGUNAKAN METODE BACKWARD
RAY TRACING DAN PHOTON MAPPING
Liza Setyaning Pertiwi1
ABSTRAK
Penelitian ini merancang suatu perangkat lunak yang
mampu menghasilkan efek realistik pada obyek-obyek transparan dengan
menggunakan metode backward ray tracing dan photon mapping. Obyek transparan
yang dimodelkan pada penelitian ini berupa bola, kotak, tabung, dan kerucut.
Hasil penelitian yang menggunakan software Delphi 7 dan OpenGL ini adalah
pemunculan efek pembiasan sinar pada obyek transparan dari sumber cahaya yang
mengumpul di suatu daerah sehingga pada daerah tersebut akan tampak lebih
terang daripada daerah sekitarnya. Penggunaan gabungan metode backward ray
tracing dan photon mapping memerlukan waktu render rata-rata untuk dua obyek
transparan (bola) yaitu 39717.25 ms dan waktu render rata-rata untuk satu obyek
transparan (tabung) yaitu 16041.75 ms.
Kata kunci : transparan, photon mapping, backward ray tracing.
1 Liza Setyaningsih Pertiwi, Mahasiswa S2 Matematika,
FMIPA, Universitas Sumatera Utara
ISSN 2355-0074 Volume
I. Nomor 2.Oktober 2014 | 13
1 Pendahuluan
Dalam dunia komputer grafis saat
ini, metode rendering untuk menghasilkan
gambar-gambar realistik telah berkembang. Salah
satu metode yang sering dipakai adalah ray tracing. Dengan metode ray tracing,
maka hasil rendering gambar yang dihasilkan sesuai dengan aslinya karena
memperhitungkan efek-efek pencahayaan seperti ambient, diffuse dan specular.
Metode ray tracing dibedakan
menjadi dua, yaitu forward ray tracing dan backward ray tracing. Forward ray
tracing adalah metode penelusuran cahaya yang
dipancarkan dari sumber cahaya, sedangkan metode backward ray tracing
menelusuri cahaya yang dipancarkan dari kamera atau mata. Metode forward ray
tracing dapat menghasilkan gambar yang memiliki efek pengumpulan cahaya bias.
Akan tetapi metode forward ray tracing tersebut memerlukan waktu render yang
sangat lama. Hal ini disebabkan banyaknya sinar yang dipancarkan sumber cahaya
dan tidak semua sinar tersebut mengenai obyek atau menuju ke arah kamera. Oleh
karena itu, diperlukan kombinasi dengan metode lain. Pada fase pertama, sinar
yang dipancarkan sumber cahaya dan mengenai obyek akan dipetakan ke dalam
photon mapping. Fase kedua dilakukan dengan menggunakan algoritma backward ray
tracing. Adapun software aplikasi untuk memvisualisasikan hasil penelitian
yaitu OpenGL dan Delphi 7.
ISSN 2355-0074
Liza Setyaning Pertiwi, Efek
Pengumpulan Cahaya...
2
Pemantulan
dan pembiasan cahaya
2. 1Pemantulan
Cahaya
Sinar yang datang mengenai suatu
permukaan obyek akan dipantulkan dengan sudut yang sama besar terhadap normal
pada bidang yang dikenai. Gambaran dari sinar datang dan sinar pantul dapat
dilihat pada Gambar 1. Secara sederhana dapat dikatakan
sudut antara L dengan N sama besar dengan sudut antara N dengan R .

L
R
N
Gambar 1. Pembentukan
sinar pantul
Untuk mencari arah sinar pantul
dapat dirumuskan (Whitted, 1998) seperti pada persamaan 1.
|
|
R = 2N (N · L) - L
|
(1)
|
|
|
|
|
|
dengan,
|
R = sinar pantul,
|
|
N
= normal,
L = negasi dari sinar datang.
Volume I. Nomor 2.Oktober 2014 | 14
2.2 Pembiasan Cahaya
Sinar yang mengenai benda transparan akan
dibiaskan. Hasil pembiasan tergantung pada kerapatan material obyek. Sinar bias
dihitung dengan acuan vektor normal dari obyek seperti yang terlihat pada
Gambar 2. Sinar b yang berasal dari medium satu, kecepatannya adalah c1 dan
membentuk sudut
datang θ1 terhadap garis normal, mengenai dan
melewati obyek dengan medium dua, kecepatan sinar pada medium dua adalah c2 dan
sudut pembiasan yang terbentuk antara sinar bias dengan normal adalah θ2, maka
hukum Snell (Halliday, 1960) dinyatakan pada persamaan berikut:
|
|
|
sin(q1)
|
=
|
sin(q 2)
|
|
|
(2)
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
c1
|
|
c2
|
|
|
|
|
||||||||
|
c
adalah satu banding n sehingga persamaan diatas dapat ditulis:
|
||||||||||||||||
|
|
sin(θ1)
* n1 = sin(θ2) * n2
|
|
(3)
|
|||||||||||||
|
dengan,
|
θ1 dan
θ2 = sudut datang dan sudut pantul,
|
|||||||||||||||
|
|
c1 dan
c2 = kecepatan sinar di medium asal dan tujuan,
|
|||||||||||||||
|
|
n1 dan
n2 = indeks bias medium asal dan tujuan sinar.
|
|||||||||||||||
|
Untuk mencari arah sinar yang sudah dibiaskan (d), seperti yang
terlihat pada Gambar 2
|
||||||||||||||||
|
didapat
dengan persamaan seperti pada persamaan berikut:
|
|
|
|
|
||||||||||||
|
|
d = dc + (1 - d )(-U n )
|
|
(4)
|
|||||||||||||
|
|
d =
|
|
|
|
|
|
|
1
|
|
|
|
(5)
|
||||
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
c12
|
|
* || c ||2 - || c + U
|
|
||2
|
|
|
||||
|
|
|
|
|
|
|
c22
|
n
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
c =
|
|
|
|
|
b
|
|
|
|
|
|
(6)
|
||||
|
|
|
|
|
|
|
|||||||||||
|
|
|| b ·U n
|
||
|
|
|
|
|||||||||||
|
dengan,
|
d =
sinar bias,
|
|
|
|
|
|
|
|
|
|||||||
δ
= jarak antara cahaya yang
dibiaskan dengan garis normal, Un= normal bidang,
c1= kecepatan pada medium 1, c2= kecepatan pada medium 2, dan
b = sinar datang yang mengenai suatu permukaan
obyek.
ISSN 2355-0074 Volume
I. Nomor 2.Oktober 2014 | 15
3 Photon Mapping dan Backward Ray Tracing
Photon mapping menyimpan photon-photon pada photon
map dari penulusuran titik yang dikenai sinar, sedangkan backward ray tracing
adalah suatu metode untuk menelusuri sinar yang dipancarkan dari kamera atau
mata.
3.1 Photon
Mapping
Prinsip dasar dari photon mapping adalah menyimpan
sinar yang dipancarkan dari sumber cahaya ke dalam photon map (Tin-Tin dkk,
2005). Sinar yang disimpan

hanya sinar yang menabrak obyek bukan transparan dan merupakan sinar
hasil dari pembiasan oleh obyek transparan. Penelusuran sinar pancaran
dilakukan untuk setiap sumber cahaya. Tipe pemancaran sinar yang digunakan
adalah memancarkan sinar ke segala arah dari suatu titik pusat, yaitu titik
posisi sumber cahaya tersebut. Gambaran pemancaran sinar dapat dilihat pada
Gambar 3.
Gambar
3. Penembakan
sinar dari sumber cahaya
Sinar-sinar yang menabrak obyek disimpan posisi
tabrak dan intensitas cahayanya. Jika menabrak obyek transparan maka sinar akan
dibiaskan. Arah sinar bias
dihitung dengan menggunakan teori
pembiasan cahaya, yaitu hukum Snell dan penelusuran
sinar diteruskan sampai menabrak obyek yang tidak transparan. Hasil pemetaan
dapat dilihat pada Gambar 4.
ISSN 2355-0074 Volume
I. Nomor 2.Oktober 2014 | 16
Efek pengumpulan cahaya bias dimodelkan dengan
menggunakan algoritma photon mapping. Efek itu muncul dengan adanya sinar-sinar
yang dibelok sehingga akhirnya menabrak di titik berdekatan, atau bahkan banyak
sinar yang dibiaskan ke titik yang sama.
3.2 Backward
Ray Tracing

Setelah proses photon mapping selesai, maka
dilanjutkan dengan fase kedua yaitu dengan menggunakan algoritma backward ray
tracing. Gambaran perhitungan photon mapping dalam backward ray tracing dapat
dilihat pada Gambar 5
Gambar 5 Backward
ray tracing dengan photon mapping
Struktur data yang digunakan untuk menyimpan sinar
adalah struktur data kd-tree (k-dimensional tree)untuk mendapatkan waktu render.
Data-data photon tersebut dibagi
berdasarkan posisinya, pembagian itu didasarkan
pada salah satu sumbu (X,Y atau Z) (Tin-Tin dkk, 2005). Adapun model efek bias
tampak pada persamaan berikut.
ISSN 2355-0074 Volume
I. Nomor 2.Oktober 2014 | 17
|
|
|
|
|
|
|
Liza
Setyaning Pertiwi, Efek Pengumpulan Cahaya...
|
|||||
|
|
1
|
M
|
|
|
|
|
|
|
|
|
|
|
c =
|
å(max(
|
|
|
|
|
|
|
|
|
||
|
|
· li
|
,0) * kd * color + max(
|
|
· hi ,0)a * ks * color ) * energy i
|
|||||||
|
n
|
n
|
||||||||||
|
2
|
|||||||||||
|
|
r
|
i =1
|
(7)
|
||||||||
|
|
|
|
|||||||||
dengan,
c
= efek pengumpulan sinar bias di titik P,
r= radius
dari bola S,
M= jumlah
photon yang ditemukan pada bola S,
|
|
|
|
|
|
|
li
|
= negasi arah photon i,
|
|||
|
|
hi
|
|
= vektor antara arah pembiasan dengan arah
penampakan photon i,
|
|
|
a
|
=
eksponen ketajaman specular,
|
|||
|
kd
|
=
koefisien diffuse,
|
|||
|
ks
|
=
koefisien specular,
|
|||
|
color
|
= warna
permukaan di titik P,
|
|||
|
energyi
|
=
tingkatan energi photon i, dan
|
|||
max(a,b)=
kembali pada nilai maksimum dari a dan b (Cheah, 1996).
Sedangkan
algoritma yang digunakan sebagai berikut:
1. untuk
setiap sumber cahaya
2. cari arah
pancaran sinar
3. cari
titik tabrak sinar dengan semua obyek
4. jika
menabrak obyek maka
5. jika
mengenai benda reflektif maka
6. cari
sinar pantulannya
7. petakan
dengan parameter sinar pantulnya
8. jika
mengenai benda transparan maka
9. cari
sinar biasnya
10. petakan
dengan parameter sinar biasnya
3.3 Implementasi
Algoritma
Uji coba terhadap perangkat lunak yang telah dibuat
dengan menggunakan Delphi 7 dan OpenGL ini bertujuan untuk mengetahui apakah
output nya sudah sesuai. Untuk uji coba, data – data diatur sebagai berikut:
·
Posisi Camera (0,300,900), view (0,300,0)
·
Posisi Camera (0,300,900), view (0,300,0)
· Warna background diatur dengan kombinasi pink 0.3, hijau 0.3 dan biru
0.3,kuning 1.0
·
Lampu dengan koefisien ambient
(0.5, 0.5, 0.5), koefisien diffuse dan specular (0.8
0.8 0.8). Lampu diletakkan di posisi ( 0, 19, 0 ). Energinya 20.
·
Bidang datar dengan normal (0, 1,
0), jarak –5 dari bidang y = 0. Untuk koefisien
ISSN 2355-0074 Volume
I. Nomor 2.Oktober 2014 | 18
ambient 0.7, diffuse 0.2, specular 0.8, reflektifitas 0 dan
transparansinya 0,
·
Bola dengan titik pusat (2, 1, -1), jari - jari
4. Koefisien ambient
0.3, diffuse 0.9,
specular 0.2, reflektifitas 0.2, transparansinya
0.7 dan index biasnya
1.25. Bola
tidak bertekstur dan berwarna ( 0, 1, 0 ).
·
Bola dengan titik pusat (-12, 2, 4), jari -
jari 6.5. Untuk koefisien ambient 0.5,
.
Liza Setyaning Pertiwi, Efek Pengumpulan Cahaya...
diffuse 0.8, specular 0.2, reflektifitas 0.2 dan transparansinya 0 dan
index biasnya 0. Bola tidak bertekstur dan diset dengan warna ( 1, 0, 0 ).
·
Skala map ( ukuran luas pada
dunia nyata yang diwakili oleh setiap satuan luas pada illumination map) pada
bidang datar
adalah 2.
Dengan data – data tersebut di atas maka didapatkan hasil seperti pada
gambar 6.

Gambar 6.Efek
sinar bias dengan 2 bola
4
Kesimpulan
1.
Hasil pemodelan efek pegumpulan
cahaya bias tergantung pada intensitas sumber cahaya, posisinya dan indeks bias
obyek.
2.
Pengaruh penggunaan struktur data
kd-tree pada software yang akan dibangun adalah mempercepat waktu render karena
menyimpan photon pada
leaf lebih dari satu
ISSN 2355-0074 Volume
I. Nomor 2.Oktober 2014 | 19
Daftar Pustaka
Arvo, J. 1986. Backward Ray Tracing. Apollo Computer, Inc.
Chelmsfort, MA, http://graphics.stanford.edu/courses/cs348b-97/basics/intersection/slides/, (diakses 27 Februari 2008).
Cheah, Shu Chiun. 1996. An
Implementation Of A Recursive Ray Tracer That Renders Caustic Lighting
Effects.Dept. of Computer Science, University of Maryland,
http://www.cs.umd.edu/~mount/Indep/Scheah/causticpaper.html, (diakses 27 Februari 2008).
Halliday, Resnick; Krane. 1960.
Physics 4th Edition Volume 2. John Willey
& sons.
Purcell, Varberg. 1987. Calculus
with Analytic Geometry 5th Edition. Prentice-Hall.
Whitted. 1998. Basics of Ray
Tracing. Lecture notes for Spring Quarter.
Woo, M., Neider, J. dan Davis, T.
1997. OpenGL Programming Guide Second Edition. Silicon Graphics.
Wright, Right S. 1996.
OpenGL-Super Bible. San Francisco: Waite Group Press.
Yu, Tin-Tin., Lowther, John. dan Shene, Ching-Kuang.
2005. Photon Mapping Made Easy. Houghton: Department of Computer Science
Michigan Technological University, (http://www.cs.mtu.edu/~shene/PUBLICATIONS/2005/photon.pdf,
diakses 27 Mei 2008).
ISSN 2355-0074 Volume
I. Nomor 2.Oktober 2014 | 20








0 komentar:
Post a Comment