Course overview Digital Image Synthesis Yung-Yu Chuang with slides by Mario Costa Sousa, Pat Hanrahan and Revi Ramamoorthi.

Slides:



Advertisements
Similar presentations
Global Illumination Across Industries Jaroslav Křivánek Cornell University & Charles University, Prague Marcos Fajardo Solid Angle SL Per Christensen Pixar.
Advertisements

Ray tracing. New Concepts The recursive ray tracing algorithm Generating eye rays Non Real-time rendering.
Computer Graphics In4/MSc Computer Graphics Lecture Notes #15 Illumination III View Independent Rendering.
CP411 Computer Graphics, Wilfrid Laurier University Introduction # 1 Welcome to CP411 Computer Graphics 2012 Instructor: Dr. Hongbing Fan Introduction.
Advanced Computer Graphics
David Luebke1/19/99 CS 551/651: Advanced Computer Graphics David Luebke
Course overview Digital Image Synthesis Yung-Yu Chuang 9/20/2007 with slides by Mario Costa Sousa, Pat Hanrahan and Revi Ramamoorthi.
Course overview Digital Image Synthesis Yung-Yu Chuang 9/17/2009 with slides by Mario Costa Sousa, Pat Hanrahan and Revi Ramamoorthi.
1Notes  Assignment 1 is out, due October 12  Inverse Kinematics  Evaluating Catmull-Rom splines for motion curves  Wednesday: may be late (will get.
Advanced Computer Graphics (Spring 2005) COMS 4162, Lectures 18, 19: Monte Carlo Integration Ravi Ramamoorthi Acknowledgements.
CSCE 641: Photon Mapping Jinxiang Chai. Outline Rendering equation Photon mapping.
Advanced Computer Graphics (Spring 2005) COMS 4162, Lecture 15: Ray Tracing/Global Illumination Ravi Ramamoorthi Slides.
CS6500 Adv. Computer Graphics © Chun-Fa Chang, Spring 2003 Object-Order vs. Screen-Order Rendering April 24, 2003.
Advanced Computer Graphics (Fall 2009) CS , Lecture 1: Introduction and History Ravi Ramamoorthi Some.
Computer Graphics (Fall 2005) COMS 4160, Lecture 21: Ray Tracing
1/12/09 1 Introduction Computer Graphics COMP 770 (236) Spring 2009 Instructor: Dinesh Manocha.
3D Graphics Processor Architecture Victor Moya. PhD Project Research on architecture improvements for future Graphic Processor Units (GPUs). Research.
Advanced Computer Graphics (Fall 2010) CS 283, Lecture 10: Global Illumination Ravi Ramamoorthi Some images courtesy.
Real-Time High Quality Rendering COMS 6160 [Fall 2004], Lecture 4 Shadow and Environment Mapping
Global Illumination May 7, Global Effects translucent surface shadow multiple reflection.
Advanced Computer Graphics (Fall 2010) CS 283, Lecture 1: Introduction and History Ravi Ramamoorthi
1 7M836 Animation & Rendering Global illumination, ray tracing Arjan Kok
COMP236: Computer Graphics Spring’2000 Dinesh Manocha.
ECS 298 Photorealistic Image Synthesis course overview Brian Budge Center for Image Processing and Integrated Computing Computer Science Department University.
Non-Photorealistic Rendering Mario Costa Sousa Department of Computer Science University of Calgary Mario Costa Sousa Department of Computer Science University.
Computer Graphics Inf4/MSc Computer Graphics Lecture Notes #16 Image-Based Lighting.
CSC418 Computer Graphics n Raytracing n Shadows n Global Illumination.
Ray Tracing Primer Ref: SIGGRAPH HyperGraphHyperGraph.
CS451 Computer Graphics JYH-MING LIEN DEPARTMENT OF COMPUTER SCIENCE GEORGE MASON UNIVERSITY.
1. 2 Plan Introduction Overview of the semester Administrivia Iterated Function Systems (fractals)
Today More raytracing stuff –Soft shadows and anti-aliasing More rendering methods –The text book is good on this –I’ll be using images from the CDROM.
Advanced Computer Graphics March 06, Grading Programming assignments Paper study and reports (flipped classroom) Final project No written exams.
Course overview Digital Image Synthesis Yung-Yu Chuang 9/20/2005 with slides by Mario Costa Sousa, Pat Hanrahan and Revi Ramamoorthi.
-Global Illumination Techniques
Project Raytracing. Content Goals Idea of Raytracing Ray Casting – Therory – Practice Raytracing – Theory – Light model – Practice Output images Conclusion.
Ray Tracing Sang Il Park SEjong University With lots of slides stolen from Jehee Lee, Doug James, Steve Seitz, Shree Nayar, Alexei Efros, Fredo Durand.
Ray Tracing Chapter CAP4730: Computational Structures in Computer Graphics.
Computer graphics & visualization Photon Mapping.
Computer Graphics Global Illumination: Photon Mapping, Participating Media Lecture 12 Taku Komura.
Real-Time Relighting Digital Image Synthesis Yung-Yu Chuang 1/10/2008 with slides by Ravi Ramamoorthi, Robin Green and Milos Hasan.
Vray Siamak khalighi V-Ray is a rendering engine that is used as an extension of certain 3D computer graphics software. It is a rendering engine.
Course overview Digital Image Synthesis Yung-Yu Chuang with slides by Mario Costa Sousa, Pat Hanrahan and Revi Ramamoorthi.
- Laboratoire d'InfoRmatique en Image et Systèmes d'information
Ray-tracing.
Monte-Carlo Ray Tracing and
Ray Tracing Fall, Introduction Simple idea  Forward Mapping  Natural phenomenon infinite number of rays from light source to object to viewer.
Course overview Digital Image Synthesis Yung-Yu Chuang with slides by Mario Costa Sousa, Pat Hanrahan and Revi Ramamoorthi.
COMPUTER GRAPHICS CS 482 – FALL 2015 SEPTEMBER 29, 2015 RENDERING RASTERIZATION RAY CASTING PROGRAMMABLE SHADERS.
Photo-realistic Rendering and Global Illumination in Computer Graphics Spring 2012 Stochastic Path Tracing Algorithms K. H. Ko School of Mechatronics Gwangju.
Introduction and Graphics Pipeline Advanced Multimedia Technology: Computer Graphics Yung-Yu Chuang 2005/12/07 with slides by Brian Curless, Zoran Popovic,
01/19/05© 2005 University of Wisconsin CS 779: Rendering Prof Stephen Chenney Spring 2005
Global Illumination (3) Photon Mapping (1). Overview Light Transport Notation Path Tracing Photon Mapping –Photon Tracing –The Photon Map.
RENDERING : Global Illumination
Global Illumination (3) Path Tracing. Overview Light Transport Notation Path Tracing Photon Mapping.
Distributed Ray Tracing. Can you get this with ray tracing?
1cs426-winter-2008 Notes. 2 Atop operation  Image 1 “atop” image 2  Assume independence of sub-pixel structure So for each final pixel, a fraction alpha.
Distributed Ray Tracing. Can you get this with ray tracing?
3D Animation 1. Introduction Dr. Ashraf Y. Maghari Information Technology Islamic University of Gaza Ref. Book: The Art of Maya.
Computer Graphics (Fall 2004) COMS 4160, Lecture 25: Summary and Preview
Advanced Computer Graphics
Photorealistic Rendering vs. Interactive 3D Graphics
Ray Tracing Dr. Scott Schaefer.
© University of Wisconsin, CS559 Fall 2004
(c) 2002 University of Wisconsin
(c) 2002 University of Wisconsin
Image.
CS5500 Computer Graphics May 29, 2006
CSCE 441: Computer Graphics Ray Tracing
Distributed Ray Tracing
Monte Carlo Path Tracing and Caching Illumination
Presentation transcript:

Course overview Digital Image Synthesis Yung-Yu Chuang with slides by Mario Costa Sousa, Pat Hanrahan and Revi Ramamoorthi

Logistics Meeting time: 2:20pm-5:20pm, Thursday Classroom: CSIE Room 111 Instructor: Yung-Yu Chuang TA: 賴威昇 Webpage: id/password Mailing list: Please subscribe via

Prerequisites C++ programming experience is required. Basic knowledge on algorithm and data structure is essential. Knowledge on linear algebra, probability, calculus and numerical methods is a plus. Though not required, it is recommended that you have background knowledge on computer graphics.

Requirements (subject to change) 3 programming assignments (60%) Class participation (5%) Final project (35%)

Textbook Physically Based Rendering from Theory to ImplementationPhysically Based Rendering from Theory to Implementation, 2 nd ed, by Matt Pharr and Greg Humphreys Authors have a lot of experience on ray tracing Complete (educational) code, more concrete Has been used in many courses and papers Implement some advanced or difficult-to-implement methods: subdivision surfaces, Metropolis sampling, BSSRDF, PRT. 3 rd edition is coming next year!

pbrt won Oscar 2014 To Matt Pharr, Greg Humphreys and Pat Hanrahan for their formalization and reference implementation of the concepts behind physically based rendering, as shared in their book Physically Based Rendering. Physically based rendering has transformed computer graphics lighting by more accurately simulating materials and lights, allowing digital artists to focus on cinematography rather than the intricacies of rendering. First published in 2004, Physically Based Rendering is both a textbook and a complete source-code implementation that has provided a widely adopted practical roadmap for most physically based shading and lighting systems used in film production.

Literate programming A programming paradigm proposed by Knuth when he was developing Tex. Programs should be written more for people’s consumption than for computers’ consumption. The whole book is a long literate program. That is, when you read the book, you also read the complete program.

Features Mix prose with source: description of the code is as important as the code itself Allow presenting the code to the reader in a different order than to the compiler Easy to make index Traditional text comments are usually not enough, especially for graphics This decomposition lets us present code a few lines at a time, making it easier to understand. It looks more like pseudo code.

LP Sort: An Example for LP} We use {\it selection sort} to illustrate the concept of {it literate programming}. Selection sort is one of the simplest sorting algorithms. It first find the smallest element in the array and exchange it with the element in the first position, then find the second smallest element and exchange it the element in the second position, and continue in this way until the entire array is sorted. The following code implement the procedure for selection sort assuming an external array [[a]]. >= > void selection_sort(int n) { > for (int i=0; i<n-1; i++) { > }

LP example >= min=i; for (int j=i+1; j<n; j++) { if (a[j]<a[min]) min=j; } >= int To swap two variables, we need a temporary variable [[t]] which is declared at the beginning of the procedure. >= int Thus, we can use [[t]] to preserve the value of [[a[min]] so that the swap operation works correctly. >= t=a[min]; a[min]=a[i]; a[i]=t; >= int *a;

LP example (tangle) int *a; void selection_sort(int n) { int min; int t; for (int i=0; i<n-1; i++) { min=i; for (int j=i+1; j<n; j++) { if (a[j]<a[min]) min=j; } t=a[min]; a[min]=a[i]; a[i]=t; }

LP example (weave)

pbrt Pbrt is designed to be –Complete: includes features found in commercial high-quality renderers. –Illustrative: select and implement elegant methods. –Physically based Efficiency was given a lower priority (the unofficial fork luxrender could be more efficient)luxrender Source code browser

New features of pbrt2 Remove plug-in architecture, but still an extensible architecture Add multi-thread support (automatic or -- ncores) OpenEXR is recommended, not required HBV is added and becomes default Can be full spectral, do it at compile time Animation is supported Instant global illumination, extended photon map, extended infinite light source Improved irradiance cache

LuxRender (

Mitsuba (

New features BSSRDF is added Metropolis light transport Precomputed radiance transfer Support measured BRDF

Reference books

References SIGGRAPH proceedings SIGGRAPH Asia proceedings Proceedings of Eurographics Symposium on Rendering Eurographics proceedings Most can be found at this link.this link

Image synthesis (Rendering) Create a 2D picture of a 3D world

Computer graphics modelingrendering animation

Physically-based rendering uses physics to simulate the interaction between matter and light, realism is the primary goal

Shadows Reflections (Mirrors) Transparency Interreflections Detail (Textures…) Complex Illumination Realistic Materials And many more Realism

Other types of rendering Non-photorealistic rendering Image-based rendering Point-based rendering Volume rendering Perceptual-based rendering Artistic rendering

Pinhole camera

Introduction to ray tracing

Ray Casting (Appel, 1968)

direct illumination

Whitted ray tracing algorithm

Shading

Ray tree

Recursive ray tracing (Whitted, 1980)

Components of a ray tracer Cameras Films Lights Ray-object intersection Visibility Surface scattering Recursive ray tracing

Minimal ray tracer Minimal ray tracer contest on comp.graphics, 1987 Write the shortest Whitted-style ray tracer in C with the minimum number of tokens. The scene is consisted of spheres. (specular reflection and refraction, shadows) Winner: 916 tokens Cheater: 66 tokens (hide source in a string) Almost all entries have six modules: main, trace, intersect-sphere, vector-normalize, vector-add, dot-product.

Minimal ray tracer (Heckbert 1994)

What it can do

Another business card raytracer

That’s it? In this course, we will study how state-of-art ray tracers work.

Issues Better Lighting + Forward Tracing Texture Mapping Sampling Modeling Materials Motion Blur, Depth of Field, Blurry Reflection/Refraction –Distributed Ray-Tracing Improving Image Quality Acceleration Techniques (better structure, faster convergence)

Complex lighting

Refraction/dispersion

Caustics

Realistic materials

Translucent objects

Texture and complex materials

Even more complex materials

Complex material (luxrender)

Depth of field (luxrender)

Motion blur (luxrender)

Refraction (Luxrender)

Applications Movies Interactive entertainment Industrial design Architecture Culture heritage

IKEA Today (2014), around 60-75% of all IKEA’s product (single product) images are CG. About 35% of all IKEA Communication’s non-product images are fully CG.

IKEA They use 3DStudio Max and V-Ray.

Animation production pipeline storytext treatment storyboard voice storyreallook and feel

Animation production pipeline layout animation shading/lighting modeling/articulation renderingfinal touch

Monster University Progression

Arnold renderer

Manuka (weta digital) renderer/

Octane rendrerer (otoy)

Pixar Renderman Timeline

Monster University

The blue umbrella

Homework #0 Download and install pbrt2. Run several examples Set it up in a debugger environment so that you can trace the code Optionally, create your own scene