COMPUTER GRAPHICS COURSE. Rendering Pipelines

Similar documents
CHAPTER 1 Graphics Systems and Models 3

CS4620/5620: Lecture 14 Pipeline

Lecture 12: Advanced Rendering

COMPUTER GRAPHICS COURSE. Rasterization Architectures

graphics pipeline computer graphics graphics pipeline 2009 fabio pellacini 1

graphics pipeline computer graphics graphics pipeline 2009 fabio pellacini 1

Pipeline Operations. CS 4620 Lecture 10

This work is about a new method for generating diffusion curve style images. Although this topic is dealing with non-photorealistic rendering, as you

CS452/552; EE465/505. Clipping & Scan Conversion

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

The Traditional Graphics Pipeline

Rasterization Overview

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

The Traditional Graphics Pipeline

The Traditional Graphics Pipeline

Pipeline Operations. CS 4620 Lecture 14

Previously... contour or image rendering in 2D

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

Overview. Pipeline implementation I. Overview. Required Tasks. Preliminaries Clipping. Hidden Surface removal

Visibility: Z Buffering

FROM VERTICES TO FRAGMENTS. Lecture 5 Comp3080 Computer Graphics HKBU

8/5/2012. Introduction. Transparency. Anti-Aliasing. Applications. Conclusions. Introduction

Computer Graphics (CS 543) Lecture 13b Ray Tracing (Part 1) Prof Emmanuel Agu. Computer Science Dept. Worcester Polytechnic Institute (WPI)

Graphics (Output) Primitives. Chapters 3 & 4

Chapter 1 Introduction

L1 - Introduction. Contents. Introduction of CAD/CAM system Components of CAD/CAM systems Basic concepts of graphics programming

Homework #2. Hidden Surfaces, Projections, Shading and Texture, Ray Tracing, and Parametric Curves

Computer Graphics. Rendering. by Brian Wyvill University of Calgary. cpsc/enel P 1

Point Cloud Filtering using Ray Casting by Eric Jensen 2012 The Basic Methodology

Ray Casting on Programmable Graphics Hardware. Martin Kraus PURPL group, Purdue University

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

Volume Rendering. Computer Animation and Visualisation Lecture 9. Taku Komura. Institute for Perception, Action & Behaviour School of Informatics

Overview. A real-time shadow approach for an Augmented Reality application using shadow volumes. Augmented Reality.

Intro to Ray-Tracing & Ray-Surface Acceleration

Introduction to Computer Graphics with WebGL

Computing Visibility. Backface Culling for General Visibility. One More Trick with Planes. BSP Trees Ray Casting Depth Buffering Quiz

Computer Graphics Shadow Algorithms

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

Visible-Surface Detection Methods. Chapter? Intro. to Computer Graphics Spring 2008, Y. G. Shin

COMP371 COMPUTER GRAPHICS

Shadows. COMP 575/770 Spring 2013

Hidden Surfaces II. Week 9, Mon Mar 15

Final projects. Rasterization. The Graphics Pipeline. Illumination (Shading) (Lighting) Viewing Transformation. Rest of semester. This week, with TAs

Computer Graphics Introduction. Taku Komura

Rasterization. MIT EECS Frédo Durand and Barb Cutler. MIT EECS 6.837, Cutler and Durand 1

Graphics and Interaction Rendering pipeline & object modelling

CS559: Computer Graphics. Lecture 12: Antialiasing & Visibility Li Zhang Spring 2008

CS130 : Computer Graphics Lecture 2: Graphics Pipeline. Tamar Shinar Computer Science & Engineering UC Riverside

REYES REYES REYES. Goals of REYES. REYES Design Principles

Clipping. CSC 7443: Scientific Information Visualization

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

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

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

Page 1. Area-Subdivision Algorithms z-buffer Algorithm List Priority Algorithms BSP (Binary Space Partitioning Tree) Scan-line Algorithms

S U N G - E U I YO O N, K A I S T R E N D E R I N G F R E E LY A VA I L A B L E O N T H E I N T E R N E T

Parallel Rendering. Johns Hopkins Department of Computer Science Course : Rendering Techniques, Professor: Jonathan Cohen

