Gopi -ICS280F02 - Slide 1 Graphics Pipeline: First Pass.

Slides:



Advertisements
Similar presentations
Real-Time Rendering 靜宜大學資工研究所 蔡奇偉副教授 2010©.
Advertisements

Computer Graphics- SCC 342
Graphics Pipeline.
Computer Graphic Creator: Mohsen Asghari Session 2 Fall 2014.
Gopi -ICS280F02 - Slide 1 Characteristics of an Object.
Computer Graphics Viewing.
HCI 530 : Seminar (HCI) Damian Schofield.
Part I: Basics of Computer Graphics Viewing Transformation and Coordinate Systems Chapter
(conventional Cartesian reference system)
Gopi -ICS186AW03 - Slide1 Graphics Pipeline: First Pass.
Game Engine Design ITCS 4010/5010 Spring 2006 Kalpathi Subramanian Department of Computer Science UNC Charlotte.
1 Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005 Models and Architectures Ed Angel Professor of Computer Science, Electrical and Computer.
OpenGL (II). How to Draw a 3-D object on Screen?
Part I: Basics of Computer Graphics Rendering Polygonal Objects (Read Chapter 1 of Advanced Animation and Rendering Techniques) Chapter
Geometric Objects and Transformations Geometric Entities Representation vs. Reference System Geometric ADT (Abstract Data Types)
3D Rendering with JOGL Introduction to Java OpenGL Graphic Library By Ricardo Veguilla
1 Computer Graphics Week13 –Shading Models. Shading Models Flat Shading Model: In this technique, each surface is assumed to have one normal vector (usually.
Basics of Rendering Pipeline Based Rendering –Objects in the scene are rendered in a sequence of steps that form the Rendering Pipeline. Ray-Tracing –A.
CSE 381 – Advanced Game Programming Basic 3D Graphics
Week 2 - Wednesday CS361.
Image Synthesis Rabie A. Ramadan, PhD 2. 2 Java OpenGL Using JOGL: Using JOGL: Wiki: You can download JOGL from.
Buffers Textures and more Rendering Paul Taylor & Barry La Trobe University 2009.
MIT EECS 6.837, Durand and Cutler Graphics Pipeline: Projective Transformations.
CS 450: COMPUTER GRAPHICS REVIEW: INTRODUCTION TO COMPUTER GRAPHICS – PART 2 SPRING 2015 DR. MICHAEL J. REALE.
CS-378: Game Technology Lecture #2.1: Projection Prof. Okan Arikan University of Texas, Austin Thanks to James O’Brien, Steve Chenney, Zoran Popovic, Jessica.
Graphics Systems and OpenGL. Business of Generating Images Images are made up of pixels.
CSC 461: Lecture 3 1 CSC461 Lecture 3: Models and Architectures  Objectives –Learn the basic design of a graphics system –Introduce pipeline architecture.
CSE Real Time Rendering Week 2. Graphics Processing 2.
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
1Computer Graphics Lecture 4 - Models and Architectures John Shearer Culture Lab – space 2
CAP4730: Computational Structures in Computer Graphics 3D Transformations.
Computer Graphics Chapter 6 Andreas Savva. 2 Interactive Graphics Graphics provides one of the most natural means of communicating with a computer. Interactive.
CS559: Computer Graphics Lecture 9: Rasterization Li Zhang Spring 2008.
CS 450: COMPUTER GRAPHICS PROJECTIONS SPRING 2015 DR. MICHAEL J. REALE.
Computer Graphics Zhen Jiang West Chester University.
OpenGL The Viewing Pipeline: Definition: a series of operations that are applied to the OpenGL matrices, in order to create a 2D representation from 3D.
Mark Nelson 3d projections Fall 2013
Basic Perspective Projection Watt Section 5.2, some typos Define a focal distance, d, and shift the origin to be at that distance (note d is negative)
University of British Columbia CPSC 314 Computer Graphics Jan-Apr 2013 Tamara Munzner Rasterization.
Review on Graphics Basics. Outline Polygon rendering pipeline Affine transformations Projective transformations Lighting and shading From vertices to.
12/24/2015 A.Aruna/Assistant professor/IT/SNSCE 1.
©2005, Lee Iverson Lee Iverson UBC Dept. of ECE EECE 478 Viewing and Projection.
CS COMPUTER GRAPHICS LABORATORY. LIST OF EXPERIMENTS 1.Implementation of Bresenhams Algorithm – Line, Circle, Ellipse. 2.Implementation of Line,
David Luebke1/10/2016 CS 551 / 645: Introductory Computer Graphics David Luebke
1 Georgia Tech, IIC, GVU, 2006 MAGIC Lab Rossignac Graphic pipeline  Scan-conversion algorithm (high level)  Pixels.
Chapter III Rasterization
Rendering Pipeline Fall, D Polygon Rendering Many applications use rendering of 3D polygons with direct illumination.
What are shaders? In the field of computer graphics, a shader is a computer program that runs on the graphics processing unit(GPU) and is used to do shading.
MIT EECS 6.837, Durand and Cutler The Graphics Pipeline: Line Clipping & Line Rasterization.
Coordinate Systems Lecture 1 Fri, Sep 2, The Coordinate Systems The points we create are transformed through a series of coordinate systems before.
Honors Geometry.  We learned how to set up a polygon / vertex matrix  We learned how to add matrices  We learned how to multiply matrices.
Viewing and Projection. The topics Interior parameters Projection type Field of view Clipping Frustum… Exterior parameters Camera position Camera orientation.
2 3D Viewing Process  3D viewing process MC Model Space Model Transformation Model Transformation WC World Space Viewing Transformation Viewing Transformation.
Some Notes on 3-D Glenn G. Chappell U. of Alaska Fairbanks CS 381 Lecture Notes Friday, October 24, 2003.
Visible Surface Detection
Rendering Pipeline Fall, 2015.
- Introduction - Graphics Pipeline
Graphics Fundamentals
CSCE 441 Computer Graphics 3-D Viewing
Modeling 101 For the moment assume that all geometry consists of points, lines and faces Line: A segment between two endpoints Face: A planar area bounded.
CS451Real-time Rendering Pipeline
Models and Architectures
3D Rendering Pipeline Hidden Surface Removal 3D Primitives
Projection in 3-D Glenn G. Chappell
The Graphics Pipeline Lecture 5 Mon, Sep 3, 2007.
Chapter V Vertex Processing
Lecture 13 Clipping & Scan Conversion
Chapter VII Rasterizer
Models and Architectures
Models and Architectures
Presentation transcript:

Gopi -ICS280F02 - Slide 1 Graphics Pipeline: First Pass

Gopi -ICS280F02 - Slide 2 Graphics Pipeline: First pass Object representation (triangles) and computation of vertex attributesObject representation (triangles) and computation of vertex attributes Model-view transformationModel-view transformation Projection transformationProjection transformation Clipping and vertex interpolation of attributesClipping and vertex interpolation of attributes Rasterization and pixel interpolation of attributesRasterization and pixel interpolation of attributes

Gopi -ICS280F02 - Slide 3 Object Representation Most common: TRIANGLESMost common: TRIANGLES Advantages:Advantages: –Consistently planar –Rotationally-invariant interpolation during rasterization –Easy definition of topology as well as geometry –Easy hardware implementation

Gopi -ICS280F02 - Slide 4 Object Representation Other representations:Other representations: –Points (no connectivity information) –Quadrilaterals (non-planarity, inconsistent interpolation of attributes) –Images (no geometry: not useful in simulations) – Splines (to be converted to polygons for rasterization)

Gopi -ICS280F02 - Slide 5 Attributes Color (Red, Green, Blue)Color (Red, Green, Blue) Normal vectorNormal vector Texture coordinateTexture coordinate Transparency valueTransparency value...

Gopi -ICS280F02 - Slide 6 Graphics Pipeline: First pass Object representation (triangles) and computation of vertex attributesObject representation (triangles) and computation of vertex attributes Model-view transformationModel-view transformation Projection transformationProjection transformation Clipping and vertex interpolation of attributesClipping and vertex interpolation of attributes Rasterization and pixel interpolation of attributesRasterization and pixel interpolation of attributes

Gopi -ICS280F02 - Slide 7 Model-view transformations Model transformationModel transformation View transformationView transformation

Gopi -ICS280F02 - Slide 8 Model transformations Transform the object to the required position, size and orientation.Transform the object to the required position, size and orientation. – Can use any transformation to achieve this. –In graphics library/hardware only linear transformations like rotate, translate, scale, shear are supported.

Gopi -ICS280F02 - Slide 9 View transformation Viewing parameters: (9 parameters)Viewing parameters: (9 parameters) –View POINT (x,y,z), –Viewing direction (VECTOR): (vx,vy,vz), –View-up VECTOR: (ux,uy,uz). –Default: (0,0,0), (0,0,-1), (0,1,0) Transforming the scene such that the view point is at the origin, viewing direction is aligned with the negative Z axis, and the view-up vector is aligned with the positive Y axis.Transforming the scene such that the view point is at the origin, viewing direction is aligned with the negative Z axis, and the view-up vector is aligned with the positive Y axis. –Uses rotation and translation to achieve this transformation.

Gopi -ICS280F02 - Slide 10 Graphics Pipeline: First pass Object representation (triangles) and computation of vertex attributesObject representation (triangles) and computation of vertex attributes Model-view transformationModel-view transformation Projection transformationProjection transformation Clipping and vertex interpolation of attributesClipping and vertex interpolation of attributes Rasterization and pixel interpolation of attributesRasterization and pixel interpolation of attributes

Gopi -ICS280F02 - Slide 11 Projection Transformation Define the “view frustum” (6 parameters)Define the “view frustum” (6 parameters) –Assume origin is the view point –Near and far planes (planes parallel to XY plane in the negative Z axis) –Left, right, top, bottom rectangle defined on the near plane. X Y -Z near far

Gopi -ICS280F02 - Slide 12 Projection Transformation Transforming the view frustum (along with the objects inside it) into a cuboid with unit square faces on the near and far planes and with the negative Z axis passing through the center of these two faces.Transforming the view frustum (along with the objects inside it) into a cuboid with unit square faces on the near and far planes and with the negative Z axis passing through the center of these two faces. Consists of a “shear” and a “perspective projection” operations.Consists of a “shear” and a “perspective projection” operations.

Gopi -ICS280F02 - Slide 13 Graphics Pipeline: First pass Object representation (triangles) and computation of vertex attributesObject representation (triangles) and computation of vertex attributes Model-view transformationModel-view transformation Projection transformationProjection transformation Clipping and vertex interpolation of attributesClipping and vertex interpolation of attributes Rasterization and pixel interpolation of attributesRasterization and pixel interpolation of attributes

Gopi -ICS280F02 - Slide 14 Clipping and Interpolation of Attributes Clipping: Removing the portions of the polygon that is outside the view frustum. If the polygon spans inside and outside the view frustum, introduce new vertices on the boundary to remove the outside portion of the polygon.Clipping: Removing the portions of the polygon that is outside the view frustum. If the polygon spans inside and outside the view frustum, introduce new vertices on the boundary to remove the outside portion of the polygon. Interpolation: For the new vertices introduced, compute all the attributes of the original vertices by interpolation.Interpolation: For the new vertices introduced, compute all the attributes of the original vertices by interpolation.

Gopi -ICS280F02 - Slide 15 Window coordinate transformation After clipping, scale the square faces of the unit cuboid (square faced on the near and far planes) such that it represents the (relative) pixel coordinates. (You don’t consider the Z value).After clipping, scale the square faces of the unit cuboid (square faced on the near and far planes) such that it represents the (relative) pixel coordinates. (You don’t consider the Z value). Then translate these coordinates to the position of the window on the monitor screen to represent the absolute pixel coordinates.Then translate these coordinates to the position of the window on the monitor screen to represent the absolute pixel coordinates. This is called window coordinate transformation.This is called window coordinate transformation.

Gopi -ICS280F02 - Slide 16 Graphics Pipeline: First pass Object representation (triangles) and computation of vertex attributesObject representation (triangles) and computation of vertex attributes Model-view transformationModel-view transformation Projection transformationProjection transformation Clipping and vertex interpolation of attributesClipping and vertex interpolation of attributes Rasterization and pixel interpolation of attributesRasterization and pixel interpolation of attributes

Gopi -ICS280F02 - Slide 17 Rasterization and Pixel Attribute Interpolation Rasterization is a process of generating pixels in the scan (horizontal) line order (top to bottom, left to right). (Also called “scan conversion”.)Rasterization is a process of generating pixels in the scan (horizontal) line order (top to bottom, left to right). (Also called “scan conversion”.) While generating pixels, the colors and other relevant attributes of the pixels are found by interpolating the attributes of the left and right extent of the scan line that lie on the polygon edge.While generating pixels, the colors and other relevant attributes of the pixels are found by interpolating the attributes of the left and right extent of the scan line that lie on the polygon edge. left right left Scan Line

Gopi -ICS280F02 - Slide 18 Graphics Pipeline: First pass End.

Gopi -ICS280F02 - Slide 19 (Layman) Object Definitions ManifoldsManifolds –2D: Every edge has exactly two incident triangles. –3D: Every triangle has exactly two incident tetrahedrons. Manifolds with boundariesManifolds with boundaries –2D: Every edge has either one or two incident triangles. –3D: Every triangle has either one or two incident tetrahedrons. Non-manifoldsNon-manifolds –That does not have the above restrictions.

Gopi -ICS280F02 - Slide 20 (Expert) Object Definitions ManifoldsManifolds –2D: Neighborhood of every point belonging to the object is homeomorphic to an open disc. –3D: Neighborhood of every point belonging to the object is homeomorphic to an open ball. Manifolds with boundariesManifolds with boundaries –2D: …(as above) or a half-disk. –3D:…(as above) or as half-ball Non-manifoldsNon-manifolds –That does not have the above restrictions.

Gopi -ICS280F02 - Slide 21 In this course.. 2D manifolds with boundaries.2D manifolds with boundaries. Remember: manifolds with boundaries is a superset of manifolds, and non-manifold is a superset of manifolds with boundaries. Non-manifold actually means that “need not” be a manifold; not “is not” a manifold.

Gopi -ICS280F02 - Slide 22 Genus (g) of a manifold Applicable only for manifoldsApplicable only for manifolds (Naïve) Number of “handles”.(Naïve) Number of “handles”. Sphere has g=0; cube has g=0; torus has g=1; coffee cup has g=1.Sphere has g=0; cube has g=0; torus has g=1; coffee cup has g=1.

Gopi -ICS280F02 - Slide 23 Euler Characteristic (e) of a manifold e = V-E+F (V: Vertices, E: Edges, F: Faces).e = V-E+F (V: Vertices, E: Edges, F: Faces). Applicable only for manifoldsApplicable only for manifolds In generalIn general –e=(0 dim)-(1 dim)+(2 dim)-(3 dim)+(4 dim)… Relationship between e and g: e=2-2gRelationship between e and g: e=2-2g –Sphere or Cube: e=2-2(0)=2 –Torus: e=2-2(1)=0 Verify: Cube has 8 vertices, 12 edges, 6 facesVerify: Cube has 8 vertices, 12 edges, 6 faces –e = V-E+F = = 2