Direct Rendering of Trimmed NURBS Surfaces

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

Ray Casting of Trimmed NURBS Surfaces on the GPU

Ray Casting of Trimmed NURBS Surfaces on the GPU Ray Casting of Trimmed NURBS Surfaces on the GPU Hans-Friedrich Pabst Jan P. Springer André Schollmeyer Robert Lenhardt Christian Lessig Bernd Fröhlich Bauhaus University Weimar Faculty of Media Virtual

More information

CHAPTER 1 Graphics Systems and Models 3

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

More information

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

CS452/552; EE465/505. Clipping & Scan Conversion CS452/552; EE465/505 Clipping & Scan Conversion 3-31 15 Outline! From Geometry to Pixels: Overview Clipping (continued) Scan conversion Read: Angel, Chapter 8, 8.1-8.9 Project#1 due: this week Lab4 due:

More information

The Traditional Graphics Pipeline

The Traditional Graphics Pipeline Last Time? The Traditional Graphics Pipeline Participating Media Measuring BRDFs 3D Digitizing & Scattering BSSRDFs Monte Carlo Simulation Dipole Approximation Today Ray Casting / Tracing Advantages? Ray

More information

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

Real - Time Rendering. Graphics pipeline. Michal Červeňanský Juraj Starinský Real - Time Rendering Graphics pipeline Michal Červeňanský Juraj Starinský Overview History of Graphics HW Rendering pipeline Shaders Debugging 2 History of Graphics HW First generation Second generation

More information

Approximate Catmull-Clark Patches. Scott Schaefer Charles Loop

Approximate Catmull-Clark Patches. Scott Schaefer Charles Loop Approximate Catmull-Clark Patches Scott Schaefer Charles Loop Approximate Catmull-Clark Patches Scott Schaefer Charles Loop Catmull-Clark Surface ACC-Patches Polygon Models Prevalent in game industry Very

More information

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

Rendering. Converting a 3D scene to a 2D image. Camera. Light. Rendering. View Plane Rendering Pipeline Rendering Converting a 3D scene to a 2D image Rendering Light Camera 3D Model View Plane Rendering Converting a 3D scene to a 2D image Basic rendering tasks: Modeling: creating the world

More information

The Traditional Graphics Pipeline

The Traditional Graphics Pipeline Final Projects Proposals due Thursday 4/8 Proposed project summary At least 3 related papers (read & summarized) Description of series of test cases Timeline & initial task assignment The Traditional Graphics

More information

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

2D rendering takes a photo of the 2D scene with a virtual camera that selects an axis aligned rectangle from the scene. The photograph is placed into

2D rendering takes a photo of the 2D scene with a virtual camera that selects an axis aligned rectangle from the scene. The photograph is placed into 2D rendering takes a photo of the 2D scene with a virtual camera that selects an axis aligned rectangle from the scene. The photograph is placed into the viewport of the current application window. A pixel

More information

Computer Graphics CS 543 Lecture 13a Curves, Tesselation/Geometry Shaders & Level of Detail

Computer Graphics CS 543 Lecture 13a Curves, Tesselation/Geometry Shaders & Level of Detail Computer Graphics CS 54 Lecture 1a Curves, Tesselation/Geometry Shaders & Level of Detail Prof Emmanuel Agu Computer Science Dept. Worcester Polytechnic Institute (WPI) So Far Dealt with straight lines

More information

Information Coding / Computer Graphics, ISY, LiTH. Splines

Information Coding / Computer Graphics, ISY, LiTH. Splines 28(69) Splines Originally a drafting tool to create a smooth curve In computer graphics: a curve built from sections, each described by a 2nd or 3rd degree polynomial. Very common in non-real-time graphics,

More information

INF3320 Computer Graphics and Discrete Geometry

INF3320 Computer Graphics and Discrete Geometry INF3320 Computer Graphics and Discrete Geometry More smooth Curves and Surfaces Christopher Dyken, Michael Floater and Martin Reimers 10.11.2010 Page 1 More smooth Curves and Surfaces Akenine-Möller, Haines

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

FROM VERTICES TO FRAGMENTS. Lecture 5 Comp3080 Computer Graphics HKBU

