# The Rasterization Pipeline

Size: px
Start display at page:

## Transcription

1 Lecture 5: The Rasterization Pipeline Computer Graphics and Imaging UC Berkeley CS184/284A, Spring 2016

2 What We ve Covered So Far z x y z x y (0, 0) (w, h) Position objects and the camera in the world Compute position of objects relative to the camera Project objects onto the screen Sample triangle coverage Interpolate triangle attributes Sample texture maps

3 Rotating Cubes in Perspective

4 Rotating Cubes in Perspective

5 What Else Are We Missing? Credit: Bertrand Benoit. Sweet Feast, [Blender /VRay]

6 What Else Are We Missing? Credit: Giuseppe Albergo. Colibri [Blender]

7 What Else Are We Missing? Surface representations Objects in the real world exhibit highly complex geometric details Lighting and materials Appearance is a result of how light sources reflect off complex materials Camera models Real lenses create images with focusing and other optical effects

8 Course Roadmap Rasterization Pipeline Core Concepts Sampling Antialiasing Transforms Intro Rasterization Transforms & Projection Texture Mapping Today: Visibility, Shading, Overall Pipeline Geometric Modeling Lighting & Materials Cameras & Imaging

9 Visibility

10 Painter s Algorithm Inspired by how painters paint Paint from back to front, overwrite in the framebuffer [Wikipedia]

11 Painter s Algorithm Requires sorting in depth (O(n log n) for n triangles) Can have unresolvable depth order [Foley et al.]

12 Z-Buffer (Visibility Solution That s Won) Store current min. z-value for each sample position Additional buffer for depth values framebuffer stores RBG color values depth buffer (z-buffer) stores depth (16 to 32 bits)

13 Z-Buffer Example Image credit: Dominic Alves, flickr. Rendering Depth buffer

14 Z-Buffer Algorithm Initialize depth buffer to During rasterization: for (each triangle T) for (each sample (x,y,z) in T) if (z < zbuffer[x,y]) framebuffer[x,y] = rgb; // closest so far // update color zbuffer[x,y] = z; // update z

15 Z-Buffer Algorithm

16 Z-Buffer Complexity Complexity O(n) for n triangles How can we sort n triangles in linear time? Most important visibility algorithm Implemented in hardware for all GPUs Used by OpenGL

17 Simple Shading (Blinn-Phong Reflection Model)

18 Simple Shading vs Realistic Lighting & Materials What we will cover today A local shading model: simple, per-pixel, fast Based on perceptual observations, not physics What we will cover later in the course Physics-based lighting and material representations Global light transport simulation

19 Perceptual Observations Specular highlights Diffuse reflection Ambient lighting Photo credit: Jessica Andrews, flickr

20 Local Shading Compute light reflected toward camera Inputs: Viewer direction, v Surface normal, n Light direction, l (for each of many lights) l n v Surface parameters (color, shininess, )

21 Diffuse Reflection Light is scattered uniformly in all directions Surface color is the same for all viewing directions Lambert s cosine law l n Top face of cube receives a certain amount of light Top face of 60º rotated cube intercepts half the light In general, light per unit area is proportional to cos θ = l n

22 Light Falloff r intensity here: I/r 2 1 intensity here: I

23 Lambertian (Diffuse) Shading Shading independent of view direction illumination from source l n L d = k d (I/r 2 ) max(0, n l) v diffuse coefficient diffusely reflected light

24 Lambertian (Diffuse) Shading Produces matte appearance [Foley et al.] k d

25 Specular Shading (Blinn-Phong) Intensity depends on view direction Bright near mirror reflection direction l n v

26 Specular Shading (Blinn-Phong) Close to mirror half vector near normal Measure near by dot product of unit vectors h = bisector(v, l) l n h = v + l v + l v L s = k s (I/r 2 ) max(0, cos ) p = k s (I/r 2 ) max(0, n h) p specularly reflected light specular coefficient

27 Cosine Power Plots Increasing p narrows the reflection lobe [Foley et al.]

28 Specular Shading (Blinn-Phong) L s = k s (I/r 2 ) max(0, n h) p k s [Foley et al.] p

29 Ambient Shading Shading that does not depend on anything Add constant color to account for disregarded illumination and fill in black shadows L a = k a I a ambient coefficient reflected ambient light

