COMPUTER GRAPHICS COURSE. Rendering Pipelines

Similar documents
INTRODUCTION TO RENDERING TECHNIQUES

Image Processing and Computer Graphics. Rendering Pipeline. Matthias Teschner. Computer Science Department University of Freiburg

Introduction to Computer Graphics

A Short Introduction to Computer Graphics

COMP175: Computer Graphics. Lecture 1 Introduction and Display Technologies

Using Photorealistic RenderMan for High-Quality Direct Volume Rendering

Lecture Notes, CEng 477

Silverlight for Windows Embedded Graphics and Rendering Pipeline 1

Visualization and Feature Extraction, FLOW Spring School 2016 Prof. Dr. Tino Weinkauf. Flow Visualization. Image-Based Methods (integration-based)

Image Synthesis. Transparency. computer graphics & visualization

Course Overview. CSCI 480 Computer Graphics Lecture 1. Administrative Issues Modeling Animation Rendering OpenGL Programming [Angel Ch.

Reflection and Refraction

Two hours UNIVERSITY OF MANCHESTER SCHOOL OF COMPUTER SCIENCE. M.Sc. in Advanced Computer Science. Friday 18 th January 2008.

Hardware design for ray tracing

Scan-Line Fill. Scan-Line Algorithm. Sort by scan line Fill each span vertex order generated by vertex list

Visualisatie BMT. Introduction, visualization, visualization pipeline. Arjan Kok Huub van de Wetering

Recent Advances and Future Trends in Graphics Hardware. Michael Doggett Architect November 23, 2005

Computer Applications in Textile Engineering. Computer Applications in Textile Engineering

CUBE-MAP DATA STRUCTURE FOR INTERACTIVE GLOBAL ILLUMINATION COMPUTATION IN DYNAMIC DIFFUSE ENVIRONMENTS

2: Introducing image synthesis. Some orientation how did we get here? Graphics system architecture Overview of OpenGL / GLU / GLUT

Monash University Clayton s School of Information Technology CSE3313 Computer Graphics Sample Exam Questions 2007

The Evolution of Computer Graphics. SVP, Content & Technology, NVIDIA

Enhanced LIC Pencil Filter

Computer Graphics. Introduction. Computer graphics. What is computer graphics? Yung-Yu Chuang

VRayPattern also allows to curve geometry on any surface

GUI GRAPHICS AND USER INTERFACES. Welcome to GUI! Mechanics. Mihail Gaianu 26/02/2014 1

Monte Carlo Path Tracing

NVIDIA IndeX Enabling Interactive and Scalable Visualization for Large Data Marc Nienhaus, NVIDIA IndeX Engineering Manager and Chief Architect

Computer Graphics Global Illumination (2): Monte-Carlo Ray Tracing and Photon Mapping. Lecture 15 Taku Komura

Visualizing Data: Scalable Interactivity

Computer Graphics Hardware An Overview

B2.53-R3: COMPUTER GRAPHICS. NOTE: 1. There are TWO PARTS in this Module/Paper. PART ONE contains FOUR questions and PART TWO contains FIVE questions.

Graphic Design. Background: The part of an artwork that appears to be farthest from the viewer, or in the distance of the scene.

Data Visualization. Principles and Practice. Second Edition. Alexandru Telea

DATA VISUALIZATION OF THE GRAPHICS PIPELINE: TRACKING STATE WITH THE STATEVIEWER

GPU Shading and Rendering: Introduction & Graphics Hardware

Introduction Week 1, Lecture 1

A VOXELIZATION BASED MESH GENERATION ALGORITHM FOR NUMERICAL MODELS USED IN FOUNDRY ENGINEERING

Scanners and How to Use Them

Facts about Visualization Pipelines, applicable to VisIt and ParaView

Masters of Science in Software & Information Systems

How To Teach Computer Graphics

How To Make A Texture Map Work Better On A Computer Graphics Card (Or Mac)

Computational Geometry. Lecture 1: Introduction and Convex Hulls

Multivariate data visualization using shadow

The Car Tutorial Part 1 Creating a Racing Game for Unity

CPIT-285 Computer Graphics

Advanced Rendering for Engineering & Styling

Graphical displays are generally of two types: vector displays and raster displays. Vector displays

The STC for Event Analysis: Scalability Issues

PowerPoint: Graphics and SmartArt

Lezione 4: Grafica 3D*(II)

MMGD0203 Multimedia Design MMGD0203 MULTIMEDIA DESIGN. Chapter 3 Graphics and Animations

Touchstone -A Fresh Approach to Multimedia for the PC

Image Analysis CHAPTER ANALYSIS PROCEDURES

Representing Geography

Vector storage and access; algorithms in GIS. This is lecture 6

Teaching Introductory Computer Graphics Via Ray Tracing

Visualization with ParaView

Autodesk Revit Architecture 2011 Professional Massmodeling Rendering Video Tutorial

Digital 3D Animation

L20: GPU Architecture and Models

Lecture 9: Geometric map transformations. Cartographic Transformations

Computer Graphics CS 543 Lecture 12 (Part 1) Curves. Prof Emmanuel Agu. Computer Science Dept. Worcester Polytechnic Institute (WPI)

Visualization of 2D Domains

Environmental Remote Sensing GEOG 2021

Thea Omni Light. Thea Spot Light. Light setup & Optimization

We can display an object on a monitor screen in three different computer-model forms: Wireframe model Surface Model Solid model

Kapitel 12. 3D Television Based on a Stereoscopic View Synthesis Approach

Programming 3D Applications with HTML5 and WebGL

Computer Graphics. Anders Hast

Radeon HD 2900 and Geometry Generation. Michael Doggett

Everyday Mathematics. Grade 4 Grade-Level Goals CCSS EDITION. Content Strand: Number and Numeration. Program Goal Content Thread Grade-Level Goal

3D Analysis and Surface Modeling

How To Program With Adaptive Vision Studio

Optical Design Tools for Backlight Displays

GRAFICA - A COMPUTER GRAPHICS TEACHING ASSISTANT. Andreas Savva, George Ioannou, Vasso Stylianou, and George Portides, University of Nicosia Cyprus

Skills Inventory: Art/Media Communications. 1. Pre-employment Training/Career Development. A. Formal; e.g., certificates. Date Description Location

MeshLab and Arc3D: Photo-Reconstruction and Processing of 3D meshes

Activity Set 4. Trainer Guide

Specular reflection. Dielectrics and Distribution in Ray Tracing. Snell s Law. Ray tracing dielectrics

The Flat Shape Everything around us is shaped

ENGN D Photography / Winter 2012 / SYLLABUS

Illinois State Standards Alignments Grades Three through Eleven

Welcome to CorelDRAW, a comprehensive vector-based drawing and graphic-design program for the graphics professional.

Dhiren Bhatia Carnegie Mellon University

Volume of Right Prisms Objective To provide experiences with using a formula for the volume of right prisms.

Students are able to represent and solve problems involving multiplication and division.

Volume visualization I Elvins

GPU(Graphics Processing Unit) with a Focus on Nvidia GeForce 6 Series. By: Binesh Tuladhar Clay Smith

CSE 167: Lecture 13: Bézier Curves. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2011

SkillsUSA 2014 Contest Projects 3-D Visualization and Animation

Procedural Animation. An introduction

IT 386: 3D Modeling and Animation. Review Sheet. Notes from Professor Nersesian s IT 386: 3D Modeling and Animation course

Lesson 15 - Fill Cells Plugin

Interactive Level-Set Deformation On the GPU

Architecture for Direct Model-to-Part CNC Manufacturing

B.A IN GRAPHIC DESIGN

NVIDIA workstation 3D graphics card upgrade options deliver productivity improvements and superior image quality

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

The Reyes Rendering Architecture (1) Production-grade architecture used by Pixar (Photorealistic Renderman) in many films The inspiration behind modern GPU (rasterizationbased) shading pipelines http://www.fxguide.com/featured/pixars-renderman-turns-25/

The Reyes Rendering Architecture (2) Efficiency through: Controllable breakdown of rendering to many lightweight tasks Localized calculations Principle: Break up geometry into tiny micro-polygons Shade each micro-polygon Test for visibility Sample micro-polygons to contribute to pixels

The Reyes Pipeline Geometry is either: iteratively split into simpler models or diced into a grid of micropolygons Each grid is shaded independently Micro-polygons are tested for visibility and Sampled and filtered in the image domain Source: [REYES] see last slide

Reyes Micro-polygons Micro-polygon size is roughly ½ the pixel width and height (see Nyquist criterion) Splitting limit is determined by the above Shading results in determining the position (after possible displacement) and color of the micropolygon Source: Pixar - http://renderman.pixar.com/view/reyes-renderman-under-the-hood

Reyes - Advantages Single geometric type: everything resolves to micropolygons Parallelism Linear scalability w.r.t scene complexity and image size Controllable image quality / rendering time Bounded memory footprint Locality of operations / memory access Efficient displacement mapping (see texturing)

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