ray tracing dan radiosity - gunadarma radiosity... · titik pada suatu permukaan ... dengan...

Download RAY TRACING dan RADIOSITY - Gunadarma Radiosity... · titik pada suatu permukaan ... dengan poligon…

Post on 16-Mar-2019

215 views

Category:

Documents

0 download

Embed Size (px)

TRANSCRIPT

RAY TRACINGRAYTRACINGdanda

RADIOSITY

Review : 3D PhotorealismReview:3DPhotorealism Ketepatanpemodelanobjekp p j Proyeksisecaraperspektif Efek pencahayaan yang natural kepada permukaanEfekpencahayaanyangnaturalkepadapermukaantampak:pantulan,transparansi,tekstur,danbayangany g

Review:Illuminationmodelvssurfacerendering

Modelpencahayaan:modeluntukp ymenghitungintensitascahayapadasatutitik pada suatu permukaantitikpadasuatupermukaan

Rendering permukaan: prosedur yangRenderingpermukaan:proseduryangmenerapkanmodelpencahayaanuntuk

d tk i t it titik dmendapatkanintensitassemuatitikpadaseluruhpermukaantampakp p

Review : Model PencahayaanReview:ModelPencahayaan

Metodauntukmenghitungintensitascahaya:cahaya:AmbientDiffuse Specular Specular

http://en.wikipedia.org/wiki/Diffuse_reflectionp // p g/ / _

Review : Model PencahayaanReview:ModelPencahayaan)( LzLyLxL

N

)(||

)()(

YYL

XXLx

y

PL

L

)(||

)(

ZZLz

LYYLy

PL

PL

LN .cos

P

|| LLz

didistKdWdId

KaWdWaIa

cos...

).(

distdistWsIs

distKs

).(cos.

IsIdIaItotal

http://www.huevaluechroma.com

Review:Teknik RenderingPermukaan(Poligon)

Melakukanperhitungandenganmodelpencahayaanuntuksemuatitikygtampak Raytracingy g

Melakukaninterpolasiuntuktitiktitikpadak d i k l i t it h ilpermukaandarisekumpulanintensitashasil

perhitungandenganmodelpencahayaan Scanline

Review:Scanlinealgorithms

Permukaan=poligonlik i d l h Aplikasimodelpencahayaan:

Perhitunganintensitastunggaluntukmasingmasingpoligon

Intensitastiaptitikpadapoligondidapatdengancarainterpolasi

Algoritma:g Flat(constantintensity)shading Gouraud shadingGouraudshading Phongshading

Review:Flatshadingg Intensitastunggaluntuksetiappoligongg p p g

Semuatitikdalampoligonditampilkandenganintensitasyangsamay g

Seringdigunakanuntukmendapattampilancepat dari objekcepatdariobjek

Akuratdenganasumsi:Obj k lih d (b k k i i k ) Objek=polihedron(bukanaproksimasikurva)

Sumbercahayacukupjauh(N.Lkonstan) Pengamatcukupjauh(V.Rkonstan)

Bisadisiasatidenganmemperkecilpoligong p p gfacet

Flat shading: contohFlatshading:contoh

Review:Gouraudshading

Renderingpoligondenganinterpolasilineart h d il i il i i t it t (titikterhadapnilainilaiintensitasvertex(titiksudutpoligon)

Nilaiintensitasuntuktiappoligondisesuaikandenganpoligonlainyangbersebelahanuntukmengurangidiscontinuity(sepertiygterjadipadaflatshading)p g)

Review : Langkah langkah Gouraud shadingReview:LangkahlangkahGouraudshading

Tentukanvektornormalsatuanrataratauntuksetiapvertexpadapoligonp p p g

Terapkanmodelpencahayaanketiapvertexuntuk mendapatkan intensitasnyauntukmendapatkanintensitasnya

Lakukaninterpolasilinearterhadapintensitasvertexuntukmendapatkanintensitastitiktitiklain pada poligon.lainpadapoligon.

1) Vektor normal untuk vertex V1)VektornormaluntukvertexV

n

Nn

kk

v

NN 1

n

kk

v

N1k 1

Setelah mendapatkan vektor normal pada vektor V, dengan model pencahayaan bisa didapat intensitas untuk titik tersebut

2) Interpolasi intensitas2)Interpolasiintensitas

241

124

4 IyyIyyI 2

211

214 yyyy

545

44

45

5 IxxxxI

xxxxI PPP

Interpolasi secara inkrementalInterpolasisecarainkremental

12 yyyy 2

21

11

21

2 IyyyyI

yyyyI

12' IIII 21 yy

II

Gouraud shading: contohGouraudshading:contoh

Kekurangan GouraudKekuranganGouraud

Tampilanhighlighttidaksempurna Machband:garisterangataugelapmunculpada permukaanpadapermukaan Akibatpenggunaaninterpolasilinear

Untuk mengurangi efek tersebut:Untukmengurangiefektersebut:PerkecilukuranpoligonG k t d l i ( i l Ph )Gunakanmetodelain(misal:Phong)

Review : Phong shadingReview:Phongshading

Interpolasiterhadapvektornormal Model pencahayaan diterapkan pada semuaModelpencahayaanditerapkanpadasemuatitikpadapermukaanM b ik hi hli h l bih li ik d MemberikanhighlightyanglebihrealistikdanmereduksiefekMachband

Langkah langkah PhongLangkahlangkahPhong

Tentukanvektornormalsatuanrataratauntuksetiapvertexpadapoligonp p p g

