Direct Rendering of Trimmed NURBS Surfaces

Save this PDF as:
 WORD  PNG  TXT  JPG

Size: px
Start display at page:

Download "Direct Rendering of Trimmed NURBS Surfaces"

Transcription

1 Direct Rendering of Trimmed NURBS Surfaces

2 Hardware Graphics Pipeline 2/ 81 Hardware Graphics Pipeline GPU Video Memory CPU Vertex Processor Raster Unit Fragment Processor Render Target Screen

3 Extended Hardware Graphics Pipeline 3/ 81 Extended Hardware Graphics Pipeline GPU Video Memory CPU Vertex Processor Raster Unit Intersection Shader Fragment Processor Render Target

4 Intersection Shader 4/ 81 Intersection Shader Conceptual extension of the hardware rendering pipeline Optional stage after the rasterization unit for non-triangular geometry Specifically for ray object intersection tests - Analytically, e.g. for quadrics - Numerically, e.g. for NURBS surfaces Can perform early ray termination test

5 Intersection Shader 5/ 81 Intersection Shader CPU Convex hull

6 Intersection Shader 6/ 81 Intersection Shader CPU Parametric object description GPU Convex hull vertices Convex hull

7 Intersection Shader 7/ 81 Intersection Shader CPU Parametric object description Convex hull vertices... GPU Convex hull Candidate rays, and ray directions are generated

8 Intersection Shader 8/ 81 Intersection Shader CPU Parametric object description Convex hull vertices GPU Convex hull Candidate rays, and ray directions are generated Intersection test

9 Intersection Shader 9/ 81 Intersection Shader Each eye ray corresponds to exactly one fragment Current hardware - Ray generation is performed in the vertex shader and rasterization unit - Intersection shader is part of the fragment shader program

10 Intersection Shader 10 / 81 Convex Hulls Used to reduce the number of ray object intersection tests Rays which are generated by the projection of the convex hull form a candidate set of rays Inverse acceleration structure Tightness of convex hulls can be used to trade CPU vs. GPU computation time

11 Intersection Shader 11 / 81 Intersection Shader Pros No tessellation and minimal storage Pixel-accurate - silhouettes, - intersection curves, - normals Seamless integration into standard graphics pipeline Cons Ray casting is expensive Artifact free intersection test can be difficult to perform

12 Intersection Shader 12 / 81 Intersection Shader Pros No tessellation and minimal storage Pixel-accurate - silhouettes, - intersection curves, - normals Seamless integration into standard graphics pipeline Cons Ray casting is expensive Artifact free intersection test can be difficult to perform

13 Intersection Shader 13 / 81 Intersection Shader Pros No tessellation and minimal storage Pixel-accurate - silhouettes, - intersection curves, - normals Seamless integration into standard graphics pipeline Cons Ray casting is expensive Artifact free intersection test can be difficult to perform

14 Intersection Shader 14 / 81 Intersection Shader Quadrics NURBS Node-based Implicit Surface

15 Ray Casting of NURBS Surfaces on the GPU 15 / 81 Ray Casting of NURBS Surfaces on the GPU

16 Ray Casting of NURBS Surfaces on the GPU 16 / 81 Overview 1. Patch is subdivided in a set of sub-patches 2. A Convex hull is computed for each sub-patch and its parameter range in (u,v) space is determined 3. Candidate rays are generated by rendering the convex hulls 4. Intersection test is performed using Newton Iteration 5. Trimming is performed using Bézier Clipping and Point-In-Polygon test

17 Preprocessing 17 / 81 Preprocessing 1. Generation of convex hulls - Conversion of NURBS surfaces into Bézier patches - Subdivision of Bézier patches - User-provided level, a flatness criteria or a minimum size of a convex hull primitive determines the number of subdivision steps - Convex hull consists of a set of polygonal primitives

18 Preprocessing 18 / 81 Preprocessing 2. Conversion of trimming curves into Bézier curves - Necessary for Bézier clipping algorithm

19 Preprocessing 19 / 81 Preprocessing 2. Conversion of trimming curves into Bézier curves - Necessary for Bézier clipping algorithm 3. Generation of fragment programs - Customised for surface properties

20 Preprocessing 20 / 81 Preprocessing 2. Conversion of trimming curves into Bézier curves - Necessary for Bézier clipping algorithm 3. Generation of fragment programs - Customised for surface properties 4. Parameters are stored in textures - Control points and knot vectors of surfaces - Control points of trimming curves

21 Curve and Surface Evaluation 21 / 81 Curve and Surface Evaluation Bézier curves / surfaces - de Casteljau algorithm is used for evaluation - Efficient because linear interpolation is supported directly in hardware

22 Curve and Surface Evaluation 22 / 81 Curve and Surface Evaluation Bézier curves / surfaces - de Casteljau algorithm is used for evaluation - Efficient because linear interpolation is directly supported in hardware NURBS curves / surfaces - de Boor algorithm is used for evaluation - Only knot spans which are relevant to evaluate the curve at a certain point are copied into registers

23 Ray Patch Intersection 23 / 81 Ray Patch Intersection Ray is represented as intersection of two planes P 1 P 2 : : r n r n 1 2 x x d 1 d 2 = 0 = 0

24 Ray Patch Intersection 24 / 81 Ray Patch Intersection Ray is represented as intersection of two planes NURBS surface P 1 P 2 : : r n r n 1 2 x x d 1 d 2 = 0 = 0 n m S = i j, i= 0 j= 0 p q ( u, v) N () u N () u pi j

25 Ray Patch Intersection 25 / 81 Ray Patch Intersection Ray is represented as intersection of two planes NURBS surface Objective function system 0 : 0 : = = d x n P d x n P r r ( ) () () j i q j n i m j p i p u N u N v u S, 0 0, = = = ( ) ( ) = ,, ), ( d v u S n d v u S n v u F

26 Ray Patch Intersection 26 / 81 Newton Iteration Each step takes the form where the Jacobian J is given by ) ), (( ), ( ), ( 1 1 k k k v u F J v u v u + = ( ) ( ) ( ) ( ) = v v u S n u v u S n v v u S n u v u S n J,,,,

27 Ray Patch Intersection 27 / 81 Newton Iteration Newton Iteration terminates if - an approximation for a root has been found F( u, v) k ) < ε, - the maximum number of iterations has been exceeded, - the algorithm diverges, i.e. ( u v) ) F( u, v) ) F >, k + 1 k