30 Blinn-Phong Reflection Model Ambient + Diffuse + Specular = Phong Reflection L = L a + L d + L s = k a I a + k d (I/r 2 ) max(0, n l)+k s (I/r 2 ) max(0, n h) p

32 Shading Frequency: Triangle, Vertex or Pixel Shade each triangle (flat shading) Triangle face is flat one normal vector Not good for smooth surfaces Shade each vertex ( Gouraud shading) Interpolate colors from vertices across triangle Each vertex has a normal vector Shade each pixel ( Phong shading) Interpolate normal vectors across each triangle Compute full shading model at each pixel

33 Defining Per-Vertex Normal Vectors Best to get vertex normals from the underlying geometry e.g. consider a sphere Otherwise have to infer vertex normals from triangle faces Simple scheme: average surrounding face normals

34 Defining Per-Pixel Normal Vectors Barycentric interpolation of vertex normals

35 Rasterization Pipeline

36 Rasterization Pipeline Application Input: vertices in 3D space Vertex Processing 2 Vertex Stream Vertices positioned in screen space Triangle Processing Triangle Stream Triangles positioned in screen space Rasterization Fragment Stream Fragments (one per covered sample) Fragment Processing Shaded Fragments Shaded fragments Framebuffer Operations Display Output: image (pixels)

37 Rasterization Pipeline Application Vertex Processing Modeling & viewing transforms Vertex Stream Triangle Processing y Triangle Stream Rasterization z Fragment Stream x Fragment Processing Shaded Fragments Framebuffer Operations Display

38 Rasterization Pipeline Application Vertex Processing Sampling triangle coverage Vertex Stream Triangle Processing Triangle Stream Rasterization Fragment Stream Fragment Processing Shaded Fragments Framebuffer Operations Display

39 Rasterization Pipeline Application Vertex Processing Evaluating shading functions Vertex Stream Triangle Processing Triangle Stream Rasterization Fragment Stream Ambient + Diffuse Fragment Processing Shaded Fragments Framebuffer Operations Display + Specular = Phong Reflection

40 Rasterization Pipeline Application Vertex Processing Texture mapping Vertex Stream Triangle Processing Triangle Stream Rasterization Fragment Stream Fragment Processing Shaded Fragments Framebuffer Operations Display

41 Rasterization Pipeline Application Vertex Processing Z-Buffer Visibility Tests Vertex Stream Triangle Processing Triangle Stream Rasterization Fragment Stream Fragment Processing Shaded Fragments Framebuffer Operations Display

42 Shader Programs Program vertex and fragment processing stages Describe operation on a single vertex (or fragment) Example GLSL fragment shader program uniform sampler2d mytexture; uniform vec3 lightdir; varying vec2 uv; varying vec3 norm; void diffuseshader() { vec3 kd; kd = texture2d(mytexture, uv); kd *= clamp(dot(- lightdir, norm), 0.0, 1.0); gl_fragcolor = vec4(kd, 1.0); } Shader function executes once per fragment. Outputs color of surface at the current fragment s screen sample position. This shader performs a texture lookup to obtain the surface s material color at this point, then performs a diffuse lighting calculation.

43 Shader Programs Program vertex and fragment processing stages Describe operation on a single vertex (or fragment) Example GLSL fragment shader program uniform sampler2d mytexture; uniform vec3 lightdir; varying vec2 uv; varying vec3 norm; // program parameter // program parameter // per fragment value (interp. by rasterizer) // per fragment value (interp. by rasterizer) void diffuseshader() { vec3 kd; kd = texture2d(mytexture, uv); // material color from texture kd *= clamp(dot(- lightdir, norm), 0.0, 1.0); // Lambertian shading model gl_fragcolor = vec4(kd, 1.0); // output fragment color }

44 Goal: Highly Complex 3D Scenes in Realtime 100 s of thousands to millions of triangles in a scene Complex vertex and fragment shader computations High resolution (2-4 megapixel + supersampling) frames per second Unreal Engine Kite Demo (Epic Games 2015)

45 Graphics Pipeline Implementation: GPUs Specialized processors for executing graphics pipeline computations Discrete GPU Card (NVIDIA GeForce Titan X) Integrated GPU: (Part of Intel CPU die)

