• Tidak ada hasil yang ditemukan

Grafika & Pengolahan Citra (CS3214)

N/A
N/A
Protected

Academic year: 2021

Membagikan "Grafika & Pengolahan Citra (CS3214)"

Copied!
44
0
0

Teks penuh

(1)

Grafika & Pengolahan Citra

(CS3214)

12 – Rendering

(2)

3D Photorealism

• Ketepatan pemodelan objek • Proyeksi secara perspektif

• Efek pencahayaan yang natural kepada permukaan tampak: pantulan, transparansi, tekstur, dan

(3)

Illumination model vs

surface rendering

• Model pencahayaan: model untuk

menghitung intensitas cahaya pada satu

titik pada suatu permukaan

• Rendering permukaan: prosedur yang

menerapkan model pencahayaan untuk

mendapatkan intensitas semua titik pada

seluruh permukaan tampak

(4)

Model Pencahayaan

• Metoda untuk menghitung intensitas

cahaya:

– Ambient – Diffuse – Specular

(5)

Model Pencahayaan

Is Id Ia I dist dist Ws Is dist dist Kd Wd Id Ka Wd Wa Ia total Ks ) .(cos . cos . . . ). ( Ф P N L | | ) ( | | ) ( | | ) ( ) ( L Z Z Lz L Y Y Ly L X X Lx Lz Ly Lx L P L P L P L L N. cos

(6)
(7)

Teknik Rendering Permukaan (Poligon)

• Melakukan perhitungan dengan model

pencahayaan untuk semua titik yg tampak

– Ray-tracing

• Melakukan interpolasi untuk titik-titik pada permukaan dari sekumpulan intensitas hasil perhitungan dengan model pencahayaan

(8)

Scan-line algorithms

• Permukaan = poligon

• Aplikasi model pencahayaan:

– Perhitungan intensitas tunggal untuk masing-masing poligon

– Intensitas tiap titik pada poligon didapat dengan cara interpolasi

• Algoritma:

– Flat (constant-intensity) shading – Gouraud shading

(9)

Flat shading

• Intensitas tunggal untuk setiap poligon

– Semua titik dalam poligon ditampilkan dengan intensitas yang sama

• Sering digunakan untuk mendapat tampilan cepat dari objek

• Akurat dengan asumsi:

– Objek = polihedron (bukan aproksimasi kurva) – Sumber cahaya cukup jauh (N.L konstan)

– Pengamat cukup jauh (V.R konstan)

Bisa disiasati dengan memperkecil poligon facet

(10)
(11)

Gouraud shading

• Rendering poligon dengan interpolasi linear terhadap nilai-nilai intensitas vertex (titik

sudut poligon)

• Nilai intensitas untuk tiap poligon disesuaikan dengan poligon lain yang bersebelahan untuk mengurangi discontinuity (seperti yg terjadi pada flat shading)

(12)

Langkah-langkah Gouraud shading

• Tentukan vektor normal satuan rata-rata untuk setiap vertex pada poligon

• Terapkan model pencahayaan ke tiap vertex untuk mendapatkan intensitasnya

• Lakukan interpolasi linear terhadap intensitas vertex untuk mendapatkan intensitas titik-titik lain pada poligon.

(13)

1) Vektor normal untuk vertex V

n k k n k k v

N

N

N

1 1 V N1 N2 N3 N4

 Setelah mendapatkan vektor normal pada

vektor V, dengan model pencahayaan bisa didapat intensitas untuk titik tersebut

(14)

2) Interpolasi intensitas

2 2 1 4 1 1 2 1 2 4 4 I y y y y I y y y y I 5 4 5 4 4 4 5 5 I x x x x I x x x x IP P P y x 3 2 1 Scan line 4 5 P

(15)

Interpolasi secara inkremental

2 1 1 2 2 2 1 1 1 2 1 2 ' y y I I I I I y y y y I y y y y I y x 3 I1 Scan line I’ I I2 y y-1 x x-1

(16)
(17)

Kekurangan Gouraud

• Tampilan highlight tidak sempurna

• Mach band: garis terang atau gelap muncul pada permukaan

– Akibat penggunaan interpolasi linear

Untuk mengurangi efek tersebut:

Perkecil ukuran poligon

(18)

Phong shading

• Interpolasi terhadap vektor normal

• Model pencahayaan diterapkan pada semua titik pada permukaan

• Memberikan highlight yang lebih realistik dan mereduksi efek Mach-band

(19)

Langkah-langkah Phong

• Tentukan vektor normal satuan rata-rata untuk setiap vertex pada poligon

• Lakukan interpolasi linear terhadap vektor

normal ke seluruh permukaan poligon

• Terapkan model pencahayaan sepanjang scan line untuk mendapatkan intensitas setiap titik pada permukaan

(20)

Interpolasi vektor normal

2 2 1 1 1 2 1 2 N y y y y N y y y y N N3 N1 N2 N Scan line

 Untuk mendapatkan vektor-vektor normal antar scan

line dan sepanjang scan line digunakan metode inkremental

(21)
(22)

Evaluasi Phong

• Hasil lebih akurat

– Interpolasi vektor normal

– Model pencahayaan diterapkan pada tiap titik

• Trade-off: butuh ‘biaya’ komputasi yang lebih besar

Fast Phong Shading:

aproksimasi intensitas dengan perluasan deret Taylor

(23)

wireframe Flat shading

(24)

http://www.hlc-games.de/forum/viewtopic.php?f=10&t=56

