Ray Tracing News RTNv19n1: September 30, 2006 –Introduction –Ray Tracing Roundup –Notes on Efficient Ray Tracing –Ray-Box.

Slides:



Advertisements
Verwante presentaties
World Sustainability Fund a new tipping point SIP – Workout: The World we need.
Advertisements

Onder de motorkap van Ruud van Falier ParTech IT Sitecore User Group, 11 september 2013.
Simuleren van DOT / Impact Analyse Simplifying Decisions for Everyone.
HM-ES-th1 Les 9 Hardware/Software Codesign with SystemC.
Inleiding: hoe media worden Rick Dolphijn. Paranoimia…
Requirements -People are able to make their own memorial page, called a memori -The website will be build first in Dutch for extension.nl, then copied.
Een alternatief voorstel Naar aanleiding van bestudering van de IAASB voorstellen denkt de NBA na over een alternatief. Dit alternatief zal 26 september.
>>0 >>1 >> 2 >> 3 >> 4 >> Adobe Premiere CS4 – Edius 5.5 – Adobe Elements 7.
JQuery en ASP.NET Bart De Meyer.
MASTERPROJECT M1 · Groep Equilibrium Marieke Steenbeeke Rick van Veghel Tim de Veen MASTERPROJECT M1 ZERO ENERGY BUILDING Previous weeks · Zero.
GUI Router en Switch Afstudeerproject Maarten Diels & Geypens Björn.
Lucene/SOLR 1: inleiding + indexering
OOP met Java Sessie 1.
Introduction multimedia. convergence standards retrieval applications & technology.
© 2004 IBM Corporation Guts Wissema, OpenSource & Linux Sales, IBM Open Document Format.
OOS Object geOrienteerd Software-ontwerp - 4 Codeerperikelen Singleton Specificeren Scheiding GUI en Domein Facade.
De nieuwe standaard in EEG-BioFeedback
Omgevingen zijn dan geïmplementeerd als Symbol Tables. Symbol Table mapt een symbool met een Binding Meerdere noties van binding –Meerdere manieren te.
Light models Waarom? Mockup Independent Mark up Analyse geometrie samenstellingen >100+ Downstream gebruik Exact/gefacetteerd.
SQL injections en meer... PERU. web application vulnerabilities Cross Site Scripting (21.5%) SQL Injection (14%) PHP includes (9.5%) Buffer overflows.
Computervaardigheden en Programmatie Universiteit AntwerpenObjecten 4.1 Computervaardigheden en Programmatie 1rste BAC Toegepaste Biologische Wetenschappen.
Modula vs Java MODULE Show; CONST PI = ; TYPE PointRc = RECORD x,y : INTEGER; speed : REAL; angle : REAL; END; VAR a,b : PointRc; BEGIN.
H331: Computer Graphics Philip Dutré Department of Computer Science
Driedimensionale ruimten doorzien Roland van der Veen University of California, Berkeley (NWO rubicon)
Server side scripting 1 Webtechnologie Lennart Herlaar.
Network Address Translation
In samenwerking met het Europees Sociaal Fonds en het Hefboomkrediet The role of APEL in career coaching and competence management Competence navigation.
Bouwstenen. Soorten geometrie Wireframe Surface Solid.
Algoritmiek Arrays: wat zijn dat en wat kun je ermee? Loops: hoe hou je ze in bedwang? Hoorcollege 6 - Ma. 9 okt L.M. Bosveld-de Smet.
ISV Royalty License Agreement
Client Management met ConfigMgr Jannes Alink – Management.
Industrial Vision: Applications Precision alignments of (small) mechanical parts Precision alignments of (small) mechanical parts PCBs, SMDs,
Flocking using Global Roadmaps Niels Gorisse Motion Planning 26 februari 2003 University Utrecht.
Hoorcollege 8 Game object structuren. Arrays in games Grid-gebaseerd speelveld (zoals Tetris) Lijst van spelers Lijst van inventory items Lijst van alle.
Eerste deeltoets Uitwerking. Resultaten Gemiddeld: 6,01 Tips voor de volgende keer: – Werk in klad uit, schrijf duidelijk – Oefenen met loops en tellertjes.
SIP File Recovery Tool. Agenda 18/10/2006Maken agenda + onderzoeken van verschillende filetypes 25/10/2006Uitzoeken hoe er effecient gelezen en geschreven.
RapidRaycast Trimesteroverschrijdend Project Bjorn Schobben Domien Nowicki.
Moderne Media Medium-neutrale gegevensopslag en productie: XML Sessie 5.
Hibernate Object relational mapping
Bedrijfsspecifieke extensies Standaard Rekeningschema
HOMCOM Ledenvergadering 28/01/2013. Google is- niet-langer-een-spookstad/
DB&SQL8- 1 VBA Visual Basics for Applications: eigen Office versie vanaf Office2000 gelijk voor alle applicaties Programmeren onder meer nodig voor Het.
JAVA1 H 22. COLLECTIONS FRAMEWORK. 1. INLEIDING. Collections framework Is een verzameling van data structuren, interfaces en algoritmen Meest voorkomende.
Visual Basic.Net - Overzicht
Vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Onderwerpen voor vandaag GUI  command line redirection.
ANTWOORDEN DIAGNOSTISCHE TOETS MODELOMGEVING. Syntaxis = Syntaxis (van het Oudgriekse συν- syn-, "samen", en τάξις táxis, "regeling") is binnen de theoretische.
Hoofdstuk 2 Java. Soorten Java-programma’s nJava Applet programma “leeft” op een WWW-pagina nJava Application programma heeft een eigen window nJavascript.
1 Over het examen (1): Modus Mondeling met schriftelijke voorbereiding 4 uur, 3 onderdelen: –Modellering (  schriftelijk, dan mondeling) –Queries / relationeel.
Deltion College Engels C1 Luisteren [Edu/001] thema: It’s on tv can-do : kan zonder al te veel inspanning tv-programma’s begrijpen.
Deltion College Engels B1 Schrijven [Edu/004]/ subvaardigheid lezen thema: reporting a theft can-do : kan formulieren waarin meer informatie gevraagd wordt,
Controle over de belichting
DARE SUMMER SCHOOL Metadata Peter van Huisstede / Ursula Oberst 28 juni 2005.
Debye Instituut for Nanomaterial Science (P) Afdeling Nanophotonics - zonnecellen, nanomaterialen (Schropp) - ultrasnelle processen (Dijkhuis/Krol) - Bose-Einstein.
© Shopping 2020 TITLE Date Subtitle Logo Gastheer Logo Voorzitter.
Hoofdstuk 5 Interactie. Controls Form Label Button Label TextBox.
Rotary Days Planned September Rotary Days can take any form, as long as they are fun and appealing to the non-Rotary public. Here are just a few.
EML en IMS Learning Design
Hoorcollege 5 Herhaling, game object interactie. Ball class class Ball { Texture2D colorRed, colorGreen, colorBlue; Texture2D currentColor; Vector2 position,
Didier Collard en Simon Koolstra
Link Popularity Het principe van linkpopulariteit kun je als volgt samenvatten: hoe meer webpagina's er naar een bepaalde webpagina linken, des te belangrijker.
FOTOGRAFIE les 7 Huiswerkopdracht Gebruik van Flits Algemeen
C++ C++ als een verbetering van C Abstracte datatypen met classes Constructoren en destructoren Subklassen binding van functies 1.
The beast has been released! 4 arcade-style games Interviews with famous people in the game industry Develop browsers games for any device (phone, tablet,
Het geheim van Linked Data Marcel ReuversGeonovum CB-NL 20 november 2014.
Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 C programmeren voor niet-C programmeurs les 2 definitie.
Mini-college Computer Graphics Erik Jansen Van abstractie tot realisme 1. het model 2. het algoritme 3. de wiskunde 4. het programma 5. de computer.
Directe belichting in ray tracing
Aureliano Toso abyss mini Description - Luminaire type
ZUMTOBEL TEMPURA 1/44W LED W 3PU BKM Description
BELUX UPDOWN Description
Transcript van de presentatie:

Ray Tracing News 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

Ray Tracing en Global Illumination praktische inleiding over beschikbare software

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 camera pixelrooster scène

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

diffuus cosinus (N.L) Ray Tracing herhaling 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 lucht (n=1)glas (n=1,5) oppervlak normaal = buiten

Ray Tracing herhaling ray tracing à la Whitted 1980 uitbreidingen –oppervlaktelichtbron (zachte schaduwen) –participerende media hacks –ambiënt licht

POV-Ray ( 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 ( niet fysisch gebaseerd, geen global illumination –radiosity, photon map uitbreidingen

POV-Ray syntax camera { perspective location look_at up angle 50 }

POV-Ray syntax light_source { // positie color rgb pointlight } light_source { // positie color rgb area_light // afmetingen 8, 8 // stratificatie jitter }

POV-Ray syntax plane { y, -1 // vlak y=-1 } box { // hoekpunten } sphere {, 1 // center, straal } cone {, 0.0, // punt op as, straal 0, 1.0 // punt op as, straal 1 }

POV-Ray syntax mesh { triangle {,, // hoeken uv_vectors,, // textuurcoordinaten } smooth_triangle {,, // hoek, normaal, // hoek, normaal uv_vectors,, // textuurcoordinaten }

POV-Ray syntax texture { // materiaal pigment { // basiskleur //... } normal { // bump map //... } finish { // glans //... }

POV-Ray syntax pigment { color rgb } 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 // // of specular 0.9 roughness 0.02 // – 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 diffuse interreflecties glossy reflecties caustics fysisch correct radiosity + stochastic ray tracing radiosity ray tracingfoto

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 belichting komt van overal

Global Illumination herhaling path tracing L =... –emissie –directe belichting –indirecte belichting uit 1 richting

Global Illumination herhaling path tracing L =... –emissie –directe belichting –indirecte belichting komt van ergens

Global Illumination herhaling path tracing L =... –emissie –directe belichting –indirecte belichting recursief

Global Illumination herhaling path tracing L =... –emissie –directe belichting –indirecte belichting recursief

Global Illumination herhaling path tracing L =... –emissie –directe belichting –indirecte belichting recursief

Global Illumination herhaling path tracing L =... –emissie –directe belichting –indirecte belichting recursief

Global Illumination herhaling path tracing L =... –emissie –directe belichting –indirecte belichting recursief

Global Illumination herhaling path tracing L =... –emissie –directe belichting –indirecte belichting recursief

Global Illumination herhaling path tracing L =... –emissie –directe belichting –indirecte belichting recursief –aantal keer per pixel

Global Illumination herhaling path tracing in principe volledig maar soms traag –bv. caustics

Global Illumination herhaling photon mapping pass 1: store

Global Illumination herhaling photon mapping pass 1: store –positie (x, y, z) –inkomende richting –vermogen (r, g, b)

Global Illumination herhaling photon mapping pass 1: store –positie (x, y, z) –inkomende richting –vermogen (r, g, b) –in kd-tree

Global Illumination herhaling photon mapping pass 1: store –positie (x, y, z) –inkomende richting –vermogen (r, g, b) –in kd-tree –los van geometrie

Global Illumination herhaling photon mapping pass 1: store –globale map –caustic map

Global Illumination herhaling photon mapping pass 1: store pass 2: gather –soort stochastic ray tracing: emissie directe belichting caustic map indirecte belichting globale map

PBRT ( academisch beperkte basisimplementatie –moderne, leesbare algoritmes –performant, maar geen micro-optimalisaties extreem uitbreidbaar –bijna alles in plugins documentatie –directe overeenkomst theorie en implementatie –gekende terminologie

PBRT boek: Physically Based Rendering: From Theory to Implementation –M. Pharr, G. Humphreys –incl. CD met bin, src v1.0 en prentjes site: –source code v1.02 Windows (Visual Studio, Cygwin) Linux / MacOS X –plugins –errata & bugtracking

PBRT globale belichting, fysisch gebaseerd fotorealisme als je realistische invoer geeft

PBRT globale belichting, fysisch gebaseerd fotorealisme als je realistische invoer geeft

PBRT globale belichting, fysisch gebaseerd fotorealisme als je realistische invoer geeft

PBRT plugins accelerators: kdtree, grid camera’s: perspective, environment, orthographic filters: mitchell, box, gaussian, sinc, triangle integrators: directlighting, irradiancecache, path, photonmap, whitted,... samplers: lowdiscrepancy, stratified,...

PBRT lights: area, distant, infinite, point, projection, spot,... materials: matte, glass, mirror, plastic, shinymetal, translucent, uber,... shapes: cone, cylinder, disk, loopsubdiv, nurbs, sphere, trianglemesh,... textures: checkerboard, constant, dots, fbm, imagemap, marble, windy, wrinkled,...

PBRT syntax Identifier “class” (“type name” [value])* Film “image” “string filename” [“foo”] Sampler “stratified” “bool jitter” [“true”] LightSource “spot” “float coneangle” [30] Shape “trianglemesh” “point P” [ ] “normal N” [ ] “vector S” [ ] “integer indices” [ ] Texture “green” “color” “constant” “color value” [0 1 0] Material “matte” “texture Kd” [“green”] Material “matte” “color Kd” [0 1 0]

PBRT syntax LookAt # camera punt lookat punt up vector Camera “perspective” “float fov” [30] SurfaceIntegrator “path” Accelerator “kdtree”

PBRT syntax PixelFilter “box” “float xwidth” [.5] “float ywidth” [.5] Sampler “stratified” “integer xsamples” [2] “integer ysamples” [2] “bool jitter” [“true”] Film “image” “string filename” [“name.exr”] “integer xresolution” [800] “integer yresolution” [600]

PBRT OpenEXR ( –Industrial Light & Magic (Lucasfilm) –high dynamic range –in postproces exposure aanpassen

PBRT syntax WorldBegin LightSource “point” “point from” [0 1 0] AttributeBegin Translate Rotate # hoek en as Material “matte” “color Kd” [1 0 0] Shape “sphere” “float radius” [2] # altijd center [0 0 0], dus Translate AttributeEnd WorldEnd

PBRT plugins #include “shape.h” class Sphere: public Shape { public: Sphere(...); BBox ObjectBound() const; bool Intersect(const Ray &ray, float *tHit,...) const; bool IntersectP(const Ray &ray) const; float Area() const; Point Sample(float u1, float u2,...) const; float Pdf(...) const; };

PBRT plugins Shape *CreateShape(...) { float radius = params.FindOneFloat("radius", 1.0f); return new Sphere(radius,...); } Shape “sphere” “float radius” [2]

Praktische rendering Eigen PC Graphics “aquarium” –Athlon 64 X2 (dual core) –uitbreiding PC-klas –40-tal Pentium IV Cluster ( –400-tal Opteron250 cores –binnenkort 480-tal extra