A Real-time Micropolygon Rendering Pipeline. Kayvon Fatahalian Stanford University

Models and Architectures

University of British Columbia CPSC 314 Computer Graphics Jan-Apr Tamara Munzner. Hidden Surfaces.

Enhancing Traditional Rasterization Graphics with Ray Tracing. October 2015

Spring 2009 Prof. Hyesoon Kim

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

Werner Purgathofer

Rendering approaches. 1.image-oriented. 2.object-oriented. foreach pixel... 3D rendering pipeline. foreach object...

Chapter IV Fragment Processing and Output Merging. 3D Graphics for Game Programming

Graphics Pipeline 2D Geometric Transformations

CSE 167: Lecture #5: Rasterization. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2012

1.2.3 The Graphics Hardware Pipeline

Recursive Ray Tracing. Ron Goldman Department of Computer Science Rice University

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

Hidden surface removal. Computer Graphics

3D Rasterization II COS 426

C P S C 314 S H A D E R S, O P E N G L, & J S RENDERING PIPELINE. Mikhail Bessmeltsev

CS 563 Advanced Topics in Computer Graphics Culling and Acceleration Techniques Part 1 by Mark Vessella

Real-Time Non- Photorealistic Rendering

Identifying those parts of a scene that are visible from a chosen viewing position, and only process (scan convert) those parts

Chapter 7 - Light, Materials, Appearance

First Steps in Hardware Two-Level Volume Rendering

From Vertices To Fragments-1

MIT EECS 6.837, Teller and Durand 1

Lecturer Athanasios Nikolaidis

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

Sung-Eui Yoon ( 윤성의 )

Spring 2011 Prof. Hyesoon Kim

INF3320 Computer Graphics and Discrete Geometry

CS451Real-time Rendering Pipeline

Ray tracing. Computer Graphics COMP 770 (236) Spring Instructor: Brandon Lloyd 3/19/07 1

Graphics Hardware and Display Devices

COMP30019 Graphics and Interaction Scan Converting Polygons and Lines

Introduction to Visualization and Computer Graphics

Simple Nested Dielectrics in Ray Traced Images

Culling. Computer Graphics CSE 167 Lecture 12

Computer Graphics Geometry and Transform

Clipping & Culling. Lecture 11 Spring Trivial Rejection Outcode Clipping Plane-at-a-time Clipping Backface Culling

NVIDIA Case Studies:

Shadow Rendering EDA101 Advanced Shading and Rendering

EDAN30 Photorealistic Computer Graphics. Ray tracing. Michael Doggett Department of Computer Science Lund university. Copyright 2011 Michael Doggett

OXFORD ENGINEERING COLLEGE (NAAC Accredited with B Grade) DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING LIST OF QUESTIONS

Models and Architectures. Ed Angel Professor of Computer Science, Electrical and Computer Engineering, and Media Arts University of New Mexico

Hidden Surface Removal

Transcription:

COMPUTER GRAPHICS COURSE Rendering Pipelines Georgios Papaioannou - 2014

A Rendering Pipeline Rendering or Graphics Pipeline is the sequence of steps that we use to create the final image Many graphics/rendering pipelines have been proposed although the most historically/practically dominant ones are: The Rasterization Pipeline The Micropolygon (Reyes) Architecture Ray Tracing (Path Tracing and other image driven methods can be also classified here)

General Principles All systems share some broad common stages and features The geometric data are arranged in space, replicated and cleaned up Geometry setup Token generation The system issues the basic tokens for the image generation (fragments, paths, micropolygons) Shading and other data are estimated for each token Shading Compositing Results are composited / distributed in image space to form the rendered image Possibly re-entrant

Common Features It is easy to see, even with no knowledge of a particular rendering pipeline or system that rendering architectures are: Inherently parallelizable Easy to model and implement as highly-efficient pipelines These features are extensively exploited both in software renderers and hardware implementations

Reference Frames (1) All rendering architectures treat geometric primitives and other mathematical functions and constructs relative to a reference coordinate system, which usually changes among the various stages We typically encounter the following reference frames: Local- Object -Space Coordinate System (LCS) World-Space Coordinate System (WCS) Eye-Space Coordinate System (ECS) Normalized Device Coordinates (NDC) Image Space Coordinates (IS)