FROM VERTICES TO FRAGMENTS. Lecture 5 Comp3080 Computer Graphics HKBU FROM VERTICES TO FRAGMENTS Lecture 5 Comp3080 Computer Graphics HKBU OBJECTIVES Introduce basic implementation strategies Clipping Scan conversion OCTOBER 9, 2011 2 OVERVIEW At end of the geometric pipeline,

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

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

Outline. Properties of Piecewise Linear Interpolations. The de Casteljau Algorithm. 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

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

Overview. Pipeline implementation I. Overview. Required Tasks. Preliminaries Clipping. Hidden Surface removal Overview Pipeline implementation I Preliminaries Clipping Line clipping Hidden Surface removal Overview At end of the geometric pipeline, vertices have been assembled into primitives Must clip out primitives

More information

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

Interactive Computer Graphics A TOP-DOWN APPROACH WITH SHADER-BASED OPENGL International Edition Interactive Computer Graphics A TOP-DOWN APPROACH WITH SHADER-BASED OPENGL Sixth Edition Edward Angel Dave Shreiner Interactive Computer Graphics: A Top-Down Approach with Shader-Based

More information

CPSC GLOBAL ILLUMINATION

CPSC GLOBAL ILLUMINATION CPSC 314 21 GLOBAL ILLUMINATION Textbook: 20 UGRAD.CS.UBC.CA/~CS314 Mikhail Bessmeltsev ILLUMINATION MODELS/ALGORITHMS Local illumination - Fast Ignore real physics, approximate the look Interaction of

More information

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

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

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

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

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

Homework #2. Hidden Surfaces, Projections, Shading and Texture, Ray Tracing, and Parametric Curves Computer Graphics Instructor: Brian Curless CSE 457 Spring 2013 Homework #2 Hidden Surfaces, Projections, Shading and Texture, Ray Tracing, and Parametric Curves Assigned: Sunday, May 12 th Due: Thursday,

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

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

CS GPU and GPGPU Programming Lecture 2: Introduction; GPU Architecture 1. Markus Hadwiger, KAUST CS 380 - GPU and GPGPU Programming Lecture 2: Introduction; GPU Architecture 1 Markus Hadwiger, KAUST Reading Assignment #2 (until Feb. 17) Read (required): GLSL book, chapter 4 (The OpenGL Programmable

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

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

More information

Introduction to Computer Graphics with WebGL

Introduction to Computer Graphics with WebGL Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science Laboratory University of New Mexico Models and Architectures

More information

CS 130 Final. Fall 2015

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

More information

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

CSE 167: Introduction to Computer Graphics Lecture #5: Rasterization. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2015 CSE 167: Introduction to Computer Graphics Lecture #5: Rasterization Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2015 Announcements Project 2 due tomorrow at 2pm Grading window

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

Review of Tuesday. ECS 175 Chapter 3: Object Representation

Review of Tuesday. ECS 175 Chapter 3: Object Representation Review of Tuesday We have learnt how to rasterize lines and fill polygons Colors (and other attributes) are specified at vertices Interpolation required to fill polygon with attributes 26 Review of Tuesday

More information

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

Module Contact: Dr Stephen Laycock, CMP Copyright of the University of East Anglia Version 1 UNIVERSITY OF EAST ANGLIA School of Computing Sciences Main Series PG Examination 2013-14 COMPUTER GAMES DEVELOPMENT CMPSME27 Time allowed: 2 hours Answer any THREE questions. (40 marks each) Notes are

More information

Computergrafik. Matthias Zwicker. Herbst 2010

Computergrafik. Matthias Zwicker. Herbst 2010 Computergrafik Matthias Zwicker Universität Bern Herbst 2010 Today Bump mapping Shadows Shadow mapping Shadow mapping in OpenGL Bump mapping Surface detail is often the result of small perturbations in

More information

Computer Graphics I Lecture 11

Computer Graphics I Lecture 11 15-462 Computer Graphics I Lecture 11 Midterm Review Assignment 3 Movie Midterm Review Midterm Preview February 26, 2002 Frank Pfenning Carnegie Mellon University http://www.cs.cmu.edu/~fp/courses/graphics/

More information

3D Rasterization II COS 426

3D Rasterization II COS 426 3D Rasterization II COS 426 3D Rendering Pipeline (for direct illumination) 3D Primitives Modeling Transformation Lighting Viewing Transformation Projection Transformation Clipping Viewport Transformation

More information

