Lecture 12: Advanced Rendering

Similar documents
REYES REYES REYES. Goals of REYES. REYES Design Principles

Supplement to Lecture 16

Ray Tracing. Shandong University

Real-Time Reyes Programmable Pipelines and Research Challenges

VU Rendering SS Unit 9: Renderman

CHAPTER 1 Graphics Systems and Models 3

! Pixar RenderMan / REYES. ! Software shaders. ! Pixar Photorealistic RenderMan (PRMan) ! Basically a sophisticated scanline renderer

Global Rendering. Ingela Nyström 1. Effects needed for realism. The Rendering Equation. Local vs global rendering. Light-material interaction

Lecture 13: Reyes Architecture and Implementation. Kayvon Fatahalian CMU : Graphics and Imaging Architectures (Fall 2011)

Chapter 7 - Light, Materials, Appearance

Interactive Computer Graphics A TOP-DOWN APPROACH WITH SHADER-BASED OPENGL

Computer Graphics 1. Chapter 7 (June 17th, 2010, 2-4pm): Shading and rendering. LMU München Medieninformatik Andreas Butz Computergraphik 1 SS2010

Photorealism: Ray Tracing

Lighting. To do. Course Outline. This Lecture. Continue to work on ray programming assignment Start thinking about final project

COMPUTER GRAPHICS COURSE. Rendering Pipelines

Intro to Ray-Tracing & Ray-Surface Acceleration

Real-Time Reyes: Programmable Pipelines and Research Challenges. Anjul Patney University of California, Davis

Level of Details in Computer Rendering

CS354 Computer Graphics Ray Tracing. Qixing Huang Januray 24th 2017

Shadows. COMP 575/770 Spring 2013

GLOBAL EDITION. Interactive Computer Graphics. A Top-Down Approach with WebGL SEVENTH EDITION. Edward Angel Dave Shreiner

Computer Graphics I Lecture 11

Rendering. Converting a 3D scene to a 2D image. Camera. Light. Rendering. View Plane

lecture 19 Shadows - ray tracing - shadow mapping - ambient occlusion Interreflections

CS 381 Computer Graphics, Fall 2012 Midterm Exam Solutions. The Midterm Exam was given in class on Tuesday, October 16, 2012.

CPSC GLOBAL ILLUMINATION

Visual cues to 3D geometry. Light Reflection and Advanced Shading. Shading. Recognizing materials. size (perspective) occlusion shading

Ray Tracing. Kjetil Babington

Effects needed for Realism. Computer Graphics (Fall 2008) Ray Tracing. Ray Tracing: History. Outline

lecture 18 - ray tracing - environment mapping - refraction

Computer Graphics. Lecture 13. Global Illumination 1: Ray Tracing and Radiosity. Taku Komura

Topics and things to know about them:

Pipeline Operations. CS 4620 Lecture 10

Other Rendering Techniques CSE 872 Fall Intro You have seen Scanline converter (+z-buffer) Painter s algorithm Radiosity CSE 872 Fall

Pipeline Operations. CS 4620 Lecture Steve Marschner. Cornell CS4620 Spring 2018 Lecture 11

So far, we have considered only local models of illumination; they only account for incident light coming directly from the light sources.

Real-Time Shadows. André Offringa Timo Laman

Computer Graphics Ray Casting. Matthias Teschner

Topic 12: Texture Mapping. Motivation Sources of texture Texture coordinates Bump mapping, mip-mapping & env mapping

Graphics Hardware and Display Devices

CS 464 Review. Review of Computer Graphics for Final Exam

Ray Tracing. CSCI 420 Computer Graphics Lecture 15. Ray Casting Shadow Rays Reflection and Transmission [Ch ]

Lets assume each object has a defined colour. Hence our illumination model is looks unrealistic.

CS 381 Computer Graphics, Fall 2008 Midterm Exam Solutions. The Midterm Exam was given in class on Thursday, October 23, 2008.

Pipeline Operations. CS 4620 Lecture 14

Problem Set 4 Part 1 CMSC 427 Distributed: Thursday, November 1, 2007 Due: Tuesday, November 20, 2007

Topic 11: Texture Mapping 11/13/2017. Texture sources: Solid textures. Texture sources: Synthesized

The Traditional Graphics Pipeline

Enhancing Traditional Rasterization Graphics with Ray Tracing. October 2015

ECS 175 COMPUTER GRAPHICS. Ken Joy.! Winter 2014

COMP371 COMPUTER GRAPHICS