Lakukaninterpolasilinearterhadapvektornormal ke seluruh permukaan poligonnormal keseluruhpermukaanpoligon

Terapkanmodelpencahayaansepanjangscanlineuntukmendapatkanintensitassetiaptitikpada permukaanpadapermukaan

Interpolasi vektor normalInterpolasivektornormal

21

12 NyyNyyN 2

211

21

Nyy

Nyy

N

Untuk mendapatkan vektor-vektor normal antar scan line dan sepanjang scan line digunakan metode inkremental

Phong shading: contohPhongshading:contoh

EvaluasiPhongg

Hasillebihakurat InterpolasivektornormalModel pencahayaan diterapkan pada tiap titik Modelpencahayaanditerapkanpadatiaptitik

Tradeoff:butuhbiayakomputasiyanglebihbesar

FastPhongShading:aproksimasiintensitasdenganperluasanderetTaylorpermukaandenganpatchberbentuksegitiga

wireframe Flat shadingwireframe Flat shading

Gouraud shading Phong shading

computer yourdictionary com/flat-shadingcomputer.yourdictionary.com/flat shading

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

RAYTRACING

KelanjutanideRayCastingj y g Sinarditeruskan(memantulke/menembusobjeklain)

MencatatsemuakontribusiterhadapintensitassuatutitikU k d k f k l d i i Untukmendapatkanefekpantulandantransmisisecaraglobal

Ray Tracing dasar RayTracingdasar: deteksipermukaantampak,efekbayangan,transparansi pencahayaan dengan beberapatransparansi,pencahayaandenganbeberapasumbercahaya

Pengembangan RayTracing:PengembanganRay Tracing: tampilanfotorealistik(terutamaobjekmengkilap)

http://en.wikipedia.org/wiki/Ray_tracing_(graphics)

http://en.wikipedia.org/wiki/Ray_tracing_(graphics)

Ilustrasi tracing a rayIlustrasi tracingaray

AlgoritmaRayTracingDasar

For each pixel in projection plane {Create ray from the reference point passing through this pixelInitialize NearestT to INFINITY and NearestObject to NULLj

For every object in scene {If ray intersects this object {

If t of intersection is less than NearestT {If t of intersection is less than NearestT {Set NearestT to t of the intersectionSet 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 shadowIf surface is reflective, generate reflection ray: recurse, g yIf transparent, generate refraction ray: recurseUse NearestObject and NearestT to compute shading functionFill this pixel with color result of shading function

}}}

Rekursif pada ray tracingRekursifpadaraytracing

Saatprimaryray (sinaryangberawaldariprojectionreferencepoint)dipantulkanataudibiaskanolehobjek,sinarpantulanatauj , pbiasandisebutdengansecondaryray

Secondary ray akan mengalami perlakuan Secondaryrayakanmengalamiperlakuanyangsamasepertiprimaryraysaatmenemui

/objek(dipantulkandan/ataudibiaskan)

Binary RayTracing treeBinaryRay Tracingtree

4

43

3

2

3

21

1

1

BinaryRayTracingtree(contd) Tracing(pembentukantree)berhentijika:

Sampaimaximumdepth (pilihanuser/kapasitasmemori)

Sinarsampaikesumbercahaya Intensitas pada suatu pixel: akumulasi Intensitaspadasuatupixel:akumulasiintensitasmulaiterminalnode(palingbawah)padatree

Intensitas tiap permukaan mengalamiIntensitastiappermukaanmengalamiatenuasi(pelemahan)setaradenganjarakpermukaan tersebut ke permukaan parent nyapermukaantersebutkepermukaanparentnya(padatree:nodeyangtepatdiatasnya)

Intensitas akhir suatu pixelIntensitasakhirsuatupixel Merupakan hasil penjumlahan seluruh Merupakanhasilpenjumlahanseluruhintensitasyangtelahmengalamiatenuasi(pada root node)(padarootnode)

Jikatidakadapermukaanyangberpotongandengansinardaripixel,makapixeltersebutdiberinilaiintensitassamadenganlatarbelakang

Jikasinardaripixelberpotongandenganp p g gsumbercahaya(meskitidakreflektif),makapixel tersebut diberi nilai intensitas samapixeltersebutdiberinilaiintensitassamadengansumbercahaya

PantulanPantulan

LNkDiffuseIkAmbient

d

aa

)(

NHkSpecular

LNkDiffusesn

s

d

).(

).(

NNuuR ).2(

Jika L berpotongan dengan permukaan lain maka permukaanJikaLberpotongandenganpermukaanlain,makapermukaantersebutdalamdaerahbayangan

PembiasanPembiasan

Untukobjekdenganmaterialtransparan

)( ii NT )cos(cos ir

ir

r

i NuT

r

)cos1(1cos 22

ii

r

i

r

)( ir

r

Contoh Ray TracingContohRayTracing

RadiosityRadiosity Memodelkanpantulandifusidenganlebihakurat

Mempertimbangkantransferenergiradianantar permukaan (sesuai dengan hukumantarpermukaan(sesuaidenganhukumkekekalanenergi)

Tingkatkecerahan(brightness)danwarnadarisegala sesuatu tergantung dari segala sesuatusegalasesuatutergantungdarisegalasesuatuyanglainL bih li tik Lebihrealistik

Efek visual radiosityEfekvisualradiosity

h h b l h Cahayaputihmengenaibolamerah Adapantulancahayamerahdaribolakeobjeklaindisekelilingnya Lantaiputihdisekitarbolamenjadikemerahmerahanp j

Contohradiosity

http://en.wi