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

Slides:



Advertisements
Similar presentations
Chapter 3 Brute Force Brute force is a straightforward approach to solving a problem, usually directly based on the problem’s statement and definitions.
Advertisements

Ray tracing. New Concepts The recursive ray tracing algorithm Generating eye rays Non Real-time rendering.
Physically Based Real-time Ray Tracing Ryan Overbeck.
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.
3D Graphics Rendering and Terrain Modeling
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.
Christian Lauterbach COMP 770, 2/11/2009
Advanced Computer Graphics (Spring 2005) COMS 4162, Lectures 18, 19: Monte Carlo Integration Ravi Ramamoorthi Acknowledgements.
Advanced Computer Graphics (Spring 2005) COMS 4162, Lecture 15: Ray Tracing/Global Illumination Ravi Ramamoorthi Slides.
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.
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
Foundations of Computer Graphics (Spring 2010) CS 184, Lecture 14: Ray Tracing
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.
Presentation of LR2V Kadi Bouatouch IRISA
Real-Time High Quality Rendering CSE 291 [Winter 2015], Lecture 6 Image-Based Rendering and Light Fields
Ray Tracing Primer Ref: SIGGRAPH HyperGraphHyperGraph.
CS451 Computer Graphics JYH-MING LIEN DEPARTMENT OF COMPUTER SCIENCE GEORGE MASON UNIVERSITY.
Technology and Historical Overview. Introduction to 3d Computer Graphics  3D computer graphics is the science, study, and method of projecting a mathematical.
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.
-Global Illumination Techniques
Project Raytracing. Content Goals Idea of Raytracing Ray Casting – Therory – Practice Raytracing – Theory – Light model – Practice Output images Conclusion.
Graphics Graphics Korea University cgvr.korea.ac.kr 1 Chapter 6 Special Effects 강 신 진강 신 진
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.
Real-Time Rendering Digital Image Synthesis Yung-Yu Chuang 01/03/2006 with slides by Ravi Ramamoorthi and Robin Green.
Real-Time Relighting Digital Image Synthesis Yung-Yu Chuang 1/10/2008 with slides by Ravi Ramamoorthi, Robin Green and Milos Hasan.
Computing & Information Sciences Kansas State University Lecture 10 of 42CIS 636/736: (Introduction to) Computer Graphics CIS 636/736 Computer Graphics.
Course overview Digital Image Synthesis Yung-Yu Chuang with slides by Mario Costa Sousa, Pat Hanrahan and Revi Ramamoorthi.
Course overview Digital Image Synthesis Yung-Yu Chuang with slides by Mario Costa Sousa, Pat Hanrahan and Revi Ramamoorthi.
Cameras Digital Image Synthesis Yung-Yu Chuang 10/26/2006 with slides by Pat Hanrahan and Matt Pharr.
CPSC : Data-driven Computer Graphics Jinxiang Chai.
Monte-Carlo Ray Tracing and
Subject Name: Computer Graphics Subject Code: Textbook: “Computer Graphics”, C Version By Hearn and Baker Credits: 6 1.
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.
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?
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
CSE 167 [Win 17], Lecture 15: Ray Tracing Ravi Ramamoorthi
Photorealistic Rendering vs. Interactive 3D Graphics
Aspects of Game Rendering
Reconstruction For Rendering distribution Effect
3D Graphics Rendering PPT By Ricardo Veguilla.
© 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
Presentation transcript:

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

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

Applications Movies Interactive entertainment Industrial design Architecture Culture heritage

Animation production pipeline storytext treatment storyboard voice storyreallook and feel

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

Computer graphics modelingrendering animation

The goal of this course Realistic rendering First part: physically based rendering Second part: real-time high quality rendering

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

Logistics Meeting time: 10:20am-1:00pm, Tuesday Classroom: CSIE Room 110 Instructor: Yung-Yu Chuang Webpage: id/password Forum: Mailing list: Please subscribe via

Prerequisites Being able to program in C++ is required. Basic knowledge on algorithm and data structure is essential. Knowledge on linear algebra, probability and compilers is a plus. Though not required, it is recommended that you have background knowledge on computer graphics.

Requirements (subject to change) 2 programming assignments (40%) Presentation (15%) (course will alternate between lectures and paper presentations) Class participation (5%) Final project (40%)

Textbook Physically Based Rendering from Theory to Implementation, by Matt Pharr and Greg Humphreys Authors have experiences on ray tracing Complete code, more concrete Plug-in architecture

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 a complete program.

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 continute in this way until the entire array is sorted. The following code implement the procedure for seletion 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 temparary variable [[t]] which is decalared at the beginning of the precedure. >= int Thus, we can use [[t]] to preserve the value of [[a[min]] so that the swap operation works correcly. >= t=a[min]; a[min]=a[i]; a[i]=t; >= int *a;

LP example 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

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.

Reference books

Reference SIGGRAPH proceedings Proceedings of Eurographics Symposium on Rendering Eurographics proceedings

Pinhole camera

Introduction to ray tracing

Ray Casting (Appel, 1968)

direct illumination

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, 1987 Write the shortest Whitted-style ray tracer in C with the minimum number of tokens

Minimal ray tracer (Heckbert 1994)

Minimal ray tracer (scene description) 888 tokens

Minimal ray tracer (geometry)

Minimal ray tracer (geometry utilities)

Minimal ray tracer (cameras/films)

Minimal ray tracer (ray-object intersection)

Minimal ray tracer (recursive ray tracing)

That’s it? Better Lighting + Forward Tracing Texture Mapping Modeling Techniques Motion Blur, Depth of Field, Blurry Reflection/Refraction –Distributed Ray-Tracing Improving Image Quality Acceleration Techniques

What can you learn from this course? Literate programming Lex and yacc (should we have a class on it?) Object-oriented design Code optimization tricks Monte Carlo method Sampling and reconstruction Wavelet transform Spherical harmonics

Complex lighting

Refraction/dispersion

Caustics

Realistic materials

Translucent objects

Texture and complex materials

Even more complex materials

Homework #0 Download and install pbrt Set it up in a debugger environment so that you can trace the code Run several examples