Gopi -ICS186AW03 - Slide1 Graphics Pipeline: First Pass.

Slides:



Advertisements
Similar presentations
Computer Graphics- SCC 342
Advertisements

COMPUTER GRAPHICS SOFTWARE.
Graphics Pipeline.
Computer Graphic Creator: Mohsen Asghari Session 2 Fall 2014.
HCI 530 : Seminar (HCI) Damian Schofield.
Part I: Basics of Computer Graphics Viewing Transformation and Coordinate Systems Chapter
(conventional Cartesian reference system)
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
University of Texas at Austin CS 378 – Game Technology Don Fussell CS 378: Computer Game Technology Beyond Meshes Spring 2012.
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
02/26/02 (c) 2002 University of Wisconsin, CS 559 Last Time Canonical view pipeline Orthographic projection –There was an error in the matrix for taking.
Week 2 - Wednesday CS361.
Image Synthesis Rabie A. Ramadan, PhD 2. 2 Java OpenGL Using JOGL: Using JOGL: Wiki: You can download JOGL from.
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.
Gopi -ICS280F02 - Slide 1 Graphics Pipeline: First Pass.
10/3/02 (c) 2002 University of Wisconsin, CS 559 Last Time 2D Coordinate systems and 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.
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
Jens Krüger & Polina Kondratieva – Computer Graphics and Visualization Group computer graphics & visualization 3D Rendering Praktikum: Shader Gallery The.
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.
©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,
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.
Jens Krüger & Polina Kondratieva – Computer Graphics and Visualization Group computer graphics & visualization GameFX C# / DirectX 2005 The Rendering Pipeline.
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.
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.
Computer Graphics One of the central components of three-dimensional graphics has been a basic system that renders objects represented by a set of polygons.
Some Notes on 3-D Glenn G. Chappell U. of Alaska Fairbanks CS 381 Lecture Notes Friday, October 24, 2003.
Introduction to Computer Graphics
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
OpenGL 2D Viewing Pipeline
Computer Graphics One of the central components of three-dimensional graphics has been a basic system that renders objects represented by a set of polygons.
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
Clipping University of British Columbia CPSC 314 Computer Graphics
Presentation transcript:

Gopi -ICS186AW03 - Slide1 Graphics Pipeline: First Pass

Gopi -ICS186AW03 - Slide2 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 -ICS186AW03 - Slide3 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 -ICS186AW03 - Slide4 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 -ICS186AW03 - Slide5 Attributes Color (Red, Green, Blue)Color (Red, Green, Blue) Normal vectorNormal vector Texture coordinateTexture coordinate Transparency valueTransparency value...

Gopi -ICS186AW03 - Slide6 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 -ICS186AW03 - Slide7 Model-view transformations Model transformationModel transformation View transformationView transformation

Gopi -ICS186AW03 - Slide8 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 -ICS186AW03 - Slide9 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 -ICS186AW03 - Slide10 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 -ICS186AW03 - Slide11 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 -ICS186AW03 - Slide12 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 -ICS186AW03 - Slide13 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 -ICS186AW03 - Slide14 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 -ICS186AW03 - Slide15 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 -ICS186AW03 - Slide16 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 -ICS186AW03 - Slide17 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 -ICS186AW03 - Slide18 Graphics Pipeline: First pass End.