46 GPU: Heterogeneous, Multi-Core Procesor Modern GPUs offer ~2-4 Tera-FLOPs of performance for executing vertex and fragment shader programs Tera-Op s of fixed-function compute capability over here

47 Things to Remember Visibility Painter s algorithm and Z-Buffer algorithm Simple Shading Model Key geometry: lighting, viewing & normal vectors Ambient, diffuse & specular reflection functions Shading frequency: triangle, vertex or fragment Graphics Rasterization Pipeline Where do transforms, rasterization, shading, texturing and visibility computations occur? GPU = parallel processor implementing graphics pipeline

48 Acknowledgments Thanks to Steve Marschner, Mark Pauly and Kayvon Fatahalian for presentation resources.

### Pipeline Operations. CS 4620 Lecture 14

Pipeline Operations CS 4620 Lecture 14 2014 Steve Marschner 1 Pipeline you are here APPLICATION COMMAND STREAM 3D transformations; shading VERTEX PROCESSING TRANSFORMED GEOMETRY conversion of primitives

### Pipeline Operations. CS 4620 Lecture 10

Pipeline Operations CS 4620 Lecture 10 2008 Steve Marschner 1 Hidden surface elimination Goal is to figure out which color to make the pixels based on what s in front of what. Hidden surface elimination

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

Pipeline Operations CS 4620 Lecture 11 1 Pipeline you are here APPLICATION COMMAND STREAM 3D transformations; shading VERTEX PROCESSING TRANSFORMED GEOMETRY conversion of primitives to pixels RASTERIZATION

### The Rasterization Pipeline

Lecture 5: The Rasterization Pipeline (and its implementation on GPUs) Computer Graphics CMU 15-462/15-662, Fall 2015 What you know how to do (at this point in the course) y y z x (w, h) z x Position objects

### ECS 175 COMPUTER GRAPHICS. Ken Joy.! Winter 2014

