Abstrak—Rendering merupakan proses The caustic effect is produced by emitting light onto a
pembangkitan citra dari suatu model dengan bantuan transparent object. The refracted light will gather in an
program komputer. Didalam proses rendering berisi area so that the area will appear brighter from the
geometri, viewpoint, tekstur, pencahayaan, dan shading. surroundings. In previous studies, the caustic effect was
Ray Tracing merupakan teknik untuk menghasilkan applied to primitive objects, where the light was checked
gambar dengan menelusuri jalan cahaya melalui pixel once for each object.
dalam gambar.
The results show that the higher the refractive index,
Metode ray tracing mampu menghasilkan gambar the more concentrated the caustic effect in certain areas
yang realistik karena memperhitungkan efek – efek on round-bottomed objects, but spreads on flat and
pencahayaan seperti ambient, diffuse dan specular. pointed-bottomed objects. Increasing the complexity of
Pemantulan dan pembiasan cahaya juga dihitung dalam the mesh will increase the time linearly. Comparison
ray tracing. Selain itu metode ray tracing dibagi menjadi with other software shows differences in the form of
dua macam, yaitu penelusuran sinar dari mata caustic effects and rendering time.
(backward ray tracing) dan penelusuran sinar dari
sumber cahaya (forward ray tracing). Keywords—rendering, ray tracing, caustic, refraction,
lighting.
Efek caustic dihasilkan dengan memancarkan cahaya
lampu pada benda transparan. Cahaya yang dibiaskan
akan berkumpul di suatu daerah sehingga daerah
tersebut akan tampak terang dari sekitarnya. Pada I. INTRODUCTION
penelitian sebelumnya, efek caustic diterapkan pada
Rendering adalah proses akhir dari keseluruhan proses
objek yang primitif, dimana pengecekan cahaya
dilakukan satu kali tiap objek. pemodelan ataupun animasi komputer. Rendering sudah
Hasil menujukkan semakin besar indeks bias, maka mencakup proses modelling, perhitungan orthogonal, hidden
efek caustic lebih berkumpul pada area tertentu pada surface removal, dan pencahayaan dengan parameter
benda beralas bulat, namun menyebar pada benda
beralas datar dan lancip. Peningkatan pada tertentu.
kompleksitas mesh akan menambah waktu secara
linear. Perbandingan dengan software lain Rendering banyak digunakan pada desain produk, CT
menunjukkan perbedaan dalam bentuk efek caustic dan scan, manipulasi gambar, game programming, desain
waktu rendering.
interior, konstruksi bangunan, arsitektur, simulator, movie,
Kata Kunci—rendering, ray tracing, efek caustik, dan special effect movie. Rendering pada bidang-bidang
pencahayaan, pembiasan.
tersebut memiliki perbedaan, terutama pada fitur dan teknik
Abstract—Rendering is the process of generating an
image from a model with the help of a computer rendering-nya.
program. The rendering process contains geometry,
viewpoint, texture, lighting, and shading. Ray tracing is Salah satu metode rendering yang popular sekarang ini
a technique for producing images by tracing the path of adalah ray tracing. Ray tracing adalah teknik untuk
light through the pixels in the image.
menghasilkan gambar dengan menelusuri jalan cahaya
The ray tracing method is able to produce realistic melalui pixel dalam image dan simulasi efek dari pertemuan
images because it takes into account lighting effects such
as ambient, diffuse and specular. Reflection and dengan benda-benda virtual.
refraction of light are also counted in ray tracing. In
addition, the ray tracing method is divided into two Teknik ini mampu menghasilkan tingkat realisme visual
types, namely tracing rays from the eye (backward ray yang sangat tinggi, tetapi dengan biaya komputasi yang lebih
tracing) and tracing rays from light sources (forward
ray tracing). besar. Penggambaran bentuk objek tiga dimensi sering
2
penyebaran adalah variabel acak sebuah distribusi yang • Untuk tiap objek pada adegan, dicari titik
bergantung pada sudut datang dan sifat permukaan. Pada perpotongan terdekat dengan sinar tersebut.
tiap- tiap perpotongan, suatu sinar pantul ditembakkan dalam Apabila ditemukan, maka diterapkanlah model
arah yang ditentukan dengan menyampling distribusi yang pencahayaan pada objek ini untuk menentukan
digunakan untuk memodelkan penyebaran secara fisik. warna piksel tadi.
Penelusuran sinar (ray tracing) adalah suatu teknik untuk
melakukan render (memberi permukaan pada objek Ray tracing digolongkan sebagai algoritma iluminasi
sehingga objek tampak nyata). Proses render terdiri dari tiga global. Iluminasi global dalam grafika komputer adalah
Pemodelan adalah tahap mendeskripsikan dari sebuah titik x dengan membawa semua iluminasi yang
model bagi proses render. Pada tahap ini dilakukan sampai ke titik tersebut. Sehingga nilai cahaya yang
pendefinisian adegan (scene) yang akan di-render diperhitungkan bukan hanya dari sumber cahaya secara
dan ditampilkan. Suatu adegan umumnya terdiri langsung, tetapi dari semua iluminasi tak langsung yang
dari objek-objek tiga-dimensi, kamera, dan sumber mungkin berasal dari sumber cahaya lewat objek lain.
3
Modelkan sumber cahaya sebagai bola dengan radius dibedakan menjadi tiga, yaitu : Ambient, Difuse,
satu dan titik pusat posisi sumber cahaya. Dari titik pusat Specular (Wisudawati, 2015).
dicari arah pancaran sinar ke seluruh permukaan bola. a. Ambient
Ambient adalah efek pencahayaan yang telah
membaur dengan lingkungan sehingga arah cahaya tidak
dapat diketahui, seakan-akan cahaya datang dari segala
arah. Efek ini akan mempengaruhi terang atau tidaknya
suatu lingkungan yang terlihat oleh mata. Semakin
banyak lampu maka ruangan semakin terang, sebaliknya
jika lampu sedikit maka ruangan remang-remang.
Gambar 2. Forward Ray Tracing
b. Difuse
Difuse adalah pencahayaan yang tergantung dari
2. Backward Ray Tracing
besarnya sudut yang dibentuk antara sinar dari lampu ke
Backward ray tracing menggunakan penelusuran
titik tabrak pada obyek dengan normal obyek. Sehingga
sinar dari mata. Sinar dipancarkan dari mata ke arah
posisi lampu sangat mempengaruhi efek difuse ini.
setiap pixel yang membentuk layar gambar dan
Intensitas difuse dapat dicari dengan hukum Lambertian.
kemudian diteruskan ke obyek-obyek yang akan
c. Specular
digambar. Jika sinar yang melalui suatu pixel tersebut
Specular adalah efek pencahayaan dimana
mengenai suatu obyek maka dilakukan perhitungan
bayangan sumber cahaya terlihat pada permukaan obyek.
intensitas pada titik tabrak obyek tersebut.
Efek specular terlihat pada obyek yang mengkilap.
Intensitas hasil perhitungan tersebut digunakan
Semakin mengkilap permukaan suatu obyek maka makin
untuk memberi warna pada pixel tersebut (Liliana,
jelas bayangan sumber cahaya yang terlihat pada
2004). Perhitungan intensitas yang dilakukan adalah
permukaan obyek tersebut.
dengan memperhitungkan efek pencahayaan dan efek
visual. Jika sinar yang dipancarkan tersebut tidak
4. Model-Model Pencahayaan
mengenai obyek sama 6 sekali maka pixel diberi warna
Model iluminasi mengacu pada berbagai tipe
sama dengan warna latar belakangnya (Wisudawati,
sumber cahaya yang dapat disimulasi oleh grafik
2015).
komputer. Grafik komputer berusaha memodelkan
bermacammacam tipe sumber cahaya yang dapat
ditemukan pada dunia nyata. Sumber cahaya dapat
dikelompokkan ke dalam beberapa tipe, yaitu:
a. Sumber cahaya titik
b. Sumber cahaya berarah (directional)
c. Sumber cahaya setempat
Gambar 3. Backward Ray Tracing
4
Sumber cahaya titik merupakan sumber penerangan menggunakan proyeksi perspektif dan memperoleh rasa
yang paling sederhana untuk pemodelan, karena itu kita kedalaman pada 7 citra dua dimensi.
harus meletakkan posisinya dalam ruang bersamaan Proyeksi perspektif membuat objek yang muncul
dengan intensitas dan warnanya. Sumber cahaya yang terputusputus (terdistorsi) saat mendekati pengamat, dan
berarah dapat dikenali dari warna, intensitas, dan garis paralel berkumpul (konvergen) saat menjauh.
arahnya. Contohnya sinar cahaya yang tiba pada Sejumlah distorsi berhubungan dengan sudut pandang.
sebidang kecil tanah di atas permukaan bumi akan Umumnya semakin besar sudut pandang, semakin besar
kelihatan paralel dan memiliki intensitas yang sama. pula distorsi. Raytracing memproyeksikan sinar cahaya
Sudut antara vektor dan permukaan normal digunakan dari pengamat lewat tiap piksel di dalam citra yang
untuk menentukan kuantitas energi cahaya. Sumber menggunakan kekuatan model kamera.
cahaya spot (setempat) mensimulasikan tingkah lakunya Raytracer (pengusut sinar) menerapkan piksel
yang menciptakan pancaran cahaya yang dikendalikan terhadap warna objek yang sinarnya mengenai objek
dalam bentuk cone (kerucut). Kisaran minimum tersebut. Suatu raytracer me-render atau memberi arsiran
parameter dibutuhkan untuk memodelkan sumber cahaya pada layar komputer yang realistik, harus diperhitungkan
ini, terdiri atas posisi, intensitas, warna, dan sudut pemantulan, bayangan, pencahayaan, dan bermacam-
setempat. macam keberadaan permukaan objek. Kumpulan
konstanta menggambarkan tiap objek.
5. Perpotongan Sinar dan Objek Konstanta menetapkan ukuran, lokasi, dan
Untuk menentukan jatuhnya sinar ray tracing pada permukaan objek seperti halus dan bersinar, warna dan
objek yang terdekat, diperkirakan akan diperlukan waktu hue-nya, dan sebagainya. Konstanta ini dimasukkan ke
yang relatif tidak sedikit. Pengujian pada ray tracing dalam persamaan yang menentukan tipe khusus objek.
dilakukan dengan mendapatkan objek yang tepat
berpotongan dengan sinar. Ray tracer pada beberapa 7. Kelebihan dan Kekurangan Ray Tracing
fungsi berusaha memecahkan masalah ini dengan A. Kelebihan Ray
memanfaatkan perhitungan matematis dan pemilihan Tracing Ray Tracing memiliki beberapa
objek yang tepat. Contoh yang paling sederhana adalah keunggulan, diantaranya adalah :
bidang. Setiap titik objek dapat ditentukan dari a) Memiliki kemampuan memodelkan pencahayaan-
persamaannya. Ray tracer mensubtitusi persamaan sinar pencahayaan secara presisi seperti pemantulan dan
ke dalam persamaan objek dan mencari pemecahan pembiasan dengan relatif mudah. Dengan kemampuan
permasalahannya. Jika ada, maka koordinatnya memodelkan pencahayaan ini, maka citra yang diperoleh
merupakan tempat sinar memotong objek. Jika tidak, juga semakin realistis. Model pencahayaan yang
maka sinar tidak mengenai objek dan sisa objek lainnya digunakan pun dapat diatur menjadi lebih kompleks.
harus diuji lagi. b) Memiliki kemampuan bekerja dengan baik dengan
kelas obyek-obyek geometris yang lebih kaya daripada
6. Menggunakan Suatu Model Kamera jaringan poligon. Obyek padat dapat dibentuk dari
Raytracing menggunakan pemodelan kamera yang berbagai bentuk primitif geometris seperti bola, kerucut
ditujukan untuk menentukan begaimana dan tabung. Bentuk-bentuk ini dimodelkan langsung dari
memproyeksikan dengan inisialisasi sinar berarah persamaan matematisnya, sehingga diperoleh obyek
mundur terhadap interface komputer. Aspek penting dari yang benar-benar tepat.
model kamera adalah memberikan arsiran objek yang c) Beberapa elemen pada metode render lain dapat
secara langsung diatasi oleh Ray Tracing. Elemen-
5
elemen ini diantaranya adalah prinsip perspektif dan 1. Alias dan Sampling
penghilangan permukaan yang tersembunyi (Samopa & Dalam teori, istilah ‘alias’ merupakan
Mardian, 2008). artefak pada citra tertentu yang kebanyakan nampak
pada tekstur ketika periodisitas pendekatan tekstur
mendekati dimensi piksel. Ini diakibatkan oleh
B. Kekurangan Ray Tracing
Ray Tracing seperti metode lainnya, juga memiliki undersampling. Istilah sampling dalam grafika
beberapa kekurangan antara lain: komputer berasal dari fakta bahwa saat kita
a) Waktu render yang relatif lama disebabkan karena menghitung warna tunggal atau nilai setiap piksel;
komputer harus melakukan perhitungan pada setiap sinar kita melakukan sampling terhadap sebuah solusi
untuk menentukan perpotongan sinar dengan obyek; pada titik-titik diskrit dalam ruang solusi. Ini adalah
b) Kebutuhan tenaga komputer yang cukup besar untuk ruang yang secara potensial kontinu, karena citra
melakukan komputasi menyebabkan metode Ray grafika komputer dibuat dari abstraksi, kita dapat
Tracing jarang digunakan untuk render secara real time, menghitung sampel di manapun dalam bidang citra.
tidak langsung dibutuhkan hasilnya saat itu juga; Dalam ray tracing, alias secara lebih
c) Timbulnya alias pada citra yang dihasilkan apabila khusus dapat diamati dari timbulnya efek ‘jaggies’.
menggunakan metode Ray Tracing biasa. Jaggies biasanya nampak pada tepi suatu objek.
Tepi objek tersebut menjadi kelihatan bergerigi
B. ANTI-ALIASING DENGAN ORDERED GRID (jagged). Seringkali istilah alias itu sendiri disebut
Citra yang dihasilkan oleh ray tracing memiliki Penyebab timbulnya jaggies ini adalah
suatu kelemahan yaitu timbulnya alias. Alias merupakan kenyataan bahwa meskipun piksel bersesuaian
salah satu artefak dalam citra. Artefak adalah suatu dengan wilayah tak-nol yang terbatas dalam bidang
elemen pada citra yang bukan merupakan bagian dari pandangan, hanya satu sinar yang ditembakkan
proses pemodelan citra tersebut. Artefak ini muncul di melalui wilayah ini (satu sinar pada satu piksel).
luar proses pemodelan. Artefak merupakan konsekuensi Padahal dalam kenyataannya, satu piksel tidaklah
dari operasi pada algoritma render tertentu yang cukup kecil untuk merepresentasikan satu titik
digunakan untuk menghasilkan citra. koordinat. Bahkan dalam satu piksel dalam layar
komputer terdapat tak terhingga banyaknya titik.
Dengan demikian undersampling di sini terjadi
karena sampel titik yang kurang, atau dipandang
dari sudut lain, jumlah sinar pada satu piksel yang
seharusnya lebih dari satu sinar.
3. Full-Scene Anti-aliasing dengan Ordered Grid Super
Sampling
Anti-aliasing adalah istilah umum yang
diberikan pada metode yang berhubungan dengan
ketidakcocokan yang timbul akibat undersampling .
Gambar 4. Perbedaan Penggunaan antialiasing Dalam ray tracing, ini berarti menghilangkan efek
jaggies. Salah satu metode anti-aliasing adalah
supersampling, yaitu menambah jumlah sampel.
6
Seperti telah dibahas di bagian sebelumnya bahwa Fragment Anti Aliasing (FAA) adalah
penyebab alias adalah undersampling, maka dengan suatu metode baru yang digunakan untuk menutupi
memperbanyak jumlah sampel diharapkan dapat kelemahan pada teknik OGSS. Pada teknik FAA ini,
menghilangkan alias. hanya bagian tertentu dari adegan yang dilakukan
Penambahan sampel di sini berupa sampling. Bagian tersebut tentunya bagian yang
memperbanyak jumlah sinar yang melewati satu mengalami efek tangga saja atau bagian dari adegan
piksel. Seperti penjelasan sebelumnya, satu piksel yang terdapat obyek.
sebenarnya terdiri dari tak terhingga banyaknya titik Cara menentukan penggunaan proses
koordinat, dengan memperbanyak sinar, maka FAA atau tetap melakukan render normal dimulai
diharapkan titik yang dapat di-sampel menjadi lebih dengan menentukan jarak yang terjauh yang dapat
banyak pula. dilihat dengan mata dan jarak terdekat yang tampak
Memperbanyak sinar dapat pula oleh mata. Setiap kali sebuah sinar ditembakkan
dipandang sebagai memperbanyak piksel. Karena maka dilakukan perhitungan untuk menentukan
dengan jumlah piksel yang bertambah, tentunya perpotongan antara persamaan sinar dan persamaan
sinar yang ditembakkan pada piksel juga semakin benda dalam citra. Setelah diketahui nilai koordinat
banyak. perpotongan, maka diperiksa apakah titik
4. Implementasi Ordered Grid Super Sampling pada perpotongan tersebut dalam jangkauan batas 12
Mesin Render yang tampak pada mata. Apabila titik perpotongan
Proses anti-aliasing berlangsung dengan tersebut benar atau valid, proses render dilakukan
cara me-render citra dengan resolusi dua kali lebih dengan menerapkan FAA. Apabila tidak terjadi
besar, kemudian melakukan rata-rata nilai warna perpotongan, proses render dengan FAA akan
citra supersample ini. Algoritma yang digunakan dihentikan dan dilanjutkan dengan render normal.
sebenarnya sama dengan algoritma mesin render,
C. Permodelan Cahaya
hanya saja resolusi citra yang diperbesar, sehingga
Sumber cahaya dimodelkan sebagai bola dengan radius
sinar yang ditembakkan juga semakin banyak. Saat
satu dan posisi sumber cahaya sebagai titik pusatnya
warna piksel akhir telah diketahui, maka empat buah
(Gambar 5). Dari titik pusat dicari arah pancaran sinar ke
piksel yang bertetangga dihitung rata-rata warnanya,
seluruh permukaan bola.
untuk dijadikan warna satu piksel citra hasil.
5. Fragment Anti-Aliasing
Untuk melakukan anti-aliasing dengan
teknik OGSS diperlukan sumber daya dan waktu
yang besar pada saat komputasi. Hal ini disebabkan
sampling dilakukan terhadap semua bagian dari
adegan. Sampling dalam OGSS dilakukan secara
menyeluruh. Piksel dalam adegan tidak semuanya
mengalami jaggies, sehingga perlu dilakukan
antialiasing. Hanya bagian tepian dari suatu obyek, Gambar 5. Permodelan Cahaya
atau bagian gambar yang urutan warna pikselnya
mempunyai gradien yang perlu dilakukan anti- Cara untuk mendapatkan titik pada permukaan bola
aliasing (Samopa & Mardian, 2008). P (u, v) = (r*cos (v)*cos (u), r*cos (v) * sin (u), r*sin (v))(1)
7
Dimana: r = jari-jari bola ( bernilai 1) u = sudut N = Normal bidang,
searah sumbu mendatar bernilai antara 0 s/d 2 v = sudut S = Titik asal sinar yang menabrak
searah sumbu tegak bernilai antara -/2 s/d /2. dir = Arah sinar
u = sudut searah sumbu mendatar bernilai antara 0 s/d 2 yang mempunyai kemampuan untuk memantulkan cahaya.
v =sudut searah sumbu tegak bernilai antara -/2 s/d /2. Efek ini akan menampakkan bayangan objek lain pada objek
yang reflektif dan membutuhkan setidaknya dua objek .
r = arah cahaya pantulan reflection adalah arah mencari cahaya pantulan dengan
Pemetaan cahaya menyimpan energi dari sinar dalam i = arah sinar datang
suatu array 2D. Karena obyek berupa 3D, maka diubah n = normal bidang
terlebih dahulu ke bentuk P(u,v) nya. Setelah itu Refraction / pembiasan adalah efek yang terjadi ketika
distribusikan intensitas tersebut ke titik – titik di sekitarnya, cahaya melewati benda transparan yang berbeda indeks
Untuk pendistribusian ke empat titik sekitarnya, transparan tersebut dan dapat menabrak benda lain yang
semakin dekat jarak titik jatuhnya cahaya dengan titik terdapat dibelakanya. Peristiwa ini menyebabkan benda
sekitarnya maka intensitas yang disimpan pada titik tersebut telihat tembus pandang. Berdasarkan hukum Snellius, maka
semakin besar. Demikian juga sebaliknya, semakin jauh didapatkan persamaan pembiasan dalam ray tracing [3].
yang disimpan di suatu titik pada illumination map, terlebih n= η1/ η2 (6)
obyek maka perlu dicari terlebih dahulu waktu yang p = arah sinar datang
diperlukan sinar dari titik asal sampai menabrak obyek N = arah normal bidang
N • dir (2)
Dimana : D. Efek Caustic
t = Waktu tabrakan. Efek kaustik (Gambar 6) dihasilkan ketika cahaya yang
d = Jarak bidang dengan bidang koordinat dipantulkan atau dibiaskan oleh permukaan specular objek
8
menyentuh permukaan difus bayangan benda [1]. Hal ini
menyebabkan bayangan yang dihasilkan memiliki area
terang dan gelap. Contoh nyata efek kaustik dalam
kehidupan sehari – hari adalah bayangan yang diciptakan
oleh gelas kaca (Yoewono, dkk,. 2015).
III. METODE
Gambar 7. Cara Kerja Sistem Secara Garis Besar
Input dari aplikasi ini file konfigurasi yang berisi sudut
pandang mata (FOV), lebar layar gambar (pixx), tinggi layar IV. UJI COBA
gambar (pixy), dan ukuran layar kamera (S), plane dan Pada bagian ini akan dibahas mengenai hasil
lampu. Input kedua adalah file objek yang berisi mesh yang pengujian terhadap software untuk mengevaluasi hasil
akan digunakan. Setelah input dimasukkan, maka aplikasi pembiasan dan efek caustic dari proses ray tracing yang
akan men-load mesh pada layar OpenGl, dan melakukan dilakukan.
forward serta backward ray tracing pada mesh tersebut. 4.1. Pengujian Indeks Bias
Pada backward ray tracing, cahaya yang ditelusuri adalah Pengujian indeks bias dilakukan pada 3 objek
cahaya yang berasal dari mata, sedangkan pada forward ray berbeda berdasarkan alasnya, yaitu : cenderung bulat,
tracing cahaya yang ditelusuri merupakan cahaya dari cenderung datar, dan lancip. Pemilihan indeks bias yang
lampu. Output yang dihasilkan merupakan gambar 2 paling rendah adalah air (1.33), sedangkan indeks bias tinggi
dimensi hasil ray tracing. Desain sistem dapat dilihat pada diwakilkan oleh permata (2.41) dan cubic zircona untuk
Gambar 7. nilai indeks bias sedang (1.9).
Tabel1. Benda Beralas Cenderung Bulat
Indeks bias Hasil
1.33
9
1.9 1.9
2.41
2.41
bias akan membuat efek caustic semakin berkumpul pada dengan alas datar menunjukkan bahwa peningkatan indeks
satu titik dan terlihat lebih putih. Penurunan indeks bias bias akan membuat efek caustic semakin menyebar dan
mengakibatkan efek caustic semakin menyebar dan lemah. membentuk lingkaran yang lebih besar. Penurunan indeks
Tabel2. Benda Beralas Cenderung Datar bias mengakibatkan efek caustic semakin berkumpul dan
1.33
10
1.9 • Pada objek yang alasnya cenderung bulat,
peningkatan pada indeks bias akan membuat efek
caustic semakin berkumpul pada satu titik dan
terlihat lebih putih. Penurunan indeks bias
mengakibatkan efek caustic semakin menyebar dan
lemah.
11