Lecture 4: Geometry Processing. Kayvon Fatahalian CMU : Graphics and Imaging Architectures (Fall 2011)

Lecture 4: Geometry Processing. Kayvon Fatahalian CMU : Graphics and Imaging Architectures (Fall 2011) Lecture 4: Processing Kayvon Fatahalian CMU 15-869: Graphics and Imaging Architectures (Fall 2011) Today Key per-primitive operations (clipping, culling) Various slides credit John Owens, Kurt Akeley,

More information

Applications of Explicit Early-Z Culling

Applications of Explicit Early-Z Culling Applications of Explicit Early-Z Culling Jason L. Mitchell ATI Research Pedro V. Sander ATI Research Introduction In past years, in the SIGGRAPH Real-Time Shading course, we have covered the details of

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

Real-Time Rendering (Echtzeitgraphik) Michael Wimmer

Real-Time Rendering (Echtzeitgraphik) Michael Wimmer Real-Time Rendering (Echtzeitgraphik) Michael Wimmer wimmer@cg.tuwien.ac.at Walking down the graphics pipeline Application Geometry Rasterizer What for? Understanding the rendering pipeline is the key

More information

Many rendering scenarios, such as battle scenes or urban environments, require rendering of large numbers of autonomous characters.

Many rendering scenarios, such as battle scenes or urban environments, require rendering of large numbers of autonomous characters. 1 2 Many rendering scenarios, such as battle scenes or urban environments, require rendering of large numbers of autonomous characters. Crowd rendering in large environments presents a number of challenges,

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

Line Drawing. Introduction to Computer Graphics Torsten Möller / Mike Phillips. Machiraju/Zhang/Möller

Line Drawing. Introduction to Computer Graphics Torsten Möller / Mike Phillips. Machiraju/Zhang/Möller Line Drawing Introduction to Computer Graphics Torsten Möller / Mike Phillips Rendering Pipeline Hardware Modelling Transform Visibility Illumination + Shading Perception, Color Interaction Texture/ Realism

More information

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

S U N G - E U I YO O N, K A I S T R E N D E R I N G F R E E LY A VA I L A B L E O N T H E I N T E R N E T S U N G - E U I YO O N, K A I S T R E N D E R I N G F R E E LY A VA I L A B L E O N T H E I N T E R N E T Copyright 2018 Sung-eui Yoon, KAIST freely available on the internet http://sglab.kaist.ac.kr/~sungeui/render

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

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

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

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

CS451Real-time Rendering Pipeline

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

More information

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

For each question, indicate whether the statement is true or false by circling T or F, respectively. True/False For each question, indicate whether the statement is true or false by circling T or F, respectively. 1. (T/F) Rasterization occurs before vertex transformation in the graphics pipeline. 2. (T/F)

More information

CS 354R: Computer Game Technology

CS 354R: Computer Game Technology CS 354R: Computer Game Technology Texture and Environment Maps Fall 2018 Texture Mapping Problem: colors, normals, etc. are only specified at vertices How do we add detail between vertices without incurring

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

Real-Time Reyes: Programmable Pipelines and Research Challenges. Anjul Patney University of California, Davis

Real-Time Reyes: Programmable Pipelines and Research Challenges. Anjul Patney University of California, Davis Real-Time Reyes: Programmable Pipelines and Research Challenges Anjul Patney University of California, Davis Real-Time Reyes-Style Adaptive Surface Subdivision Anjul Patney and John D. Owens SIGGRAPH Asia

More information

Direct Rendering. Direct Rendering Goals

Direct Rendering. Direct Rendering Goals May 2, 2005 Goals General Goals Small memory footprint Fast rendering High-quality results identical to those of Saffron V1 using distance-based anti-aliasing and alignment zones Goals Specific Goals Avoid

More information

Lecture 11: Ray tracing (cont.)

Lecture 11: Ray tracing (cont.) Interactive Computer Graphics Ray tracing - Summary Lecture 11: Ray tracing (cont.) Graphics Lecture 10: Slide 1 Some slides adopted from H. Pfister, Harvard Graphics Lecture 10: Slide 2 Ray tracing -

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

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

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

Last Time. Why are Shadows Important? Today. Graphics Pipeline. Clipping. Rasterization. Why are Shadows Important?