Reference Frames (2) Y ICS Y NDC Object X Z ECS X LCS Z Camera ( eye ) X Y X Z Y Y Image plane X Global reference system WCS Z

Coordinate Systems Windows Screen coordinates (pixels) Window coordinate system (pixels) Document reference system and units (e.g. cm) Drawing canvas coordinate system (pixels) and clipping rectangle

Hidden Surface Elimination (Sorting) A common task to all pipelines is the proper ordering of the parts of surfaces to correctly display the visible ones in front of the hidden parts The implementation mechanism for HSE varies significantly from one architecture to another Hidden surfaces

Rasterization-based Architectures The heart of most software-based primitive drawing algorithms The architecture of all real-time hardware graphics pipelines (Graphics Processing Units - GPUs) They implement strategies for sampling screen-space primitives on a regular grid (raster) at a pixel or subpixel level Shading occurs after the primitive samples have been determined (often called fragments)

A High Level Rasterization Pipeline Primitives Transformed/clipped primitives Fragments Shaded pixel samples Updated pixels Geometry Setup Fragment Generation Fragment Shading Fragment Merging Transformation Culling Primitive assembly Clipping Primitive sampling Attribute interpolation Pixel coverage estimation Pixel color determination Transparency Visibility determination Blending Reconstruction filtering This is a general 2D/3D overview of the task a rasterization pipeline involves The GPU graphics pipeline is discussed separately

Ray Tracing Pipelines In RT, instead of the primitives, the path space is sampled: Rays are generated and traced through the 3D environment Intersection of rays with the nearest geometric primitives (implicit HSE) triggers shading and spawning of new rays HSE: The Reyes and rasterization pipelines perform HSE in image space Ray tracing methods do the sorting 3D space (ray space)

Simple Ray Casting In its most simple form RT: Generates a number of rays from the eye through the pixel locations on the image plane Computes the nearest intersection of rays with the primitives Shades the closest points This simple process is called ray casting Shading also typically involves sending rays towards the light source(s) to check for shadowing

Ray Tracing Algorithms There are many interesting photorealistic image generation algorithms that are based on this simple ray tracing idea (see Path Tracing etc.) The power and elegance of ray tracing comes from: The fact that rays can be recursively traced though the environment (Whitted-style ray tracing) The ability of rays to interact with many mathematical constructs, beyond simple primitives or even surfaces! (see volume rendering)

Recursive Ray Tracing Example Ray casting Recursive ray tracing (stochastic path tracing)

Pixel Coverage The impact a primitive has to a single pixel it occupies is generally proportional to the pixel coverage In the worst case, the coverage is binary, determined by the generation or not of a fragment for this pixel

Why Pixel Coverage is Useful? Can help blend fragments more accurately Can be used in antialiasing filters to smooth out and properly render the contribution of thin structures sharp transitions

Determining Pixel Coverage Pixel area covered by a polygon can be computed analytically if we assume a rectangular pixel (which is not), or better: If we sample the coverage with an arbitrary pattern of coverage taps: Pixel center Fixed pattern Random / rotating pattern

Half-toning The pixel coverage idea was also used in the printing industry (and old display systems) to effectively approximate a wide range of intensity variations with only a few (usually 2) available tones: Printed dot 0% 25% 50% 75% 100% Image dot (pixel)

Half-toning in Print

Other Graphical Output Systems Conventional printing also involves a raster generation phase, so we treat it accordingly Vectorized output: Plotters Use shape outlines to control the trajectory of a plotting head 3D printing Build surfaces in space layer by layer Extract contours (outlines) to express layer slice boundaries Use contours to drive a material-depositing head

Contributors Georgios Papaioannou Sources: [REYES]: R. L. Cook, L. Carpenter, E. Catmull, The Reyes image rendering architecture. SIGGRAPH Comput. Graph. 21, 4 (August 1987), pp. 95-102, 1987. [RTR]: T. Akenine-Möller, E. Haines, N. Hoffman, Read-time Rendering (3 rd Ed.), AK Peters, 2008 T. Theoharis, G. Papaioannou, N. Platis, N. M. Patrikalakis, Graphics & Visualization: Principles and Algorithms, CRC Press