Ray Tracer Due date: April 27, 2011

The Design of RenderMan

The Traditional Graphics Pipeline

Topic 11: Texture Mapping 10/21/2015. Photographs. Solid textures. Procedural

Computer Graphics. Lecture 10. Global Illumination 1: Ray Tracing and Radiosity. Taku Komura 12/03/15

From curves to surfaces. Parametric surfaces and solid modeling. Extrusions. Surfaces of revolution. So far have discussed spline curves in 2D

Real-Time Shadows. Last Time? Today. Why are Shadows Important? Shadows as a Depth Cue. For Intuition about Scene Lighting

The Traditional Graphics Pipeline

Computer Graphics. Lecture 02 Graphics Pipeline. Edirlei Soares de Lima.

TDA362/DIT223 Computer Graphics EXAM (Same exam for both CTH- and GU students)

6.837 Introduction to Computer Graphics Assignment 5: OpenGL and Solid Textures Due Wednesday October 22, 2003 at 11:59pm

COMP 4801 Final Year Project. Ray Tracing for Computer Graphics. Final Project Report FYP Runjing Liu. Advised by. Dr. L.Y.

Photorealistic 3D Rendering for VW in Mobile Devices

Last Time. Reading for Today: Graphics Pipeline. Clipping. Rasterization

CS230 : Computer Graphics Lecture 4. Tamar Shinar Computer Science & Engineering UC Riverside

Ray Tracing Basics I. Computer Graphics as Virtual Photography. camera (captures light) real scene. photo. Photographic print. Photography: processing

Computer Graphics. Si Lu. Fall uter_graphics.htm 11/22/2017

For Intuition about Scene Lighting. Today. Limitations of Planar Shadows. Cast Shadows on Planar Surfaces. Shadow/View Duality.

Introduction Ray tracing basics Advanced topics (shading) Advanced topics (geometry) Graphics 2010/2011, 4th quarter. Lecture 11: Ray tracing

COMP250: Computer Graphics

Real Time Rendering of Complex Height Maps Walking an infinite realistic landscape By: Jeffrey Riaboy Written 9/7/03

Rasterization Overview

6. Illumination, Lighting

CS 130 Exam I. Fall 2015

Today s class. Simple shadows Shading Lighting in OpenGL. Informationsteknologi. Wednesday, November 21, 2007 Computer Graphics - Class 10 1

Real-Time Shadows. Last Time? Schedule. Questions? Today. Why are Shadows Important?

Introduction to Computer Graphics 7. Shading

Computer Graphics Shadow Algorithms

Raytracing CS148 AS3. Due :59pm PDT

Last Time. Why are Shadows Important? Today. Graphics Pipeline. Clipping. Rasterization. Why are Shadows Important?

Homework #2. Shading, Ray Tracing, and Texture Mapping

SUMMARY. CS380: Introduction to Computer Graphics Ray tracing Chapter 20. Min H. Kim KAIST School of Computing 18/05/29. Modeling

CSE528 Computer Graphics: Theory, Algorithms, and Applications

Motivation. Sampling and Reconstruction of Visual Appearance. Effects needed for Realism. Ray Tracing. Outline

Today. Anti-aliasing Surface Parametrization Soft Shadows Global Illumination. Exercise 2. Path Tracing Radiosity

Ray Tracing. CS334 Fall Daniel G. Aliaga Department of Computer Science Purdue University

782 Schedule & Notes

Lecture 11: Ray tracing (cont.)

CMSC427 Advanced shading getting global illumination by local methods. Credit: slides Prof. Zwicker

COMP 175: Computer Graphics April 11, 2018

Ray Tracing. Cornell CS4620/5620 Fall 2012 Lecture Kavita Bala 1 (with previous instructors James/Marschner)

Orthogonal Projection Matrices. Angel and Shreiner: Interactive Computer Graphics 7E Addison-Wesley 2015

TSBK03 Screen-Space Ambient Occlusion

CHETTINAD COLLEGE OF ENGINEERING & TECHNOLOGY CS2401 COMPUTER GRAPHICS QUESTION BANK

CS580: Ray Tracing. Sung-Eui Yoon ( 윤성의 ) Course URL:

Assignment 6: Ray Tracing

Shading Languages. Seminar Computer Graphics. Markus Kummerer

Overview: Ray Tracing & The Perspective Projection Pipeline

Models and Architectures

Transcription:

Lecture 12: Advanced Rendering CSE 40166 Computer Graphics Peter Bui University of Notre Dame, IN, USA November 30, 2010