28 Ray Patch Intersection 28 / 81 Newton Iteration Newton Iteration has to be implemented in one rendering pass

29 Ray Patch Intersection 29 / 81 Newton Iteration Newton Iteration has to be implemented in one rendering pass

30 Ray Patch Intersection 30 / 81 Initial Values 1. Fixed initial guess for each primitive of the convex hull - Center of (u,v) parameter space enclosed by primitive of the convex hull

31 Ray Patch Intersection 31 / 81 Initial Values 1. Fixed initial guess for each primitive of the convex hull - Center of (u,v) parameter space enclosed by primitive of the convex hull 2. (u,v) Texturing - (u,v) parameter stored for each vertex during preprocessing - Parameters are linearly interpolated along the surfaces of the convex hull

32 Ray Patch Intersection 32 / 81 Initial Values 2.1. View-independent (u,v) Texturing - The (u,v) parameters as computed during the preprocessing are interpolated

33 Ray Patch Intersection 33 / 81 Initial Values 2.1. View-independent (u,v) Texturing - The (u,v) parameters as computed during the preprocessing are interpolated 2.2. View-dependent (u,v) Texturing - Vertex shader: Intersection test between the ray from the camera to the vertex and the surface patch - (u,v) parameters of the intersection points are interpolated

34 Trimming 34 / 81 Trimming Based on point-in-polygon test A ray is shot along the parametric surface and the number of intersections with the trimming curves is counted - The parity of the number of intersections determines if the fragment is inside or outside the trimming region Bézier clipping is used to determine the intersection of the ray with the trimming curves

35 Bézier Clipping 35 / 81 Bézier Clipping Mixture between subdivision-based and numerical intersection algorithm Can be used for ray Bézier curve and ray Bézier patch intersection test Guaranteed to find all intersection points - Some special cases for ray surface patch intersection

36 Bézier Clipping 36 / 81 Bézier Clipping Ray is given in implicit form ax + by c = 0

37 Bézier Clipping 37 / 81 Bézier Clipping Ray is given in implicit form ax + by c = 0 Bézier curve is given by n () n () u p B () u, p = ( x y ) C = i i i i, i= 0 i

38 Bézier Clipping 38 / 81 Bézier Clipping Ray is given in implicit form ax + by c = 0 Bézier curve is given by () n () u p B () u, p = ( x y ) Objective function (distance field) d n C = i i i i, n i= 0 () n () u d B () u, d = ax + by c = i= 0 i i i i i i

39 Bézier Clipping 39 / 81 Bézier Clipping Objective function as explicit, non-parametric Bézier curve n () n () u ( u, d() u ) = D B () u, D = ( u d ) D = i i i i, i= 0 Because D(u) is a Bézier curve, the control points are evenly spaced, i.e. i u i = i n

40 Bézier Clipping 40 / 81 Bézier Clipping ray 2 Bézier curve

41 Bézier Clipping 41 / 81 Bézier Clipping 4 2 d (1/3,3) (2/3,4) (1,4) 3 ray u 2 (0,2) Bézier curve Explicit Bézier curve

42 Bézier Clipping 42 / 81 Bézier Clipping 4 2 d (1/3,3) (2/3,4) (1,4) 3 ray u min u max u 2 (0,2) Bézier curve Explicit Bézier curve

43 Bézier Clipping 43 / 81 Bézier Clipping If the convex hull DOES NOT intersect the d=0 axis then no intersection point exists If the convex hull DOES intersect the d=0 axis then the convex hull property for Bézier curve guarantees that an intersection lies between u min and u max The de Casteljau algorithm can be used to subdivide the curve into three segments - Two of the segments, [0, u min ) and ( u max,1], do not contain a ray curve intersection

44 Bézier Clipping 44 / 81 Bézier Clipping If the [u min, u max ] is bigger than some predefined threshold then the interval contains two intersections and is itself subdivided - The search is continued in each subinterval separately The interval contraction is applied until the interval [u min, u max ] k is smaller than a predefined threshold - The intersection point is the center of the final interval [u min, u max ] k

45 Bézier Clipping 45 / 81 Bézier Clipping on the GPU Algorithm has been reformulated to be iterative - For efficiency reasons implemented as a state machine on the GPU The convex hull is reconstructed only locally - Only the edges which contain u min and u max are found and the corresponding control points are stored - Reduces the number of registers necessary

46 Bézier Clipping 46 / 81 Bézier Clipping on the GPU If a subdivision of [u min, u max ] k is necessary, the search is continued only in the left subinterval - The limited number of register on the GPU does not allow to store different right subintervals - A global right subinterval is used which requires only one scalar for its representation After the search terminated in the left subinterval it is continued in the global right subinterval

47 Bézier Clipping 47 / 81 Bézier Clipping on the GPU 0 1 u min,0 u max,0

48 Bézier Clipping 48 / 81 Bézier Clipping on the GPU 0 1 u min,0 u min,1 subdivision u max,1 u max,0

49 Bézier Clipping 49 / 81 Bézier Clipping on the GPU 0 1 u min,0 u min,1 subdivision u max,1 u max,0 u min,2 u max,2

50 Bézier Clipping 50 / 81 Bézier Clipping on the GPU 0 1 u min,0 u max,0 subdivision u min,1 u max,1 u min,2 u max,2 subdivision u min,3 u max,3

51 Bézier Clipping 51 / 81 Bézier Clipping on the GPU 0 1 u min,0 u max,0 subdivision u min,1 u max,1 u min,2 u max,2 subdivision u min,3 u max,3 u min,4 u max,4