(25)

Ray-tracing

• Kelanjutan ide Ray-Casting

– ‘Sinar’ diteruskan (memantul ke / menembus objek lain)

– Mencatat semua kontribusi terhadap intensitas suatu titik

– Untuk mendapatkan efek pantulan dan transmisi secara global

• Ray-Tracing dasar:

– deteksi permukaan tampak, efek bayangan, transparansi, pencahayaan dengan beberapa sumber cahaya

• Pengembangan Ray-Tracing:

(26)
(27)
(28)

Ilustrasi ‘tracing a ray’

Projection reference

point Projection plane

(29)

Algoritma Ray-Tracing Dasar

For each pixel in projection plane {

Create ray from the reference point passing through this pixel Initialize NearestT to INFINITY and NearestObject to NULL

For every object in scene {

If ray intersects this object {

If t of intersection is less than NearestT { Set NearestT to t of the intersection

Set NearestObject to this object }

} }

If NearestObject is NULL {

Fill this pixel with background color } Else {

Shoot a ray to each light source to check if in shadow

If surface is reflective, generate reflection ray: recurse If transparent, generate refraction ray: recurse

Use NearestObject and NearestT to compute shading function Fill this pixel with color result of shading function

} }

(30)

Rekursif pada ray-tracing

• Saat primary ray (sinar yang berawal dari

projection reference point) dipantulkan atau dibiaskan oleh objek, sinar pantulan atau

biasan disebut dengan secondary ray

• Secondary ray akan mengalami perlakuan

yang sama seperti primary ray saat menemui objek (dipantulkan dan / atau dibiaskan)

(31)

Binary Ray-Tracing tree

S1 S2 S3 S4 R1 T1 R3 T3 R4 R2 Projection reference point S1 S3 S4 S2 R1 T3 R3 R4 T1 R2

(32)

Binary Ray-Tracing tree (cont’d)

• Tracing (pembentukan tree) berhenti jika:

– Sampai maximum depth (pilihan user / kapasitas memori)

– Sinar sampai ke sumber cahaya

• Intensitas pada suatu pixel: akumulasi

intensitas mulai terminal node (paling bawah) pada tree

• Intensitas tiap permukaan mengalami

atenuasi (pelemahan) setara dengan jarak

permukaan tersebut ke permukaan parent-nya (pada tree: node yang tepat di atasnya)

(33)

Intensitas akhir suatu pixel

• Merupakan hasil penjumlahan seluruh

intensitas -yang telah mengalami atenuasi-(pada root node)

• Jika tidak ada permukaan yang berpotongan dengan sinar dari pixel, maka pixel tersebut diberi nilai intensitas sama dengan latar

belakang

• Jika sinar dari pixel berpotongan dengan

sumber cahaya (meski tidak reflektif), maka pixel tersebut diberi nilai intensitas sama

(34)

R u H N L Incoming ray Reflected ray Light source

Pantulan

• Jika L berpotongan dengan permukaan lain, maka permukaan tersebut dalam daerah bayangan

N N u u R N H k Specular L N k Diffuse I k Ambient s n s d a a ) . 2 ( ) . ( ) . (

(35)

Pembiasan

• Untuk objek dengan material transparan

) cos 1 ( 1 cos ) cos (cos 2 2 i r i r i r i r r i N u T θi θr N u T Incoming ray

(36)
(37)

Radiosity

• Memodelkan pantulan difusi dengan lebih akurat

• Mempertimbangkan transfer energi radian antar permukaan (sesuai dengan hukum kekekalan energi)

• Tingkat kecerahan (brightness) dan warna dari segala sesuatu tergantung dari segala sesuatu yang lain

(38)

Efek visual radiosity

• Cahaya putih mengenai bola merah

• Ada pantulan cahaya merah dari bola ke objek lain di sekelilingnya • Lantai putih di sekitar bola menjadi kemerah-merahan

(39)

Contoh radiosity

(40)

Teori dasar radiosity

• Radiosity (B): energi per satuan luas yang

meninggalkan permukaan per satuan waktu; total energi yang dipancarkan dan yang

dipantulkan j i ji j i i i i idA E dA R B F dA B

(41)

Teori dasar radiosity (cont’d)

• Hubungan timbal balik:

j ji i ij A F A F j ij j i i i

E

R

B

F

B

n j ij j i i i

E

R

B

F

B

1

 Setelah dibagi dengan dAi:

(42)

Teori dasar radiosity (cont’d)

• Tiap permukaan saling mempengaruhi,

sehingga perlu menyelesaikan n persamaan secara simultan: n n nn n n n n n n n E E E B B B F R F R F R F R F R F R F R F R F R ... ... 1 ... ... ... ... ... ... 1 ... 1 2 1 2 1 2 1 2 2 22 2 21 2 1 1 12 1 11 1

 Radiosity bersifat monokromatik.

(43)

energi dari permukaan Ai yang menyebar ke semua arah dalam ruang hemisphere yang

melingkupi Ai

Form factor

Fij = i j A A j i i ij dA dA r A F i j 2 cos cos 1

energi dari permukaan Ai yang sampai ke Aj

Aj dAj Ai dAi Ni Nj r θi θj

(44)

Asumsi dlm perhitungan form factor

• Berlaku hukum kekekalan energi

• Pantulan cahaya seragam

• Permukaan datar atau convex

n j ij F 1 1 ji j ij iF A F A 0 jj F

Referensi

Dokumen terkait