Limitations of OpenGL Pipeline Rendering Good Fast, real-time graphics rendering. Smooth interactive graphics on computer display. Bad Approximate lighting model. Restrictive resolution.

Ray Tracing Core Concept Light source emits rays that interact with objects, and eventually enter the synthetic camera.

Ray Tracing (Casting Model) Core Concept Reverse the direction of the rays, and only consider the rays that start at the center of projection, since we know these rays must contribute to the image.

Ray Tracing (Process) 1. Start with image plane, ruled into pixel-sized areas. 2. For each pixel, cast at least one ray. 3. Each ray either intersects a surface or light source, or goes off to infinity. 4. If ray intersects, then use a lighting model to compute the intensity, otherwise, set pixel value to background color. Ray tracer works on a pixel-by-pixel basis.

Ray Tracing (Shadows and Reflections) Compute shadow or feeler rays from point on source to each source to see if surface is illuminated. If we have reflective surfaces, we can follow shadow rays from surface to surface by applying process recursively (each surface contributes part of the output intensity).

Ray Tracing (Pseudo-Code) 1 color trace ( point p, vector dir, i n t step ) { 2 color local, reflected, transmitted ; 3 point q; 4 normal n; 5 6 i f (step > max ) return ( background_color ); 7 8 q = intersect (p, dir, status ); // c l o s e s t i n s c e n e 9 10 i f ( status == light_source ) return ( light_source_color ); 11 i f ( status == no_intersection ) return ( background_color ); 12 13 n = normal (q); // a t i n t e r s e c t i o n w i t h s u r f a c e 14 r = reflect (q, n); // f i n d r e f l e c t e d r a y 15 t = transmit (q, n); // f i n d transmitted ray 16 17 local = phong (q, n, r); // l o c a l c o l o r 18 reflected = trace (q, r, step +1); // c o l o r from r 19 transmitted = trace (q, t, step +1); // c o l o r from t 20 21 r e t u r n ( local + reflected + transmitted ); // sum c o l o r s 22 } Most of the work in ray tracing goes into calculation of intersections between rays and surfaces; consequently, most basic ray tracers only support flat and quadric surfaces.

Ray Casting Model (Examples)

Ray Tracing (Odds and Ends) Use bounding boxes/volumes to aid in intersection. Ray tracing is a sampling method, so is subject to aliasing errors. Use stochastic sampling method to direct newly casted rays. Ray tracing is inherently parallel, but each trace requires access to every object; thus we need a shared-memory architecture.

RenderMan Modeling-rendering paradigm Modeling:Creator manipulates objects, lights, cameras, materials interactively and stores data in file. Rendering:An offline renderer is used to produce output image (usually a render farm).

RenderMan (Features) Particles: Points, Spheres, Implicit surfaces. Global Illumination: Color bleeding, Ambient Occlusion, Image Based Lighting Ray Tracing Point Clouds Hair and Fur Deep Shadows And much more! https://renderman.pixar.com/products/whats_renderman/ features.html

RenderMan (REYES) RenderMan uses the REYES (Renders Everything You Ever Saw) algorithm to generate scene. REYES is a geometry-processing engine. Geometry can be in nurbs, polygons, or a subdivision surface. Eventually it will form shaded micropolygons.

RenderMan (REYES Pipeline) 1. Bound: Calculate the bounding volume of each geometric primitive, and discard any objects outside viewing volume. 2. Split: Split large primitives into smaller, diceable primitives. 3. Dice: Convert primitive into grid of micropolygons, each approximately the size of a pixel.

RenderMan (REYES Pipeline continued) 4. Shade: Calculate lighting and shading at each vertex of the micropolygon grid. 5. Bust: Bound each individual micropolygon and check for visibility. 6. Hide: Stocastically sample the micropolygons and produce final 2D image.

RenderMan (REYES Buckets) A common memory optimization technique is to introduce a step called bucketing before the dicing step. Output image is divided into course grid of buckets. Objects are then split along bucket boundaries and placed into buckets based on their location. Each bucket is diced and drawn individually, and the data from the previous bucket is discarded before the next bucket is processed.

Thoughts Perspective Ray tracing: 14-29 frames per second in ET: Quake Wars using 16-core system running at 2.93 GHz. RenderMan: Avatar used 40,000 processors with 104 TB RAM; each frame took hours to generate. What is your goal? Interactive: OpenGL + Shader tricks = Good enough? Photorealistic: Ray tracing, RenderMan.