52 Bézier Clipping 52 / 81 Bézier Clipping on the GPU 0 1 u min,0 u max,0 subdivision u min,1 u max,1 u min,2 u max,2 subdivision u min,3 u max,3 u min,4 u max,4 ε intersection

53 Early Ray Termination 53 / 81 Early Ray Termination Reduces the number of intersection tests Intersection shader program is not executed for a ray if it can be guaranteed that any intersection which would be found is behind the one that has already been encountered for the fragment Convex hull property for parametric patches enables early ray termination based on minimal depth value of bounding primitive for sub-patch

54 Early Ray Termination 54 / 81 Early Ray Termination

55 Early Ray Termination 55 / 81 Early Ray Termination

56 Early Ray Termination 56 / 81 Early Ray Termination

57 Early Ray Termination 57 / 81 Early Ray Termination

58 Early Ray Termination 58 / 81 Early Ray Termination d cur d min depth

59 Early Ray Termination 59 / 81 Early Ray Termination GPU provides Early-Z - BUT cannot be used if depth value is changed in the fragment shader program - Depth value has to be written for consistent depth buffering

60 Early Ray Termination 60 / 81 Early Ray Termination GPU provides Early-Z - BUT cannot be used if depth value is changed in the fragment shader program - Depth value has to be written for consistent depth buffering Manual Early-Z can be implemented by branching in the fragment shader - Current depth value from depth buffer is compared to minimal depth value of convex hull

61 Early Ray Termination 61 / 81 Early Ray Termination OpenGL: Simultaneous read and write of buffer results in undefined behaviour - No memory-cache synchronisation - Parallel processing of rays / fragments In practice reading from the currently bound depth buffer is possible (Nvidia boards) - Depth buffer is accessed as texture, similar to shadow mapping

62 Early Ray Termination 62 / 81 Early Ray Termination Reading from depth buffer is conservative - Depth buffer values are monotonically decreasing within one render pass - Values obtained in the intersection shader are always equal or greater than the correct value - Depth buffering is performed after fragment shader Some unnecessary intersection tests are performed but images are artifact free

63 Early Ray Termination 63 / 81 Early Ray Termination Reading from depth buffer is conservative - Depth buffer values are monotonically decreasing within one render pass - Values obtained in the intersection shader are always equal or greater than the correct value - Depth buffering is performed after fragment shader Some unnecessary intersection tests are performed but images are artifact free Requires front-to-back sorting of convex hull primitives

64 Results 64 / 81 Results All tests performed at 1280x % of screen covered by objects AMD Athlon Single Nvidia Quadro FX SLI usually nearly doubles the performance Results are draw times in ms

65 Results 65 / 81 No trimming curve Different number of sub-patches Patches Sub- Patches Number of Iterations

66 Results 66 / 81 One trimming curve Different number of sub-patches Patches Sub- Patches Number of Iterations

67 67 / 81 Results Different number of trimming curves 2048 sub-patches

68 Results 68 / 81 Newton Iteration - 1, 2, 3 and 4 Newton Iteration steps (ltr, ttb)

69 Results 69 / 81 Newton Iteration - 1, 2, 3 and 4 Newton Iteration steps (ltr, ttb)

70 Results 70 / 81 Newton Iteration - 1, 2, 3 and 4 Newton Iteration steps (ltr, ttb)

71 Results 71 / 81 Newton Iteration - 1, 2, 3 and 4 Newton Iteration steps (ltr, ttb)

72 Results 72 / 81 Early ray termination Quads NURBS

73 Comparison 73 / 81 Comparison with Guthe et al. [2005] Integration into hardware graphics pipeline Pixel error Trimming Guthe et al. Seamless Estimator for screen space error Texture-based, often high resolutions necessary GPUCast Seamless Pixel-accurate (some artifacts through nonconvergence) Pixel-accurate

74 Comparison 74 / 81 Comparison with Guthe et al. [2005] Guthe et al. GPUCast Number of trims Unlimited Currently max. 10 Multi-GPU setups Does not scale Scales well Quality at surface intersections Possible model complexity Appropriate tessellation factor hard to determine Complex models possible but real-time not guaranteed in these cases Pixel accurate without additional computations Limited to medium complex models on current hardware

75 Limitations 75 / 81 Limitations At the very limit of GPU resources - Especially registers - Adding functionality or improving the current one is (very) hard - Many GLSL compiler bugs - Got better for NV4X over the years - Alternative SH was used

76 Limitations 76 / 81 Limitations Usually one fragment program per surface Limited degree of NURBS surfaces (max. degree 7) Images are not artifact free - Newton Iteration does not always converge No acceleration structure for trimming - Currently for each fragment all trimming curves have to be tested - About 10 trimming curves are supported efficiently Manual Early-Z is not officially supported

77 Future Work 77 / 81 Future Work Requires DirectX10 graphics hardware Reliable intersection tests - Bezier Clipping - Subdivision-based methods - Resultant-based methods Acceleration structure for trimming - First experiments with a quad tree are promising NURBS with arbitrary degree

78 Conclusions 78 / 81 Conclusions Pixel-accurate rendering of NURBS surfaces without tessellation Real-time performance for medium size scenes Number of trimming curves limited Some image artifacts because of non-converging intersection tests Next generation of GPUs provides processing power and feature to overcome current limitations

79

80

81 Demo 81 / 81 DEMO Slides available at

The Traditional Graphics Pipeline

The Traditional Graphics Pipeline Last Time? The Traditional Graphics Pipeline Reading for Today A Practical Model for Subsurface Light Transport, Jensen, Marschner, Levoy, & Hanrahan, SIGGRAPH 2001 Participating Media Measuring BRDFs

More information

Rasterization Overview

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

More information

Outline. The de Casteljau Algorithm. Properties of Piecewise Linear Interpolations. Recall: Linear Interpolation

Outline. The de Casteljau Algorithm. Properties of Piecewise Linear Interpolations. Recall: Linear Interpolation CS 430/585 Computer Graphics I Curve Drawing Algorithms Week 4, Lecture 8 David Breen, William Regli and Maxim Peysakhov Geometric and Intelligent Computing Laboratory Department of Computer Science Drexel