Last Time. Why are Shadows Important? Today. Graphics Pipeline. Clipping. Rasterization. Why are Shadows Important? Last Time Modeling Transformations Illumination (Shading) Real-Time Shadows Viewing Transformation (Perspective / Orthographic) Clipping Projection (to Screen Space) Graphics Pipeline Clipping Rasterization

More information

Computer Graphics. Bing-Yu Chen National Taiwan University The University of Tokyo

Computer Graphics. Bing-Yu Chen National Taiwan University The University of Tokyo Computer Graphics Bing-Yu Chen National Taiwan University The University of Tokyo Hidden-Surface Removal Back-Face Culling The Depth-Sort Algorithm Binary Space-Partitioning Trees The z-buffer Algorithm

More information

The Graphics Pipeline

The Graphics Pipeline The Graphics Pipeline Ray Tracing: Why Slow? Basic ray tracing: 1 ray/pixel Ray Tracing: Why Slow? Basic ray tracing: 1 ray/pixel But you really want shadows, reflections, global illumination, antialiasing

More information

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

Visible-Surface Detection Methods. Chapter? Intro. to Computer Graphics Spring 2008, Y. G. Shin Visible-Surface Detection Methods Chapter? Intro. to Computer Graphics Spring 2008, Y. G. Shin The Visibility Problem [Problem Statement] GIVEN: a set of 3-D surfaces, a projection from 3-D to 2-D screen,

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

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

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

CS 130 Exam I. Fall 2015

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

More information

Practical Shadow Mapping

Practical Shadow Mapping Practical Shadow Mapping Stefan Brabec Thomas Annen Hans-Peter Seidel Max-Planck-Institut für Informatik Saarbrücken, Germany Abstract In this paper we propose several methods that can greatly improve

More information

Advanced Shading I: Shadow Rasterization Techniques

Advanced Shading I: Shadow Rasterization Techniques Advanced Shading I: Shadow Rasterization Techniques Shadow Terminology umbra: light totally blocked penumbra: light partially blocked occluder: object blocking light Shadow Terminology umbra: light totally

More information

For Intuition about Scene Lighting. Today. Limitations of Planar Shadows. Cast Shadows on Planar Surfaces. Shadow/View Duality.

For Intuition about Scene Lighting. Today. Limitations of Planar Shadows. Cast Shadows on Planar Surfaces. Shadow/View Duality. Last Time Modeling Transformations Illumination (Shading) Real-Time Shadows Viewing Transformation (Perspective / Orthographic) Clipping Projection (to Screen Space) Graphics Pipeline Clipping Rasterization

More information

Illumination and Geometry Techniques. Karljohan Lundin Palmerius

Illumination and Geometry Techniques. Karljohan Lundin Palmerius Illumination and Geometry Techniques Karljohan Lundin Palmerius Objectives Complex geometries Translucency Huge areas Really nice graphics! Shadows Graceful degradation Acceleration Optimization Straightforward

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

A Trip Down The (2011) Rasterization Pipeline

A Trip Down The (2011) Rasterization Pipeline A Trip Down The (2011) Rasterization Pipeline Aaron Lefohn - Intel / University of Washington Mike Houston AMD / Stanford 1 This talk Overview of the real-time rendering pipeline available in ~2011 corresponding

More information

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

More information

From Vertices To Fragments-1

From Vertices To Fragments-1 From Vertices To Fragments-1 1 Objectives Clipping Line-segment clipping polygon clipping 2 Overview At end of the geometric pipeline, vertices have been assembled into primitives Must clip out primitives

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

Sung-Eui Yoon ( 윤성의 )

Sung-Eui Yoon ( 윤성의 ) CS380: Computer Graphics Ray Tracing Sung-Eui Yoon ( 윤성의 ) Course URL: http://sglab.kaist.ac.kr/~sungeui/cg/ Class Objectives Understand overall algorithm of recursive ray tracing Ray generations Intersection

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

CSCI 420 Computer Graphics Lecture 14. Rasterization. Scan Conversion Antialiasing [Angel Ch. 6] Jernej Barbic University of Southern California

CSCI 420 Computer Graphics Lecture 14. Rasterization. Scan Conversion Antialiasing [Angel Ch. 6] Jernej Barbic University of Southern California CSCI 420 Computer Graphics Lecture 14 Rasterization Scan Conversion Antialiasing [Angel Ch. 6] Jernej Barbic University of Southern California 1 Rasterization (scan conversion) Final step in pipeline:

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

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

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

