Advanced Rendering Techniques

Similar documents
E.Order of Operations

Rasterization Overview

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

Lecture 2. Shaders, GLSL and GPGPU

Pipeline Operations. CS 4620 Lecture 14

CS4620/5620: Lecture 14 Pipeline

Real-Time Rendering (Echtzeitgraphik) Michael Wimmer

Introduction to Computer Graphics with WebGL

CS451Real-time Rendering Pipeline

CS 130 Final. Fall 2015

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

For each question, indicate whether the statement is true or false by circling T or F, respectively.

1.2.3 The Graphics Hardware Pipeline

Models and Architectures

Supplement to Lecture 22

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

Graphics Pipeline 2D Geometric Transformations

Computer graphics 2: Graduate seminar in computational aesthetics

Pipeline Operations. CS 4620 Lecture 10

CS GPU and GPGPU Programming Lecture 2: Introduction; GPU Architecture 1. Markus Hadwiger, KAUST

Spring 2009 Prof. Hyesoon Kim

Tutorial on GPU Programming #2. Joong-Youn Lee Supercomputing Center, KISTI

Spring 2011 Prof. Hyesoon Kim

The Rasterization Pipeline

Real - Time Rendering. Graphics pipeline. Michal Červeňanský Juraj Starinský

Rendering Objects. Need to transform all geometry then

CSE 167: Introduction to Computer Graphics Lecture #4: Vertex Transformation

Computer Graphics Shadow Algorithms

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

Surface Graphics. 200 polys 1,000 polys 15,000 polys. an empty foot. - a mesh of spline patches:

Programming Guide. Aaftab Munshi Dan Ginsburg Dave Shreiner. TT r^addison-wesley

Evolution of GPUs Chris Seitz

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

- Rasterization. Geometry. Scan Conversion. Rasterization

CSE 690: GPGPU. Lecture 2: Understanding the Fabric - Intro to Graphics. Klaus Mueller Stony Brook University Computer Science Department

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

Introduction to Shaders.

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

CSE4030 Introduction to Computer Graphics

Next-Generation Graphics on Larrabee. Tim Foley Intel Corp

Programming Graphics Hardware

Shaders. Slide credit to Prof. Zwicker

OpenGL SUPERBIBLE. Fifth Edition. Comprehensive Tutorial and Reference. Richard S. Wright, Jr. Nicholas Haemel Graham Sellers Benjamin Lipchak

Scanline Rendering 2 1/42

Graphics Processing Unit Architecture (GPU Arch)

TSBK03 Screen-Space Ambient Occlusion

The Graphics Pipeline and OpenGL I: Transformations!

Graphics Pipeline & APIs

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

Graphics Pipeline & APIs

CHAPTER 1 Graphics Systems and Models 3

The Graphics Pipeline and OpenGL I: Transformations!

OpenGL: Open Graphics Library. Introduction to OpenGL Part II. How do I render a geometric primitive? What is OpenGL

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

Shaders (some slides taken from David M. course)

X. GPU Programming. Jacobs University Visualization and Computer Graphics Lab : Advanced Graphics - Chapter X 1

Computer Graphics 10 - Shadows

Module 13C: Using The 3D Graphics APIs OpenGL ES

graphics pipeline computer graphics graphics pipeline 2009 fabio pellacini 1

Today. Rendering - III. Outline. Texturing: The 10,000m View. Texture Coordinates. Specifying Texture Coordinates in GL

graphics pipeline computer graphics graphics pipeline 2009 fabio pellacini 1

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

CSE 167: Introduction to Computer Graphics Lecture #5: Rasterization. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2015

Introduction to the OpenGL Shading Language

CSE 167: Introduction to Computer Graphics Lecture #5: Projection. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2017

Today. Rendering pipeline. Rendering pipeline. Object vs. Image order. Rendering engine Rendering engine (jtrt) Computergrafik. Rendering pipeline

CS 112 The Rendering Pipeline. Slide 1

INF3320 Computer Graphics and Discrete Geometry

Drawing Fast The Graphics Pipeline

OpenGL refresher. Advanced Computer Graphics 2012

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

CS770/870 Spring 2017 Open GL Shader Language GLSL

CS770/870 Spring 2017 Open GL Shader Language GLSL

CS 591B Lecture 9: The OpenGL Rendering Pipeline

Hidden Surfaces II. Week 9, Mon Mar 15

Today s Agenda. Basic design of a graphics system. Introduction to OpenGL

CHETTINAD COLLEGE OF ENGINEERING & TECHNOLOGY CS2401 COMPUTER GRAPHICS QUESTION BANK

The Transition from RenderMan to the OpenGL Shading Language (GLSL)

CS427 Multicore Architecture and Parallel Computing

Case 1:17-cv SLR Document 1-3 Filed 01/23/17 Page 1 of 33 PageID #: 60 EXHIBIT C

Ciril Bohak. - INTRODUCTION TO WEBGL


CS 130 Exam I. Fall 2015

Module Contact: Dr Stephen Laycock, CMP Copyright of the University of East Anglia Version 1

OpenGL. White Square Code 11/4/09. OpenGL. OpenGL. OpenGL

OpenGL Programmable Shaders

CS 498 VR. Lecture 18-4/4/18. go.illinois.edu/vrlect18

Graphics and Interaction Rendering pipeline & object modelling

Introduction to Shaders for Visualization. The Basic Computer Graphics Pipeline

Notes on Assignment. Notes on Assignment. Notes on Assignment. Notes on Assignment

