760 likes | 929 Views
Ray Tracing News. http://www.raytracingnews.org/ RTNv19n1: September 30, 2006 Introduction Ray Tracing Roundup Notes on Efficient Ray Tracing Ray-Box Sorting BVHs and Memory Coherence “So long and thanks for all the fish...” Ray/Box Intersection Optimization SIGGRAPH 2006 Report.
E N D
Ray Tracing News • http://www.raytracingnews.org/ • RTNv19n1: September 30, 2006 • Introduction • Ray Tracing Roundup • Notes on Efficient Ray Tracing • Ray-Box Sorting • BVHs and Memory Coherence • “So long and thanks for all the fish...” • Ray/Box Intersection Optimization • SIGGRAPH 2006 Report
praktische inleiding over beschikbare software Ray TracingenGlobal Illumination
Ray Tracer from scratch • practicum CG1 • leerrijk, maar tijdrovend • matrix, vector, kleur, afbeelding, camera, straal, puntlicht, driehoek, ... • ontwerpkeuzes
Beschikbare renderers • “standing on the shoulders of giants” • doel • hobby ray tracer met beperkte fysische basis • bv. POV-Ray • academische, fysisch gebaseerde global illumination renderer • bv. PBRT, RenderPark, Radiance, … • basisimplementatie • meer mogelijkheden dan je zelf zou schrijven • uitbreidbaarheid
Overzicht • Ray Tracing • korte herhaling van CG1 • voorbeeld: POV-Ray • Global Illumination • korte herhaling van CG1, meer info: zie CG2 • voorbeeld: PBRT
Ray Tracing herhaling • camera • pixelrooster • scène scène camera pixelrooster
Ray Tracing herhaling • primaire straal
Ray Tracing herhaling • primaire straal • raakpunt • schaduw en shading…
Ray Tracing herhaling • schaduw • schaduwstraal van raakpunt naar lichtbron • raakt ander object?raakpunt niet belicht
Ray Tracing herhaling • diffuus • cosinus (N.L) • speculair • spiegeling(N.V) = (N.R) • recursie • Phong (glans) • cosinus (R.V) of (N.H) • exponent n
Ray Tracing herhaling • recursie • reflectie • refractie • wet van Snellius normaal = buiten lucht (n=1) glas (n=1,5) oppervlak
Ray Tracing herhaling • ray tracingà la Whitted 1980 • uitbreidingen • oppervlaktelichtbron(zachte schaduwen) • participerende media • hacks • ambiënt licht
POV-Ray (www.povray.org) • hobby, artistiek, andere terminologie • brede basisimplementatie • uitbreidbaarheid is geen doel • praktische documentatie en tutorials • standaard ray tracing
POV-Ray • fotorealisme mogelijk door te tweaken • Internet Ray Tracing Competition (www.irtc.org) • niet fysisch gebaseerd, geen global illumination • radiosity, photon map uitbreidingen
POV-Ray syntax camera { perspective location <0.0, 0.5,-8.0> look_at <0.0, 0.0, 0.0> up <0.0, 1.0, 0.0> angle 50 }
POV-Ray syntax light_source { <-30,30,-30> // positie color rgb <1.0, 1.0, 1.0> pointlight } light_source { <-30,30,-30> // positie color rgb <1.0, 1.0, 1.0> area_light <8, 0, 0> <0, 0, 8> // afmetingen 8, 8 // stratificatie jitter }
POV-Ray syntax plane { y, -1 // vlak y=-1 } box { <-3,-1,-1> <-1, 1, 1> // hoekpunten } sphere { <0.0, 0.0, 0.0>, 1 // center, straal } cone { <2,1,0>, 0.0, // punt op as, straal 0 <2,-1,0>, 1.0 // punt op as, straal 1 }
POV-Ray syntax mesh { triangle { <0,0,0>, <0,1,0>, <1,1,0> // hoeken uv_vectors <0,0>, <0,1>, <1,1> // textuurcoordinaten } smooth_triangle { <0,0,0>, <0,0,1>, // hoek, normaal <1,0,0>, <0,1,1>, // hoek, normaal <1,1,0>, <1,1,1> // hoek, normaal uv_vectors <0,0>, <0,1>, <1,1> // textuurcoordinaten } }
POV-Ray syntax texture { // materiaal pigment { // basiskleur // ... } normal { // bump map // ... } finish { // glans // ... } }
POV-Ray syntax pigment { color rgb <1.0,0.0,0.0> } pigment { image_map { jpeg "filename.jpg" } }
POV-Ray syntax normal { bumps 0.5 // proceduraal } normal { bump_map { gif "filename.gif" } }
POV-Ray syntax finish { phong 0.9 phong_size 60 // 1 - 250 // of specular 0.9 roughness 0.02 // 0.0005 – 1 reflection 0.8 // modifiers metallic // kleur highlight conserve_energy }
POV-Ray • uitbreidbaarheid? • C++ • redelijk leesbare code • weinig structuur • code aanpassen • functionaliteit toevoegen?
Overzicht • Ray Tracing • korte herhaling van CG1 • voorbeeld: POV-Ray • Global Illumination • korte herhaling van CG1, meer info: zie CG2 • voorbeeld: PBRT
Global Illumination • diffuse interreflecties
Global Illumination • diffuse interreflecties • glossy reflecties
Global Illumination • diffuse interreflecties • glossy reflecties • caustics
Global Illumination • diffuse interreflecties • glossy reflecties • caustics • fysisch correct
Global Illumination radiosity + stochastic ray tracing • diffuse interreflecties • glossy reflecties • caustics • fysisch correct radiosity ray tracing foto
Global Illumination herhaling • directe/indirecte belichting samen
Global Illumination herhaling • directe/indirecte belichting apart
Global Illumination herhaling • path tracing
Global Illumination herhaling • path tracing • L = ...
Global Illumination herhaling • path tracing • L = ... • emissie
Global Illumination herhaling • path tracing • L = ... • emissie • directe belichting
Global Illumination herhaling • path tracing • L = ... • emissie • directe belichting • indirecte belichtingkomt van overal
Global Illumination herhaling • path tracing • L = ... • emissie • directe belichting • indirecte belichtinguit 1 richting
Global Illumination herhaling • path tracing • L = ... • emissie • directe belichting • indirecte belichtingkomt van ergens
Global Illumination herhaling • path tracing • L = ... • emissie • directe belichting • indirecte belichtingrecursief
Global Illumination herhaling • path tracing • L = ... • emissie • directe belichting • indirecte belichtingrecursief
Global Illumination herhaling • path tracing • L = ... • emissie • directe belichting • indirecte belichtingrecursief
Global Illumination herhaling • path tracing • L = ... • emissie • directe belichting • indirecte belichtingrecursief
Global Illumination herhaling • path tracing • L = ... • emissie • directe belichting • indirecte belichtingrecursief
Global Illumination herhaling • path tracing • L = ... • emissie • directe belichting • indirecte belichtingrecursief
Global Illumination herhaling • path tracing • L = ... • emissie • directe belichting • indirecte belichtingrecursief • aantal keerper pixel
Global Illumination herhaling • path tracing • in principe volledig • maar soms traag • bv. caustics