170 likes | 423 Views
Retrospect. Digital Image Synthesis Yu-Ting Wu. So far we have learned:. Geometry and transforms Shapes Accelerators Color and radiometry Cameras Sampling and reconstruction Reflection models Materials Textures. Recap: the process of rendering. Cameras
E N D
Retrospect Digital Image Synthesis Yu-Ting Wu
So far we have learned: • Geometry and transforms • Shapes • Accelerators • Color and radiometry • Cameras • Sampling and reconstruction • Reflection models • Materials • Textures
Recap: the process of rendering Cameras orthogonal, perspective, environment, realistic … Lights point, distant, spot, area, environment … GenerateRay Sampling random, stratified, low-discrepancy, best candidate … Reconstruction box, triangle, sinc,Gaussian, Mitchell … Intersection DifferentialGeometry BSDFs Shapes sphere, disk, cylinder, triangle meshes, subdivision surfaces … GetBSDF Materials matte, plastic, mix, measured, metal, substrate … Accelerators grid, bvh, kdtree … Intersect
Cameras • GenerateRay • Given a sample on the image film (in raster space), generate the corresponding camera ray (in world space) according to the type of camera. environment
Cameras • Depth-of-field and motion blur Depth-of-field Motion blur
Shapes • Intersect (used for radiance ray) • Given a ray, does it has intersection with the shape? • If yes, fill the information in DifferentialGeometry • IntersectP (used for shadow ray) • Given a ray, does it has intersection with the shape? IntersectP Intersect Intersect scene
Materials, textures and reflectance models • Materials • GetBSDF • Reflectance models (BxDFs) • f • Sample_f • Textures • Evaluate Material Texture Spatially-varying parameters BxDFs reflectance models
Accelerators • Construction • Traversal • Intersect(used for radiance ray) • IntersectP(used for shadow ray) BVH Octree Kdtree BSP tree Uniform grid
Sampling and reconstruction • Use sub-pixel samples for • Antialiasing • Distributed effects • Depth-of-field • Motion blur • Soft shadows • Glossy reflection • Global illumination
Sampling and reconstruction • Sampling patterns stratified uniform random stratified jittered Halton Hammersley best candidate
Call stack in pbrt Renderer::Render RenderTask::Run Camera::Film::WriteImage RenderTask::Run Camera::GenerateRay Renderer::Li Renderer::Li Scene::Intersect if there is an intersection SurfaceIntegrator::Li else Light::Le VolumeIntegrator::Li return T * Li + Lvi [render a block of pixels] [output an image] [obtain a camera ray for each camera sample] [compute the radiance carried by the camera ray] [obtain the intersection of the ray and the scene] [compute the surface reflectance along the ray] [possibly add emittance from all lights] [compute volume contribution and transmittance]
Call stack in pbrt Scene::Intersect Aggregate::Intersect SurfaceIntegrator::Li Intersection::GetBSDF <Do shading based on the shading geometry and BSDF> Intersection::GetBSDF Primitive::GetBSDF Primitive::GetBSDF Shape::GetShadingGeometry Material::GetBSDF [call acceleration structure for intersection] [get BSDF for shading] [call the intersected primitive to fill the BSDF ] [call shape to get shading geometry] [do bump mapping if necessary, call material to get BSDF]
Remaining components: • Lights • Monte Carlo • Surface integrators • Volume integrators
Recap: the process of rendering Cameras orthogonal, perspective, environment, realistic … Lights point, distant, spot, area, environment … GenerateRay How much radiance reflected from surface? Sampling random, stratified, low-discrepancy, best candidate … Surface Integrators Reconstruction box, triangle, sinc,Gaussian, Mitchell … Li Intersection DifferentialGeometry BSDFs Shapes sphere, disk, cylinder, triangle meshes, subdivision surfaces … GetBSDF Materials matte, plastic, mix, measured, metal, substrate … Accelerators grid, bvh, kdtree … Intersect
Recap: the process of rendering Cameras orthogonal, perspective, environment, realistic … Lights point, distant, spot, area, environment … GenerateRay How much radiance absorbed and scattered by the media? Sampling random, stratified, low-discrepancy, best candidate … Volume Integrators Reconstruction box, triangle, sinc,Gaussian, Mitchell … Intersection DifferentialGeometry BSDFs Materials matte, plastic, mix, measured, metal, substrate … GetBSDF Shapes sphere, disk, cylinder, triangle meshes, subdivision surfaces … Accelerators grid, bvh, kdtree … Intersect
Recap: the process of rendering • Are we close to this beautiful image?
What’s for next? • Lights • Homework assignment #3 • A brief introduction to the Many-Light rendering