3D Computer Games Technology and History. Markus Hadwiger VRVis Research Center

VTU QUESTION PAPER SOLUTION UNIT -1 INTRODUCTION

CSE528 Computer Graphics: Theory, Algorithms, and Applications

Rendering If we have a precise computer representation of the 3D world, how realistic are the 2D images we can generate? What are the best way to mode

Introduction to Computer Graphics

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

Drawing in 3D (viewing, projection, and the rest of the pipeline)

Optimizing Games for ATI s IMAGEON Aaftab Munshi. 3D Architect ATI Research

Lecture 7 of 41. Viewing 4 of 4: Culling and Clipping Lab 1b: Flash Intro

COMP371 COMPUTER GRAPHICS

Transcription:

Advanced Rendering Techniques Lecture Rendering Pipeline (Part I) Professor Leandro Augusto Frata Fernandes laffernandes@ic.uff.br Lecture notes available in http://www.ic.uff.br/~laffernandes/teaching/0./topicos_rendering Part of this material was adapted from the slides presented by Comba, Dietrich, Pagot and Scheidegger in the tutorial "Computation on GPUs: from a Programmable Pipeline to an Efficient Stream Processor" at SIBGRAPI'0, and extended by Oliveira for its course at PPGC-UFRGS (CMP9). Used with permission. Rendering Images Turn a set of geometric models, textures and parameters into a synthetic picture Rendering Algorithm Geometric Model Synthetic Picture Advanced Rendering Techniques (0.)

The Visualization Problem Each element has its own coordinate system Need to change coordinate systems and render visible objects only! OCS CCS This object is not visible within the viewport Viewing Volume We want this picture OCS Screen (Viewport) WCS OCS OCS: Object coordinate system WCS: World coordinate system CCS: Camera coordinate system Advanced Rendering Techniques (0.) Texturing Model Model + Shading Model + Shading + Textures Advanced Rendering Techniques (0.)

The Graphics Pipeline (Overview) Per vertex lighting (Gouraud shading) and Z-Buffer are assumed **This is a rather simplified representation of a pipeline Advanced Rendering Techniques (0.) 5 D model in OCS Synthetic viewpoint and camera model Light source parameters Lighting model, Textures, etc. Advanced Rendering Techniques (0.) 6

Map from OCS to CCS Clipping in D Per vertex lighting Advanced Rendering Techniques (0.) 7 Map from OCS to CCS Clipping in D Per vertex lighting Perspective division Map from CCS to viewport Texture Coordinates + Screen Coordinates + Depth +... (Per ) Advanced Rendering Techniques (0.) 8

Map from OCS to CCS Clipping in D Per vertex lighting Perspective division Map from CCS to viewport Back/Front face culling Texturing Interpolate values Handle occlusion Advanced Rendering Techniques (0.) 9 Map from OCS to CCS Clipping in D Per vertex lighting Perspective division Map from CCS to viewport Back/Front face culling Texturing Interpolate values Handle occlusion Advanced Rendering Techniques (0.) 0 5

Graphics Hardware Fixed Pipeline commands connectivity Advanced Rendering Techniques (0.) Graphics Hardware Fixed Pipeline commands glbegin(gl_tringles); glf(0.0f, 0.0f, 0.0f); glf(.0f, 0.0f, 0.0f); glvertesf(0.5f,.0f,.0f);... glend(); connectivity Advanced Rendering Techniques (0.) 6

Graphics Hardware Fixed Pipeline Data Software/Hardware Interface commands Driver (HAL) Graphics Hardware connectivity Advanced Rendering Techniques (0.) Graphics Hardware Fixed Pipeline commands connectivity Object Modeling Transform World Matrix World ModelView Matrix View Transform View Matrix Camera Lighting Transform Matrix Homogeneous Clip Perspective Divide Normalized Device Viewport Transform Window Advanced Rendering Techniques (0.) 7

Per- Operations Positions Per- Operation ModelView Matrix Homogeneous Clip Perspective Divide Normalized Device Viewpoint Transform Window Normals ModelView Inverse Transpose Normals Texture Coordinates Base Color Texture Matrix Lighting Calculation Texture Coordinates Color positions are transformed by the ModelView and matrices Normals are transformed by the inverse transpose of the upper leftmost x submatrix of the ModelView Texture coordinates are transformed by texture matrices Lighting calculations are applied Advanced Rendering Techniques (0.) 5 Graphics Hardware Fixed Pipeline commands connectivity 6 8

Graphics Hardware Fixed Pipeline commands connectivity 7 Graphics Hardware Fixed Pipeline commands Collect Data Into Primitives, Clipping and Culling Clipping Division by W Viewport Back/Front face culling connectivity 8 9

Graphics Hardware Fixed Pipeline commands Primitives are decomposed into smaller units () corresponding to pixels A fragment has several attributes Window coordinates, depth, color, texture coordinates, etc. Attribute values are determined by interpolation from the values specified at the Antialiasing is performed at this stage connectivity 9 Graphics Hardware Fixed Pipeline commands connectivity 0 0

Graphics Hardware Fixed Pipeline commands Scissor test Alpha test Stencil test Depth test Blending Dithering Logical operations connectivity Graphics Hardware Pipeline Parallelization commands Performance is improved by processing multiple or in parallel connectivity Ver. Trans. & Light. Ver. Trans. & Light. Frag. Tex. & Col. Frag. Tex. & Col. Ver. Trans. & Light. Frag. Tex. & Col. Frag. Tex. & Col. Frag. Tex. & Col.