mike phillips [email protected] slides created...
TRANSCRIPT
![Page 1: Mike Phillips michael.phillips@univie.ac.at Slides created ...vda.univie.ac.at/Teaching/ImageSynthesis/16w/... · Slides created by Usman Alim } A physically based rendering system](https://reader034.vdocuments.site/reader034/viewer/2022052104/603f7fa61012e561b077ef1c/html5/thumbnails/1.jpg)
Mike Phillips [email protected] Slides created by Usman Alim
![Page 2: Mike Phillips michael.phillips@univie.ac.at Slides created ...vda.univie.ac.at/Teaching/ImageSynthesis/16w/... · Slides created by Usman Alim } A physically based rendering system](https://reader034.vdocuments.site/reader034/viewer/2022052104/603f7fa61012e561b077ef1c/html5/thumbnails/2.jpg)
} A physically based rendering system based on the ray-tracing algorithm ◦ Think in terms of physical quantities and units
} Well documented in a literate programming
style ◦ Theory is coupled with implementation ◦ Highly cross-referenced content ◦ Book serves as API documentation
![Page 3: Mike Phillips michael.phillips@univie.ac.at Slides created ...vda.univie.ac.at/Teaching/ImageSynthesis/16w/... · Slides created by Usman Alim } A physically based rendering system](https://reader034.vdocuments.site/reader034/viewer/2022052104/603f7fa61012e561b077ef1c/html5/thumbnails/3.jpg)
Pros
• Flexible and well-tested framework
• Saves you the pain of writing bootstrapping code
• Abstract and modular design, so you can focus on certain aspects of interest
Cons
• Learning curve! • Basic design is
already set, can be hard to modify
![Page 4: Mike Phillips michael.phillips@univie.ac.at Slides created ...vda.univie.ac.at/Teaching/ImageSynthesis/16w/... · Slides created by Usman Alim } A physically based rendering system](https://reader034.vdocuments.site/reader034/viewer/2022052104/603f7fa61012e561b077ef1c/html5/thumbnails/4.jpg)
Modeling tools
Manual editing
Scene description file .pbrt
Renderer
HDR Image file
![Page 5: Mike Phillips michael.phillips@univie.ac.at Slides created ...vda.univie.ac.at/Teaching/ImageSynthesis/16w/... · Slides created by Usman Alim } A physically based rendering system](https://reader034.vdocuments.site/reader034/viewer/2022052104/603f7fa61012e561b077ef1c/html5/thumbnails/5.jpg)
} Used to describe the geometry and lighting.pbrt file extension
Can edit scene manually • support for various geometric primitives
(spheres, quadrics, triangle meshes etc.) and materials
Or export from a modeling software • scripts included for 3ds Max, Blender,
Mathematica and Structure Synth
![Page 6: Mike Phillips michael.phillips@univie.ac.at Slides created ...vda.univie.ac.at/Teaching/ImageSynthesis/16w/... · Slides created by Usman Alim } A physically based rendering system](https://reader034.vdocuments.site/reader034/viewer/2022052104/603f7fa61012e561b077ef1c/html5/thumbnails/6.jpg)
} 13 key classes (p. 16)
![Page 7: Mike Phillips michael.phillips@univie.ac.at Slides created ...vda.univie.ac.at/Teaching/ImageSynthesis/16w/... · Slides created by Usman Alim } A physically based rendering system](https://reader034.vdocuments.site/reader034/viewer/2022052104/603f7fa61012e561b077ef1c/html5/thumbnails/7.jpg)
} Specify scene using directives and identifiers along with parameters
} Identifiers correspond to the class names } System takes care of parsing and
instantiating appropriate objects } More details in Appendix B } Also see docs/fileformat.pdf
![Page 8: Mike Phillips michael.phillips@univie.ac.at Slides created ...vda.univie.ac.at/Teaching/ImageSynthesis/16w/... · Slides created by Usman Alim } A physically based rendering system](https://reader034.vdocuments.site/reader034/viewer/2022052104/603f7fa61012e561b077ef1c/html5/thumbnails/8.jpg)
} Major component that traces rays } Multithreaded using screne-space
decomposition
![Page 9: Mike Phillips michael.phillips@univie.ac.at Slides created ...vda.univie.ac.at/Teaching/ImageSynthesis/16w/... · Slides created by Usman Alim } A physically based rendering system](https://reader034.vdocuments.site/reader034/viewer/2022052104/603f7fa61012e561b077ef1c/html5/thumbnails/9.jpg)
} High Dynamic Range (HDR) image analogous to the raw output of a camera
} Saved in the OpenEXR format } Has to be suitably tone-mapped for a
computer screen ◦ view using exrdisplay ◦ convert to another format, exrtopng, exr2tiff
![Page 10: Mike Phillips michael.phillips@univie.ac.at Slides created ...vda.univie.ac.at/Teaching/ImageSynthesis/16w/... · Slides created by Usman Alim } A physically based rendering system](https://reader034.vdocuments.site/reader034/viewer/2022052104/603f7fa61012e561b077ef1c/html5/thumbnails/10.jpg)
} Copy to a local directory and compile ◦ On linux or MacOS, a simple make should do it
} Experiment with the provided scenes ◦ Look in scenes/ ◦ More scenes available here ◦ Build your own scenes or modify the provided ones
} Extend pbrt
![Page 11: Mike Phillips michael.phillips@univie.ac.at Slides created ...vda.univie.ac.at/Teaching/ImageSynthesis/16w/... · Slides created by Usman Alim } A physically based rendering system](https://reader034.vdocuments.site/reader034/viewer/2022052104/603f7fa61012e561b077ef1c/html5/thumbnails/11.jpg)
![Page 12: Mike Phillips michael.phillips@univie.ac.at Slides created ...vda.univie.ac.at/Teaching/ImageSynthesis/16w/... · Slides created by Usman Alim } A physically based rendering system](https://reader034.vdocuments.site/reader034/viewer/2022052104/603f7fa61012e561b077ef1c/html5/thumbnails/12.jpg)
1. Extend the appropriate classes(e.g. Ripples2DTexture that extends Texture)
2. Provide instantiation code that extracts parameters and invokes the constructor (e.g. CreateRipplesFloatTexture)
3. Add calls in the appropriate Make function in core/api.cpp (e.g. MakeFloatTexture)
![Page 13: Mike Phillips michael.phillips@univie.ac.at Slides created ...vda.univie.ac.at/Teaching/ImageSynthesis/16w/... · Slides created by Usman Alim } A physically based rendering system](https://reader034.vdocuments.site/reader034/viewer/2022052104/603f7fa61012e561b077ef1c/html5/thumbnails/13.jpg)