More information

TSBK03 Screen-Space Ambient Occlusion

TSBK03 Screen-Space Ambient Occlusion TSBK03 Screen-Space Ambient Occlusion Joakim Gebart, Jimmy Liikala December 15, 2013 Contents 1 Abstract 1 2 History 2 2.1 Crysis method..................................... 2 3 Chosen method 2 3.1 Algorithm

More information

graphics pipeline computer graphics graphics pipeline 2009 fabio pellacini 1

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

More information

Werner Purgathofer

Werner Purgathofer Einführung in Visual Computing 186.822 Visible Surface Detection Werner Purgathofer Visibility in the Rendering Pipeline scene objects in object space object capture/creation ti modeling viewing projection

More information

Pipeline Operations. CS 4620 Lecture 14

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

More information

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

Models and Architectures. Ed Angel Professor of Computer Science, Electrical and Computer Engineering, and Media Arts University of New Mexico Models and Architectures Ed Angel Professor of Computer Science, Electrical and Computer Engineering, and Media Arts University of New Mexico 1 Objectives Learn the basic design of a graphics system Introduce

More information

OUTLINE. Learn the basic design of a graphics system Introduce pipeline architecture Examine software components for a graphics system

OUTLINE. Learn the basic design of a graphics system Introduce pipeline architecture Examine software components for a graphics system GRAPHICS PIPELINE 1 OUTLINE Learn the basic design of a graphics system Introduce pipeline architecture Examine software components for a graphics system 2 IMAGE FORMATION REVISITED Can we mimic the synthetic

More information

Clipping. Angel and Shreiner: Interactive Computer Graphics 7E Addison-Wesley 2015

Clipping. Angel and Shreiner: Interactive Computer Graphics 7E Addison-Wesley 2015 Clipping 1 Objectives Clipping lines First of implementation algorithms Clipping polygons (next lecture) Focus on pipeline plus a few classic algorithms 2 Clipping 2D against clipping window 3D against

More information

COMPUTER AIDED GEOMETRIC DESIGN. Thomas W. Sederberg

COMPUTER AIDED GEOMETRIC DESIGN. Thomas W. Sederberg COMPUTER AIDED GEOMETRIC DESIGN Thomas W. Sederberg January 31, 2011 ii T. W. Sederberg iii Preface This semester is the 24 th time I have taught a course at Brigham Young University titled, Computer Aided

More information

Computer Graphics 1. Chapter 2 (May 19th, 2011, 2-4pm): 3D Modeling. LMU München Medieninformatik Andreas Butz Computergraphik 1 SS2011

Computer Graphics 1. Chapter 2 (May 19th, 2011, 2-4pm): 3D Modeling. LMU München Medieninformatik Andreas Butz Computergraphik 1 SS2011 Computer Graphics 1 Chapter 2 (May 19th, 2011, 2-4pm): 3D Modeling 1 The 3D rendering pipeline (our version for this class) 3D models in model coordinates 3D models in world coordinates 2D Polygons in

More information

Topics. From vertices to fragments

Topics. From vertices to fragments Topics From vertices to fragments From Vertices to Fragments Assign a color to every pixel Pass every object through the system Required tasks: Modeling Geometric processing Rasterization Fragment processing

More information

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

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 2012 Announcements Homework project #2 due this Friday, October

More information

Robust Stencil Shadow Volumes. CEDEC 2001 Tokyo, Japan

Robust Stencil Shadow Volumes. CEDEC 2001 Tokyo, Japan Robust Stencil Shadow Volumes CEDEC 2001 Tokyo, Japan Mark J. Kilgard Graphics Software Engineer NVIDIA Corporation 2 Games Begin to Embrace Robust Shadows 3 John Carmack s new Doom engine leads the way

More information

Beginning Direct3D Game Programming: 1. The History of Direct3D Graphics

Beginning Direct3D Game Programming: 1. The History of Direct3D Graphics Beginning Direct3D Game Programming: 1. The History of Direct3D Graphics jintaeks@gmail.com Division of Digital Contents, DongSeo University. April 2016 Long time ago Before Windows, DOS was the most popular

More information

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

Ray tracing. Computer Graphics COMP 770 (236) Spring Instructor: Brandon Lloyd 3/19/07 1 Ray tracing Computer Graphics COMP 770 (236) Spring 2007 Instructor: Brandon Lloyd 3/19/07 1 From last time Hidden surface removal Painter s algorithm Clipping algorithms Area subdivision BSP trees Z-Buffer

More information

Real - Time Rendering. Pipeline optimization. Michal Červeňanský Juraj Starinský

Real - Time Rendering. Pipeline optimization. Michal Červeňanský Juraj Starinský Real - Time Rendering Pipeline optimization Michal Červeňanský Juraj Starinský Motivation Resolution 1600x1200, at 60 fps Hw power not enough Acceleration is still necessary 3.3.2010 2 Overview Application

More information

Graphics Hardware. Instructor Stephen J. Guy

Graphics Hardware. Instructor Stephen J. Guy Instructor Stephen J. Guy Overview What is a GPU Evolution of GPU GPU Design Modern Features Programmability! Programming Examples Overview What is a GPU Evolution of GPU GPU Design Modern Features Programmability!

More information

Fall CSCI 420: Computer Graphics. 7.1 Rasterization. Hao Li.

Fall CSCI 420: Computer Graphics. 7.1 Rasterization. Hao Li. Fall 2015 CSCI 420: Computer Graphics 7.1 Rasterization Hao Li http://cs420.hao-li.com 1 Rendering Pipeline 2 Outline Scan Conversion for Lines Scan Conversion for Polygons Antialiasing 3 Rasterization

More information

Chapter 7 - Light, Materials, Appearance

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,

More information

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