2: Introducing image synthesis. Some orientation how did we get here? Graphics system architecture Overview of OpenGL / GLU / GLUT COMP27112 Computer Graphics and Image Processing 2: Introducing image synthesis Toby.Howard@manchester.ac.uk 1 Introduction In these notes we ll cover: Some orientation how did we get here? Graphics system

More information

Visibility: Z Buffering

Visibility: Z Buffering University of British Columbia CPSC 414 Computer Graphics Visibility: Z Buffering Week 1, Mon 3 Nov 23 Tamara Munzner 1 Poll how far are people on project 2? preferences for Plan A: status quo P2 stays

More information

Line Drawing. Foundations of Computer Graphics Torsten Möller

Line Drawing. Foundations of Computer Graphics Torsten Möller Line Drawing Foundations of Computer Graphics Torsten Möller Rendering Pipeline Hardware Modelling Transform Visibility Illumination + Shading Perception, Interaction Color Texture/ Realism Reading Angel

More information

CS-184: Computer Graphics

CS-184: Computer Graphics CS-184: Computer Graphics Lecture #12: Curves and Surfaces Prof. James O Brien University of California, Berkeley V2007-F-12-1.0 Today General curve and surface representations Splines and other polynomial

More information

CSE528 Computer Graphics: Theory, Algorithms, and Applications

CSE528 Computer Graphics: Theory, Algorithms, and Applications CSE528 Computer Graphics: Theory, Algorithms, and Applications Hong Qin State University of New York at Stony Brook (Stony Brook University) Stony Brook, New York 11794--4400 Tel: (631)632-8450; Fax: (631)632-8334

More information

SUMMARY. CS380: Introduction to Computer Graphics Ray tracing Chapter 20. Min H. Kim KAIST School of Computing 18/05/29. Modeling

SUMMARY. CS380: Introduction to Computer Graphics Ray tracing Chapter 20. Min H. Kim KAIST School of Computing 18/05/29. Modeling CS380: Introduction to Computer Graphics Ray tracing Chapter 20 Min H. Kim KAIST School of Computing Modeling SUMMARY 2 1 Types of coordinate function Explicit function: Line example: Implicit function:

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

Rasterization. Rasterization (scan conversion) Digital Differential Analyzer (DDA) Rasterizing a line. Digital Differential Analyzer (DDA)

Rasterization. Rasterization (scan conversion) Digital Differential Analyzer (DDA) Rasterizing a line. Digital Differential Analyzer (DDA) CSCI 420 Computer Graphics Lecture 14 Rasterization Jernej Barbic University of Southern California Scan Conversion Antialiasing [Angel Ch. 6] Rasterization (scan conversion) Final step in pipeline: rasterization

More information

L10 Layered Depth Normal Images. Introduction Related Work Structured Point Representation Boolean Operations Conclusion

L10 Layered Depth Normal Images. Introduction Related Work Structured Point Representation Boolean Operations Conclusion L10 Layered Depth Normal Images Introduction Related Work Structured Point Representation Boolean Operations Conclusion 1 Introduction Purpose: using the computational power on GPU to speed up solid modeling

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

Class of Algorithms. Visible Surface Determination. Back Face Culling Test. Back Face Culling: Object Space v. Back Face Culling: Object Space.

Class of Algorithms. Visible Surface Determination. Back Face Culling Test. Back Face Culling: Object Space v. Back Face Culling: Object Space. Utah School of Computing Spring 13 Class of Algorithms Lecture Set Visible Surface Determination CS56 Computer Graphics From Rich Riesenfeld Spring 13 Object (Model) Space Algorithms Work in the model

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

Hardware-driven Visibility Culling Jeong Hyun Kim

Hardware-driven Visibility Culling Jeong Hyun Kim Hardware-driven Visibility Culling Jeong Hyun Kim KAIST (Korea Advanced Institute of Science and Technology) Contents Introduction Background Clipping Culling Z-max (Z-min) Filter Programmable culling

More information

Last week. Machiraju/Zhang/Möller

Last week. Machiraju/Zhang/Möller Last week Machiraju/Zhang/Möller 1 Overview of a graphics system Output device Input devices Image formed and stored in frame buffer Machiraju/Zhang/Möller 2 Introduction to CG Torsten Möller 3 Ray tracing:

More information

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

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

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

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