ECS 175 COMPUTER GRAPHICS Ken Joy Winter 2014 Shading To be able to model shading, we simplify Uniform Media no scattering of light Opaque Objects No Interreflection Point Light Sources RGB Color (eliminating

### A Little Background. Motivation. Motivation

A Little Background Ray casting Process of shooting rays into scene to get pixel colors Nonrecursive, i.e., no interreflections Origin: Arthur Appel, 1968 (earlier work by others for nonrendering) Ray

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

CS 381 Computer Graphics, Fall 2008 Midterm Exam Solutions The Midterm Exam was given in class on Thursday, October 23, 2008. 1. [4 pts] Drawing Where? Your instructor says that objects should always be

### Introduction to Visualization and Computer Graphics

Introduction to Visualization and Computer Graphics DH2320, Fall 2015 Prof. Dr. Tino Weinkauf Introduction to Visualization and Computer Graphics Visibility Shading 3D Rendering Geometric Model Color Perspective

### OpenGl Pipeline. triangles, lines, points, images. Per-vertex ops. Primitive assembly. Texturing. Rasterization. Per-fragment ops.

OpenGl Pipeline Individual Vertices Transformed Vertices Commands Processor Per-vertex ops Primitive assembly triangles, lines, points, images Primitives Fragments Rasterization Texturing Per-fragment

### Ray Tracing COMP575/COMP770

Ray Tracing COMP575/COMP770 1 Ray tracing idea 2 Ray Tracing: Example (from [Whitted80]) Ray Tracing: Example Ray Tracing for Highly Realistic Images Volkswagen Beetle with correct shadows and (multi-)reflections

Computergrafik Thomas Buchberger, Matthias Zwicker Universität Bern Herbst 2008 Today Introduction Local shading models Light sources strategies Compute interaction of light with surfaces Requires simulation

### Intro to Ray-Tracing & Ray-Surface Acceleration

Lecture 12 & 13: Intro to Ray-Tracing & Ray-Surface Acceleration Computer Graphics and Imaging UC Berkeley Course Roadmap Rasterization Pipeline Core Concepts Sampling Antialiasing Transforms Geometric

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

Shading Models There are two main types of rendering that we cover, polygon rendering ray tracing Polygon rendering is used to apply illumination models to polygons, whereas ray tracing applies to arbitrary

Computergrafik Matthias Zwicker Universität Bern Herbst 2009 Today Introduction Local shading models Light sources strategies Compute interaction of light with surfaces Requires simulation of physics Global

### Visualisatie BMT. Rendering. Arjan Kok

Visualisatie BMT Rendering Arjan Kok a.j.f.kok@tue.nl 1 Lecture overview Color Rendering Illumination 2 Visualization pipeline Raw Data Data Enrichment/Enhancement Derived Data Visualization Mapping Abstract

### Lecture 17: Shading in OpenGL. CITS3003 Graphics & Animation

Lecture 17: Shading in OpenGL CITS3003 Graphics & Animation E. Angel and D. Shreiner: Interactive Computer Graphics 6E Addison-Wesley 2012 Objectives Introduce the OpenGL shading methods - per vertex shading

### TSBK 07! Computer Graphics! Ingemar Ragnemalm, ISY

1(84) Information Coding / Computer Graphics, ISY, LiTH TSBK 07 Computer Graphics Ingemar Ragnemalm, ISY 1(84) Lecture 5 3D graphics part 3 Illumination Illumination applied: Shading Surface detail: Mappings

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

CSE 167: Introduction to Computer Graphics Lecture #8: GLSL Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2012 Announcements Homework project #4 due Friday, November 2 nd Introduction:

### Shaders. Slide credit to Prof. Zwicker

Shaders Slide credit to Prof. Zwicker 2 Today Shader programming 3 Complete model Blinn model with several light sources i diffuse specular ambient How is this implemented on the graphics processor (GPU)?

### CMSC427 Shading Intro. Credit: slides from Dr. Zwicker

Illumination Models & Shading Lighting vs. Shading Lighting Interaction between materials and light sources Physics Shading Determining the color of a pixel Computer Graphics ZBuffer(Scene) PutColor(x,y,Col(P));

### -=Bui Tuong Phong's Lighting=- University of Utah, but with shaders. Anton Gerdelan Trinity College Dublin

-=Bui Tuong Phong's Lighting=- University of Utah, 1973 but with shaders Anton Gerdelan Trinity College Dublin Before we do anything - normals Q. What does a normal do? Q. How do we usually calculate them?

### Rendering. Illumination Model. Wireframe rendering simple, ambiguous Color filling flat without any 3D information

llumination Model Wireframe rendering simple, ambiguous Color filling flat without any 3D information Requires modeling interaction of light with the object/surface to have a different color (shade in

### CS4620/5620: Lecture 14 Pipeline

CS4620/5620: Lecture 14 Pipeline 1 Rasterizing triangles Summary 1! evaluation of linear functions on pixel grid 2! functions defined by parameter values at vertices 3! using extra parameters to determine

Objectives Shading in OpenGL Introduce the OpenGL shading methods - per vertex shading vs per fragment shading - Where to carry out Discuss polygonal shading - Flat - Smooth - Gouraud CITS3003 Graphics

### CS 498 VR. Lecture 19-4/9/18. go.illinois.edu/vrlect19

CS 498 VR Lecture 19-4/9/18 go.illinois.edu/vrlect19 Review from previous lectures Image-order Rendering and Object-order Rendering Image-order Rendering: - Process: Ray Generation, Ray Intersection, Assign

### CS5620 Intro to Computer Graphics

So Far wireframe hidden surfaces Next step 1 2 Light! Need to understand: How lighting works Types of lights Types of surfaces How shading works Shading algorithms What s Missing? Lighting vs. Shading

### CS 464 Review. Review of Computer Graphics for Final Exam

CS 464 Review Review of Computer Graphics for Final Exam Goal: Draw 3D Scenes on Display Device 3D Scene Abstract Model Framebuffer Matrix of Screen Pixels In Computer Graphics: If it looks right then

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

CSE 167: Introduction to Computer Graphics Lecture #7: Lights Jürgen P. Schulze, Ph.D. University of California, San Diego Spring Quarter 2015 Announcements Thursday in-class: Midterm Can include material

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

Orthogonal Projection Matrices 1 Objectives Derive the projection matrices used for standard orthogonal projections Introduce oblique projections Introduce projection normalization 2 Normalization Rather

### Illumination & Shading: Part 1

Illumination & Shading: Part 1 Light Sources Empirical Illumination Shading Local vs Global Illumination Lecture 10 Comp 236 Spring 2005 Computer Graphics Jargon: Illumination Models Illumination - the

### Computer Graphics. Illumination and Shading

() Illumination and Shading Dr. Ayman Eldeib Lighting So given a 3-D triangle and a 3-D viewpoint, we can set the right pixels But what color should those pixels be? If we re attempting to create a realistic

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

CMSC427 Advanced shading getting global illumination by local methods Credit: slides Prof. Zwicker Topics Shadows Environment maps Reflection mapping Irradiance environment maps Ambient occlusion Reflection

### Rasterization Overview

Rendering Overview The process of generating an image given a virtual camera objects light sources Various techniques rasterization (topic of this course) raytracing (topic of the course Advanced Computer

### Computer Graphics (CS 543) Lecture 7b: Intro to lighting, Shading and Materials + Phong Lighting Model

Computer Graphics (CS 543) Lecture 7b: Intro to lighting, Shading and Materials + Phong Lighting Model Prof Emmanuel Agu Computer Science Dept. Worcester Polytechnic Institute (WPI) Why do we need Lighting

### CPSC 314 LIGHTING AND SHADING

CPSC 314 LIGHTING AND SHADING UGRAD.CS.UBC.CA/~CS314 slide credits: Mikhail Bessmeltsev et al 1 THE RENDERING PIPELINE Vertices and attributes Vertex Shader Modelview transform Per-vertex attributes Vertex

### CSE 167: Lecture #7: Color and Shading. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2011

CSE 167: Introduction to Computer Graphics Lecture #7: Color and Shading Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2011 Announcements Homework project #3 due this Friday,

### Topics and things to know about them:

Practice Final CMSC 427 Distributed Tuesday, December 11, 2007 Review Session, Monday, December 17, 5:00pm, 4424 AV Williams Final: 10:30 AM Wednesday, December 19, 2007 General Guidelines: The final will

Homework 3: Programmable Shaders Introduction to Computer Graphics and Imaging (Summer 2012), Stanford University Due Monday, July 23, 11:59pm Warning: The coding portion of this homework involves features

### graphics pipeline computer graphics graphics pipeline 2009 fabio pellacini 1

graphics pipeline computer graphics graphics pipeline 2009 fabio pellacini 1 graphics pipeline sequence of operations to generate an image using object-order processing primitives processed one-at-a-time

### graphics pipeline computer graphics graphics pipeline 2009 fabio pellacini 1

graphics pipeline computer graphics graphics pipeline 2009 fabio pellacini 1 graphics pipeline sequence of operations to generate an image using object-order processing primitives processed one-at-a-time

### Recollection. Models Pixels. Model transformation Viewport transformation Clipping Rasterization Texturing + Lights & shadows

Recollection Models Pixels Model transformation Viewport transformation Clipping Rasterization Texturing + Lights & shadows Can be computed in different stages 1 So far we came to Geometry model 3 Surface

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

CSE 167: Introduction to Computer Graphics Lecture #6: Lights Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2016 Announcements Thursday in class: midterm #1 Closed book Material

Shading w Foley, Section16.1 Reading Introduction So far, we ve talked exclusively about geometry. w What is the shape of an object? w How do I place it in a virtual 3D space? w How do I know which pixels

### COMP environment mapping Mar. 12, r = 2n(n v) v

Rendering mirror surfaces The next texture mapping method assumes we have a mirror surface, or at least a reflectance function that contains a mirror component. Examples might be a car window or hood,

### CS 4620 Program 3: Pipeline

CS 4620 Program 3: Pipeline out: Wednesday 14 October 2009 due: Friday 30 October 2009 1 Introduction In this assignment, you will implement several types of shading in a simple software graphics pipeline.

### Introduction Rasterization Z-buffering Shading. Graphics 2012/2013, 4th quarter. Lecture 09: graphics pipeline (rasterization and shading)

Lecture 9 Graphics pipeline (rasterization and shading) Graphics pipeline - part 1 (recap) Perspective projection by matrix multiplication: x pixel y pixel z canonical 1 x = M vpm per M cam y z 1 This

### Level of Details in Computer Rendering

Level of Details in Computer Rendering Ariel Shamir Overview 1. Photo realism vs. Non photo realism (NPR) 2. Objects representations 3. Level of details Photo Realism Vs. Non Pixar Demonstrations Sketching,

### CHAPTER 1 Graphics Systems and Models 3

?????? 1 CHAPTER 1 Graphics Systems and Models 3 1.1 Applications of Computer Graphics 4 1.1.1 Display of Information............. 4 1.1.2 Design.................... 5 1.1.3 Simulation and Animation...........

### Evolution of GPUs Chris Seitz

Evolution of GPUs Chris Seitz Overview Concepts: Real-time rendering Hardware graphics pipeline Evolution of the PC hardware graphics pipeline: 1995-1998: Texture mapping and z-buffer 1998: Multitexturing

Illumination and Shading Illumination (Lighting)! Model the interaction of light with surface points to determine their final color and brightness! The illumination can be computed either at vertices or

### CS 130 Exam I. Fall 2015

S 3 Exam I Fall 25 Name Student ID Signature You may not ask any questions during the test. If you believe that there is something wrong with a question, write down what you think the question is trying

### Deferred Rendering Due: Wednesday November 15 at 10pm

CMSC 23700 Autumn 2017 Introduction to Computer Graphics Project 4 November 2, 2017 Deferred Rendering Due: Wednesday November 15 at 10pm 1 Summary This assignment uses the same application architecture

### Lab 9 - Metal and Glass

Lab 9 - Metal and Glass Let the form of an object be what it may, light, shade, and perspective will always make it beautiful. -John Constable Prologue Support code: /course/cs1230/src/labs/lab09 This

### CS130 : Computer Graphics Lecture 8: Lighting and Shading. Tamar Shinar Computer Science & Engineering UC Riverside

CS130 : Computer Graphics Lecture 8: Lighting and Shading Tamar Shinar Computer Science & Engineering UC Riverside Why we need shading Suppose we build a model of a sphere using many polygons and color

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

CSE 167: Introduction to Computer Graphics Lecture #6: Lights Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2014 Announcements Project 2 due Friday, Oct. 24 th Midterm Exam

### Computer Graphics. Lecture 14 Bump-mapping, Global Illumination (1)

Computer Graphics Lecture 14 Bump-mapping, Global Illumination (1) Today - Bump mapping - Displacement mapping - Global Illumination Radiosity Bump Mapping - A method to increase the realism of 3D objects

DH2323 DGI15 INTRODUCTION TO COMPUTER GRAPHICS AND INTERACTION LIGHTING AND SHADING Christopher Peters HPCViz, KTH Royal Institute of Technology, Sweden chpeters@kth.se http://kth.academia.edu/christopheredwardpeters

### Game Technology. Lecture Physically Based Rendering. Dipl-Inform. Robert Konrad Polona Caserman, M.Sc.

Game Technology Lecture 7 4.12.2017 Physically Based Rendering Dipl-Inform. Robert Konrad Polona Caserman, M.Sc. Prof. Dr.-Ing. Ralf Steinmetz KOM - Multimedia Communications Lab PPT-for-all v.3.4_office2010

### Computergrafik. Matthias Zwicker Universität Bern Herbst 2016

Computergrafik Matthias Zwicker Universität Bern Herbst 2016 Today More shading Environment maps Reflection mapping Irradiance environment maps Ambient occlusion Reflection and refraction Toon shading

### Raytracing CS148 AS3. Due :59pm PDT

Raytracing CS148 AS3 Due 2010-07-25 11:59pm PDT We start our exploration of Rendering - the process of converting a high-level object-based description of scene into an image. We will do this by building

### lecture 18 - ray tracing - environment mapping - refraction

lecture 18 - ray tracing - environment mapping - refraction Recall Ray Casting (lectures 7, 8) for each pixel (x,y) { cast a ray through that pixel into the scene, and find the closest surface along the

### GLSL Introduction. Fu-Chung Huang. Thanks for materials from many other people

GLSL Introduction Fu-Chung Huang Thanks for materials from many other people Shader Languages Currently 3 major shader languages Cg (Nvidia) HLSL (Microsoft) Derived from Cg GLSL (OpenGL) Main influences

### Computer Graphics (CS 4731) Lecture 16: Lighting, Shading and Materials (Part 1)

Computer Graphics (CS 4731) Lecture 16: Lighting, Shading and Materials (Part 1) Prof Emmanuel Agu Computer Science Dept. Worcester Polytechnic Institute (WPI) Why do we need Lighting & shading? Sphere

### Spring 2011 Prof. Hyesoon Kim

Spring 2011 Prof. Hyesoon Kim Application Geometry Rasterizer CPU Each stage cane be also pipelined The slowest of the pipeline stage determines the rendering speed. Frames per second (fps) Executes on

### CS452/552; EE465/505. Intro to Lighting

CS452/552; EE465/505 Intro to Lighting 2-10 15 Outline! Projection Normalization! Introduction to Lighting (and Shading) Read: Angel Chapter 5., sections 5.4-5.7 Parallel Projections Chapter 6, sections

### CGT520 Lighting. Lighting. T-vertices. Normal vector. Color of an object can be specified 1) Explicitly as a color buffer

CGT520 Lighting Lighting Color of an object can be specified 1) Explicitly as a color buffer Bedrich Benes, Ph.D. Purdue University Department of Computer Graphics 2) Implicitly from the illumination model.

Shading and Illumination OpenGL Shading Without Shading With Shading Physics Bidirectional Reflectance Distribution Function (BRDF) f r (ω i,ω ) = dl(ω ) L(ω i )cosθ i dω i = dl(ω ) L(ω i )( ω i n)dω

### Chapter 7 - Light, Materials, Appearance

Chapter 7 - Light, Materials, Appearance Types of light in nature and in CG Shadows Using lights in CG Illumination models Textures and maps Procedural surface descriptions Literature: E. Angel/D. Shreiner,

### CS 130 Final. Fall 2015

CS 130 Final Fall 2015 Name Student ID Signature You may not ask any questions during the test. If you believe that there is something wrong with a question, write down what you think the question is trying

Illumination & Shading Goals Introduce the types of light-material interactions Build a simple reflection model---the Phong model--- that can be used with real time graphics hardware Why we need Illumination

### CSE 167: Lecture #8: Lighting. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2011

CSE 167: Introduction to Computer Graphics Lecture #8: Lighting Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2011 Announcements Homework project #4 due Friday, October 28 Introduction:

### Introduction to Computer Graphics. Farhana Bandukwala, PhD Lecture 14: Light Interacting with Surfaces

Introduction to Computer Graphics Farhana Bandukwala, PhD Lecture 14: Light Interacting with Surfaces Outline Computational tools Reflection models Polygon shading Computation tools Surface normals Vector

### CPSC / Illumination and Shading

CPSC 599.64 / 601.64 Rendering Pipeline usually in one step modelling of geometry transformation into world coordinate system placement of cameras and light sources transformation into camera coordinate

### Local Illumination. CMPT 361 Introduction to Computer Graphics Torsten Möller. Machiraju/Zhang/Möller

Local Illumination CMPT 361 Introduction to Computer Graphics Torsten Möller Graphics Pipeline Hardware Modelling Transform Visibility Illumination + Shading Perception, Interaction Color Texture/ Realism

### Models and Architectures

Models and Architectures Objectives Learn the basic design of a graphics system Introduce graphics pipeline architecture Examine software components for an interactive graphics system 1 Image Formation

Ray Tracing: shading CS 4620 Lecture 6 2018 Steve Marschner 1 Image so far With eye ray generation and scene intersection for 0

### CS230 : Computer Graphics Lighting and Shading. Tamar Shinar Computer Science & Engineering UC Riverside

CS230 : Computer Graphics Lighting and Shading Tamar Shinar Computer Science & Engineering UC Riverside General light source Illumination function: [Angel and Shreiner] integrate contributions from all

### Spring 2009 Prof. Hyesoon Kim

Spring 2009 Prof. Hyesoon Kim Application Geometry Rasterizer CPU Each stage cane be also pipelined The slowest of the pipeline stage determines the rendering speed. Frames per second (fps) Executes on

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

Topic 12: Texture Mapping Motivation Sources of texture Texture coordinates Bump mapping, mip-mapping & env mapping Texture sources: Photographs Texture sources: Procedural Texture sources: Solid textures

### CS GPU and GPGPU Programming Lecture 7: Shading and Compute APIs 1. Markus Hadwiger, KAUST

CS 380 - GPU and GPGPU Programming Lecture 7: Shading and Compute APIs 1 Markus Hadwiger, KAUST Reading Assignment #4 (until Feb. 23) Read (required): Programming Massively Parallel Processors book, Chapter

### CSE 167: Introduction to Computer Graphics Lecture #5: Illumination Model

CSE 167: Introduction to Computer Graphics Lecture #5: Illumination Model Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2016 Announcements Tomorrow: assignment 1 due Grading

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

C P S C 314 S H A D E R S, O P E N G L, & J S RENDERING PIPELINE UGRAD.CS.UBC.C A/~CS314 Mikhail Bessmeltsev 1 WHAT IS RENDERING? Generating image from a 3D scene 2 WHAT IS RENDERING? Generating image

### Computer Graphics. Illumination and Shading

Rendering Pipeline modelling of geometry transformation into world coordinates placement of cameras and light sources transformation into camera coordinates backface culling projection clipping w.r.t.

### 03 RENDERING PART TWO

03 RENDERING PART TWO WHAT WE HAVE SO FAR: GEOMETRY AFTER TRANSFORMATION AND SOME BASIC CLIPPING / CULLING TEXTURES AND MAPPING MATERIAL VISUALLY DISTINGUISHES 2 OBJECTS WITH IDENTICAL GEOMETRY FOR NOW,

### CS770/870 Spring 2017 Color and Shading

Preview CS770/870 Spring 2017 Color and Shading Related material Cunningham: Ch 5 Hill and Kelley: Ch. 8 Angel 5e: 6.1-6.8 Angel 6e: 5.1-5.5 Making the scene more realistic Color models representing the

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

Topic 11: Texture Mapping Motivation Sources of texture Texture coordinates Bump mapping, mip mapping & env mapping Texture sources: Photographs Texture sources: Procedural Texture sources: Solid textures

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

CS230 : Computer Graphics Lecture 4 Tamar Shinar Computer Science & Engineering UC Riverside Shadows Shadows for each pixel do compute viewing ray if ( ray hits an object with t in [0, inf] ) then compute

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

X. GPU Programming 320491: Advanced Graphics - Chapter X 1 X.1 GPU Architecture 320491: Advanced Graphics - Chapter X 2 GPU Graphics Processing Unit Parallelized SIMD Architecture 112 processing cores

### OpenGL Lighting Computer Graphics Spring Frank Palermo

OpenGL Lighting 15-462 Computer Graphics Spring 2009 Frank Palermo OpenGL is just a bunch of hacks. -Adrien Treuille What Adrien Means... What Adrien means is that OpenGL was designed to produce reasonable-looking

### Shading. Brian Curless CSE 457 Spring 2017

Shading Brian Curless CSE 457 Spring 2017 1 Reading Optional: Angel and Shreiner: chapter 5. Marschner and Shirley: chapter 10, chapter 17. Further reading: OpenGL red book, chapter 5. 2 Basic 3D graphics

### Comp 410/510 Computer Graphics. Spring Shading

Comp 410/510 Computer Graphics Spring 2017 Shading Why we need shading Suppose we build a model of a sphere using many polygons and then color it using a fixed color. We get something like But we rather

### Computer Graphics MTAT Raimond Tunnel

Computer Graphics MTAT.03.015 Raimond Tunnel The Road So Far... Last week This week Color What is color? Color We represent color values with 3 channels: Red Green Blue Color We represent color values

### CS451Real-time Rendering Pipeline

1 CS451Real-time Rendering Pipeline JYH-MING LIEN DEPARTMENT OF COMPUTER SCIENCE GEORGE MASON UNIVERSITY Based on Tomas Akenine-Möller s lecture note You say that you render a 3D 2 scene, but what does

CT4510: Computer Graphics Illumination and Shading BOCHANG MOON Photorealism The ultimate goal of rendering is to produce photo realistic images. i.e., rendered images should be indistinguishable from

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

CSE 167: Introduction to Computer Graphics Lecture #6: Colors Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2013 Announcements Homework project #3 due this Friday, October 18

### Mattan Erez. The University of Texas at Austin

EE382V: Principles in Computer Architecture Parallelism and Locality Fall 2008 Lecture 10 The Graphics Processing Unit Mattan Erez The University of Texas at Austin Outline What is a GPU? Why should we

Complex Shading Algorithms CPSC 414 Overview So far Rendering Pipeline including recent developments Today Shading algorithms based on the Rendering Pipeline Arbitrary reflection models (BRDFs) Bump mapping