Ray Casting on Programmable Graphics Hardware. Martin Kraus PURPL group, Purdue University Ray Casting on Programmable Graphics Hardware Martin Kraus PURPL group, Purdue University Overview Parallel volume rendering with a single GPU Implementing ray casting for a GPU Basics Optimizations Published

More information

VIII. Visibility algorithms (II)

VIII. Visibility algorithms (II) VIII. Visibility algorithms (II) Hybrid algorithsms: priority list algorithms Find the object visibility Combine the operations in object space (examples: comparisons and object partitioning) with operations

More information

Interpolation using scanline algorithm

Interpolation using scanline algorithm Interpolation using scanline algorithm Idea: Exploit knowledge about already computed color values. Traverse projected triangle top-down using scanline. Compute start and end color value of each pixel

More information

CS770/870 Fall 2015 Advanced GLSL

CS770/870 Fall 2015 Advanced GLSL Expanded Graphics Pipeline CS770/870 Fall 2015 Advanced GLSL Geometry definition Shaders can actually be inserted in more places in pipeline Vertex and fragment shaders are most important Vertex shader

More information

Clipping. CSC 7443: Scientific Information Visualization

Clipping. CSC 7443: Scientific Information Visualization Clipping Clipping to See Inside Obscuring critical information contained in a volume data Contour displays show only exterior visible surfaces Isosurfaces can hide other isosurfaces Other displays can

More information

Curves and Surfaces Computer Graphics I Lecture 9

Curves and Surfaces Computer Graphics I Lecture 9 15-462 Computer Graphics I Lecture 9 Curves and Surfaces Parametric Representations Cubic Polynomial Forms Hermite Curves Bezier Curves and Surfaces [Angel 10.1-10.6] February 19, 2002 Frank Pfenning Carnegie

More information

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

Computer Graphics 1. Chapter 7 (June 17th, 2010, 2-4pm): Shading and rendering. LMU München Medieninformatik Andreas Butz Computergraphik 1 SS2010 Computer Graphics 1 Chapter 7 (June 17th, 2010, 2-4pm): Shading and rendering 1 The 3D rendering pipeline (our version for this class) 3D models in model coordinates 3D models in world coordinates 2D Polygons

More information

Curves and Surfaces 1

Curves and Surfaces 1 Curves and Surfaces 1 Representation of Curves & Surfaces Polygon Meshes Parametric Cubic Curves Parametric Bi-Cubic Surfaces Quadric Surfaces Specialized Modeling Techniques 2 The Teapot 3 Representing

More information

Computer Graphics Shadow Algorithms

Computer Graphics Shadow Algorithms Computer Graphics Shadow Algorithms Computer Graphics Computer Science Department University of Freiburg WS 11 Outline introduction projection shadows shadow maps shadow volumes conclusion Motivation shadows

More information

Motivation MGB Agenda. Compression. Scalability. Scalability. Motivation. Tessellation Basics. DX11 Tessellation Pipeline

Motivation MGB Agenda. Compression. Scalability. Scalability. Motivation. Tessellation Basics. DX11 Tessellation Pipeline MGB 005 Agenda Motivation Tessellation Basics DX Tessellation Pipeline Instanced Tessellation Instanced Tessellation in DX0 Displacement Mapping Content Creation Compression Motivation Save memory and

More information

Central issues in modelling

Central issues in modelling Central issues in modelling Construct families of curves, surfaces and volumes that can represent common objects usefully; are easy to interact with; interaction includes: manual modelling; fitting to

More information

Order Independent Transparency with Dual Depth Peeling. Louis Bavoil, Kevin Myers

Order Independent Transparency with Dual Depth Peeling. Louis Bavoil, Kevin Myers Order Independent Transparency with Dual Depth Peeling Louis Bavoil, Kevin Myers Document Change History Version Date Responsible Reason for Change 1.0 February 9 2008 Louis Bavoil Initial release Abstract

More information

Graphics Processing Unit Architecture (GPU Arch)

Graphics Processing Unit Architecture (GPU Arch) Graphics Processing Unit Architecture (GPU Arch) With a focus on NVIDIA GeForce 6800 GPU 1 What is a GPU From Wikipedia : A specialized processor efficient at manipulating and displaying computer graphics

More information

Chapter 4-3D Modeling

Chapter 4-3D Modeling Chapter 4-3D Modeling Polygon Meshes Geometric Primitives Interpolation Curves Levels Of Detail (LOD) Constructive Solid Geometry (CSG) Extrusion & Rotation Volume- and Point-based Graphics 1 The 3D rendering

More information

Hidden surface removal. Computer Graphics

Hidden surface removal. Computer Graphics Lecture Hidden Surface Removal and Rasterization Taku Komura Hidden surface removal Drawing polygonal faces on screen consumes CPU cycles Illumination We cannot see every surface in scene We don t want

More information

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. 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

More information

Lecture 25 of 41. Spatial Sorting: Binary Space Partitioning Quadtrees & Octrees

Lecture 25 of 41. Spatial Sorting: Binary Space Partitioning Quadtrees & Octrees Spatial Sorting: Binary Space Partitioning Quadtrees & Octrees William H. Hsu Department of Computing and Information Sciences, KSU KSOL course pages: http://bit.ly/hgvxlh / http://bit.ly/evizre Public

More information

Programmable Shaders for Deformation Rendering

Programmable Shaders for Deformation Rendering Programmable Shaders for Deformation Rendering Carlos D. Correa, Deborah Silver Rutgers, The State University of New Jersey Motivation We present a different way of obtaining mesh deformation. Not a modeling,

More information

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

Lecture 13: Reyes Architecture and Implementation. Kayvon Fatahalian CMU : Graphics and Imaging Architectures (Fall 2011) Lecture 13: Reyes Architecture and Implementation Kayvon Fatahalian CMU 15-869: Graphics and Imaging Architectures (Fall 2011) A gallery of images rendered using Reyes Image credit: Lucasfilm (Adventures

More information

Intro to Modeling Modeling in 3D

Intro to Modeling Modeling in 3D Intro to Modeling Modeling in 3D Polygon sets can approximate more complex shapes as discretized surfaces 2 1 2 3 Curve surfaces in 3D Sphere, ellipsoids, etc Curved Surfaces Modeling in 3D ) ( 2 2 2 2

More information

Lecture 2. Shaders, GLSL and GPGPU

Lecture 2. Shaders, GLSL and GPGPU Lecture 2 Shaders, GLSL and GPGPU Is it interesting to do GPU computing with graphics APIs today? Lecture overview Why care about shaders for computing? Shaders for graphics GLSL Computing with shaders

More information

Introduction to 3D Graphics

Introduction to 3D Graphics Graphics Without Polygons Volume Rendering May 11, 2010 So Far Volumetric Rendering Techniques Misc. So Far Extended the Fixed Function Pipeline with a Programmable Pipeline Programming the pipeline is

More information

Applications of Explicit Early-Z Z Culling. Jason Mitchell ATI Research

Applications of Explicit Early-Z Z Culling. Jason Mitchell ATI Research Applications of Explicit Early-Z Z Culling Jason Mitchell ATI Research Outline Architecture Hardware depth culling Applications Volume Ray Casting Skin Shading Fluid Flow Deferred Shading Early-Z In past

More information

Soft Particles. Tristan Lorach

Soft Particles. Tristan Lorach Soft Particles Tristan Lorach tlorach@nvidia.com January 2007 Document Change History Version Date Responsible Reason for Change 1 01/17/07 Tristan Lorach Initial release January 2007 ii Abstract Before:

More information

Curves & Surfaces. Last Time? Progressive Meshes. Selective Refinement. Adjacency Data Structures. Mesh Simplification. Mesh Simplification

Curves & Surfaces. Last Time? Progressive Meshes. Selective Refinement. Adjacency Data Structures. Mesh Simplification. Mesh Simplification Last Time? Adjacency Data Structures Curves & Surfaces Geometric & topologic information Dynamic allocation Efficiency of access Mesh Simplification edge collapse/vertex split geomorphs progressive transmission

More information

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 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

More information

Spring 2009 Prof. Hyesoon Kim

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

More information

Real-Time Non- Photorealistic Rendering

Real-Time Non- Photorealistic Rendering Real-Time Non- Photorealistic Rendering Presented by: Qing Hu LIAO SOCS, McGill Feb 1, 2005 Index Introduction Motivation Appel s Algorithm Improving Schema Rendering Result Economy of line A great deal

More information

3D Rendering Pipeline (for direct illumination)

3D Rendering Pipeline (for direct illumination) Clipping 3D Rendering Pipeline (for direct illumination) 3D Primitives 3D Modeling Coordinates Modeling Transformation Lighting 3D Camera Coordinates Projection Transformation Clipping 2D Screen Coordinates

More information

- Rasterization. Geometry. Scan Conversion. Rasterization

- Rasterization. Geometry. Scan Conversion. Rasterization Computer Graphics - The graphics pipeline - Geometry Modelview Geometry Processing Lighting Perspective Clipping Scan Conversion Texturing Fragment Tests Blending Framebuffer Fragment Processing - So far,

More information

Could you make the XNA functions yourself?

Could you make the XNA functions yourself? 1 Could you make the XNA functions yourself? For the second and especially the third assignment, you need to globally understand what s going on inside the graphics hardware. You will write shaders, which

More information

Scene Management. Video Game Technologies 11498: MSc in Computer Science and Engineering 11156: MSc in Game Design and Development

Scene Management. Video Game Technologies 11498: MSc in Computer Science and Engineering 11156: MSc in Game Design and Development Video Game Technologies 11498: MSc in Computer Science and Engineering 11156: MSc in Game Design and Development Chap. 5 Scene Management Overview Scene Management vs Rendering This chapter is about rendering

More information

Visibility and Occlusion Culling

Visibility and Occlusion Culling Visibility and Occlusion Culling CS535 Fall 2014 Daniel G. Aliaga Department of Computer Science Purdue University [some slides based on those of Benjamin Mora] Why? To avoid processing geometry that does

More information

Overview: Ray Tracing & The Perspective Projection Pipeline

Overview: Ray Tracing & The Perspective Projection Pipeline Overview: Ray Tracing & The Perspective Projection Pipeline Lecture #2 Thursday, August 28 2014 About this Lecture! This is an overview.! Think of it as a quick tour moving fast.! Some parts, e.g. math,

More information

Introduction to Shaders.

Introduction to Shaders. Introduction to Shaders Marco Benvegnù hiforce@gmx.it www.benve.org Summer 2005 Overview Rendering pipeline Shaders concepts Shading Languages Shading Tools Effects showcase Setup of a Shader in OpenGL

More information

Lecture 9: Deferred Shading. Visual Computing Systems CMU , Fall 2013

Lecture 9: Deferred Shading. Visual Computing Systems CMU , Fall 2013 Lecture 9: Deferred Shading Visual Computing Systems The course so far The real-time graphics pipeline abstraction Principle graphics abstractions Algorithms and modern high performance implementations

More information

Deus Ex is in the Details

Deus Ex is in the Details Deus Ex is in the Details Augmenting the PC graphics of Deus Ex: Human Revolution using DirectX 11 technology Matthijs De Smedt Graphics Programmer, Nixxes Software Overview Introduction DirectX 11 implementation

More information

CS GAME PROGRAMMING Question bank

CS GAME PROGRAMMING Question bank CS6006 - GAME PROGRAMMING Question bank Part A Unit I 1. List the different types of coordinate systems. 2. What is ray tracing? Mention some applications of ray tracing. 3. Discuss the stages involved

More information

Triangle Rasterization

Triangle Rasterization Triangle Rasterization Computer Graphics COMP 770 (236) Spring 2007 Instructor: Brandon Lloyd 2/07/07 1 From last time Lines and planes Culling View frustum culling Back-face culling Occlusion culling

More information

Volume Shadows Tutorial Nuclear / the Lab

Volume Shadows Tutorial Nuclear / the Lab Volume Shadows Tutorial Nuclear / the Lab Introduction As you probably know the most popular rendering technique, when speed is more important than quality (i.e. realtime rendering), is polygon rasterization.

More information

Spatial Data Structures

Spatial Data Structures CSCI 480 Computer Graphics Lecture 7 Spatial Data Structures Hierarchical Bounding Volumes Regular Grids BSP Trees [Ch. 0.] March 8, 0 Jernej Barbic University of Southern California http://www-bcf.usc.edu/~jbarbic/cs480-s/

More information

Introduction to Geometry. Computer Graphics CMU /15-662

Introduction to Geometry. Computer Graphics CMU /15-662 Introduction to Geometry Computer Graphics CMU 15-462/15-662 Assignment 2: 3D Modeling You will be able to create your own models (This mesh was created in Scotty3D in about 5 minutes... you can do much

More information

Topic 0. Introduction: What Is Computer Graphics? CSC 418/2504: Computer Graphics EF432. Today s Topics. What is Computer Graphics?

Topic 0. Introduction: What Is Computer Graphics? CSC 418/2504: Computer Graphics EF432. Today s Topics. What is Computer Graphics? EF432 Introduction to spagetti and meatballs CSC 418/2504: Computer Graphics Course web site (includes course information sheet): http://www.dgp.toronto.edu/~karan/courses/418/ Instructors: L0101, W 12-2pm

More information

Spring 2011 Prof. Hyesoon Kim

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

More information

GPU Memory Model. Adapted from:

GPU Memory Model. Adapted from: GPU Memory Model Adapted from: Aaron Lefohn University of California, Davis With updates from slides by Suresh Venkatasubramanian, University of Pennsylvania Updates performed by Gary J. Katz, University

More information

Spatial Data Structures

Spatial Data Structures 15-462 Computer Graphics I Lecture 17 Spatial Data Structures Hierarchical Bounding Volumes Regular Grids Octrees BSP Trees Constructive Solid Geometry (CSG) April 1, 2003 [Angel 9.10] Frank Pfenning Carnegie

More information

Computer Graphics. Bing-Yu Chen National Taiwan University

Computer Graphics. Bing-Yu Chen National Taiwan University Computer Graphics Bing-Yu Chen National Taiwan University Visible-Surface Determination Back-Face Culling The Depth-Sort Algorithm Binary Space-Partitioning Trees The z-buffer Algorithm Scan-Line Algorithm

More information

Deferred Rendering Due: Wednesday November 15 at 10pm

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

More information

Efficient GPU Rendering of Subdivision Surfaces. Tim Foley,

Efficient GPU Rendering of Subdivision Surfaces. Tim Foley, Efficient GPU Rendering of Subdivision Surfaces Tim Foley, 2017-03-02 Collaborators Activision Wade Brainerd Stanford Matthias Nießner NVIDIA Manuel Kraemer Henry Moreton 2 Subdivision surfaces are a powerful

More information

Computergrafik. Matthias Zwicker Universität Bern Herbst 2016

Computergrafik. Matthias Zwicker Universität Bern Herbst 2016 Computergrafik Matthias Zwicker Universität Bern Herbst 2016 Today Curves NURBS Surfaces Parametric surfaces Bilinear patch Bicubic Bézier patch Advanced surface modeling 2 Piecewise Bézier curves Each

More information

Introduction to the Direct3D 11 Graphics Pipeline

Introduction to the Direct3D 11 Graphics Pipeline Introduction to the Direct3D 11 Graphics Pipeline Kevin Gee - XNA Developer Connection Microsoft Corporation 2008 NVIDIA Corporation. Direct3D 11 focuses on Key Takeaways Increasing scalability, Improving

More information

Mattan Erez. The University of Texas at Austin

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

More information

Computer Graphics. Lecture 9 Environment mapping, Mirroring

Computer Graphics. Lecture 9 Environment mapping, Mirroring Computer Graphics Lecture 9 Environment mapping, Mirroring Today Environment Mapping Introduction Cubic mapping Sphere mapping refractive mapping Mirroring Introduction reflection first stencil buffer

More information

Real Time Rendering of Expensive Small Environments Colin Branch Stetson University

Real Time Rendering of Expensive Small Environments Colin Branch Stetson University Real Time Rendering of Expensive Small Environments Colin Branch Stetson University Abstract One of the major goals of computer graphics is the rendering of realistic environments in real-time. One approach

More information

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

Surface Graphics. 200 polys 1,000 polys 15,000 polys. an empty foot. - a mesh of spline patches: Surface Graphics Objects are explicitely defined by a surface or boundary representation (explicit inside vs outside) This boundary representation can be given by: - a mesh of polygons: 200 polys 1,000

More information

Volume Graphics Introduction

Volume Graphics Introduction High-Quality Volume Graphics on Consumer PC Hardware Volume Graphics Introduction Joe Kniss Gordon Kindlmann Markus Hadwiger Christof Rezk-Salama Rüdiger Westermann Motivation (1) Motivation (2) Scientific

More information

Advanced Texture-Mapping Curves and Curved Surfaces. Pre-Lecture Business. Texture Modes. Texture Modes. Review quiz

Advanced Texture-Mapping Curves and Curved Surfaces. Pre-Lecture Business. Texture Modes. Texture Modes. Review quiz Advanced Texture-Mapping Curves and Curved Surfaces Pre-ecture Business loadtexture example midterm handed bac, code posted (still) get going on pp3! more on texturing review quiz CS148: Intro to CG Instructor:

More information

CSE 167: Introduction to Computer Graphics Lecture #10: View Frustum Culling

CSE 167: Introduction to Computer Graphics Lecture #10: View Frustum Culling CSE 167: Introduction to Computer Graphics Lecture #10: View Frustum Culling Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2015 Announcements Project 4 due tomorrow Project

More information

Clipping and Scan Conversion

Clipping and Scan Conversion 15-462 Computer Graphics I Lecture 14 Clipping and Scan Conversion Line Clipping Polygon Clipping Clipping in Three Dimensions Scan Conversion (Rasterization) [Angel 7.3-7.6, 7.8-7.9] March 19, 2002 Frank

More information

Curves and Surfaces 2

Curves and Surfaces 2 Curves and Surfaces 2 Computer Graphics Lecture 17 Taku Komura Today More about Bezier and Bsplines de Casteljau s algorithm BSpline : General form de Boor s algorithm Knot insertion NURBS Subdivision

More information

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

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:

More information

MIT EECS 6.837, Teller and Durand 1

MIT EECS 6.837, Teller and Durand 1 MIT EECS 6.837, Teller and Durand 1 Clipping MIT EECS 6.837 Frédo Durand and Seth Teller Some slides and images courtesy of Leonard McMillan MIT EECS 6.837, Teller and Durand 2 Administrative Assignment

More information

Graphics Hardware. Graphics Processing Unit (GPU) is a Subsidiary hardware. With massively multi-threaded many-core. Dedicated to 2D and 3D graphics

Graphics Hardware. Graphics Processing Unit (GPU) is a Subsidiary hardware. With massively multi-threaded many-core. Dedicated to 2D and 3D graphics Why GPU? Chapter 1 Graphics Hardware Graphics Processing Unit (GPU) is a Subsidiary hardware With massively multi-threaded many-core Dedicated to 2D and 3D graphics Special purpose low functionality, high

More information

Direct Evaluation of NURBS Curves and Surfaces on the GPU

Direct Evaluation of NURBS Curves and Surfaces on the GPU Direct Evaluation of NURBS Curves and Surfaces on the GPU Adarsh Krishnamurthy, Rahul Khardekar and Sara McMains Computer Aided Design and Manufacturing Lab University of California, Berkeley Figure 1:

More information

Single Scattering in Refractive Media with Triangle Mesh Boundaries

Single Scattering in Refractive Media with Triangle Mesh Boundaries Single Scattering in Refractive Media with Triangle Mesh Boundaries Bruce Walter Shuang Zhao Nicolas Holzschuch Kavita Bala Cornell Univ. Cornell Univ. Grenoble Univ. Cornell Univ. Presented at SIGGRAPH

More information

Spatial Data Structures

Spatial Data Structures Spatial Data Structures Hierarchical Bounding Volumes Regular Grids Octrees BSP Trees Constructive Solid Geometry (CSG) [Angel 9.10] Outline Ray tracing review what rays matter? Ray tracing speedup faster

More information

Computer Graphics. - Rasterization - Philipp Slusallek

Computer Graphics. - Rasterization - Philipp Slusallek Computer Graphics - Rasterization - Philipp Slusallek Rasterization Definition Given some geometry (point, 2D line, circle, triangle, polygon, ), specify which pixels of a raster display each primitive

More information

Accelerating Ray-Tracing

Accelerating Ray-Tracing Lecture 9: Accelerating Ray-Tracing Computer Graphics and Imaging UC Berkeley CS184/284A, Spring 2016 Course Roadmap Rasterization Pipeline Core Concepts Sampling Antialiasing Transforms Geometric Modeling

More information

Computergrafik. Matthias Zwicker. Herbst 2010

Computergrafik. Matthias Zwicker. Herbst 2010 Computergrafik Matthias Zwicker Universität Bern Herbst 2010 Today Curves NURBS Surfaces Parametric surfaces Bilinear patch Bicubic Bézier patch Advanced surface modeling Piecewise Bézier curves Each segment

More information

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

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

More information

A Bandwidth Effective Rendering Scheme for 3D Texture-based Volume Visualization on GPU

A Bandwidth Effective Rendering Scheme for 3D Texture-based Volume Visualization on GPU for 3D Texture-based Volume Visualization on GPU Won-Jong Lee, Tack-Don Han Media System Laboratory (http://msl.yonsei.ac.k) Dept. of Computer Science, Yonsei University, Seoul, Korea Contents Background

More information

COMPUTER GRAPHICS COURSE. Rendering Pipelines

COMPUTER GRAPHICS COURSE. Rendering Pipelines 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

More information

Evolution of GPUs Chris Seitz

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

More information

Graphics Architectures and OpenCL. Michael Doggett Department of Computer Science Lund university

Graphics Architectures and OpenCL. Michael Doggett Department of Computer Science Lund university Graphics Architectures and OpenCL Michael Doggett Department of Computer Science Lund university Overview Parallelism Radeon 5870 Tiled Graphics Architectures Important when Memory and Bandwidth limited

More information

Real-Time Shadows. Computer Graphics. MIT EECS Durand 1

Real-Time Shadows. Computer Graphics. MIT EECS Durand 1 Real-Time Shadows Computer Graphics MIT EECS 6.837 Durand 1 Why are Shadows Important? Depth cue Scene Lighting Realism Contact points 2 Shadows as a Depth Cue source unknown. All rights reserved. This

More information

Shading Shades. Frank Jargstorff. June 1, Abstract

Shading Shades. Frank Jargstorff. June 1, Abstract Shading Shades Frank Jargstorff fjargstorff@nvidia.com June 1, 2004 Abstract Procedural material shaders continue to pop up since the advent of fragment programmability. Most of these shaders concentrate

More information

03 RENDERING PART TWO

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,

More information

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

Ray Tracing. CS334 Fall Daniel G. Aliaga Department of Computer Science Purdue University Ray Tracing CS334 Fall 2013 Daniel G. Aliaga Department of Computer Science Purdue University Ray Casting and Ray Tracing Ray Casting Arthur Appel, started around 1968 Ray Tracing Turner Whitted, started

More information

Rendering Algorithms: Real-time indirect illumination. Spring 2010 Matthias Zwicker

Rendering Algorithms: Real-time indirect illumination. Spring 2010 Matthias Zwicker Rendering Algorithms: Real-time indirect illumination Spring 2010 Matthias Zwicker Today Real-time indirect illumination Ray tracing vs. Rasterization Screen space techniques Visibility & shadows Instant

More information