CSCI 4620/8626. Computer Graphics Attributes of Graphics Primitives (Chapter 5)
|
|
- Charity Dorsey
- 5 years ago
- Views:
Transcription
1 CSCI 4620/8626 Computer Graphics Attributes of Graphics Primitives (Chapter 5) Last update: Non-Fill Methods While polygons can be filled (with patterns or colors), they can also be displayed without fill (that is, as a wire frame consisting of edges only) or even without edges (points only). The manner in which polygons are processed is determined by calling glpolygonmode. 2 1
2 glpolygonmode(face, displaymode) The first parameter for this function is GL_FRONT, GL_BACK, or GL_FRONT_AND_BACK. This indicates whether the call applies to the front, back, or both sides of a polygon face. The second parameter is GL_POINT, GL_LINE, or GL_FILL and indicates whether only points are to be displayed, lines are to be displayed, or the polygon is to be filled (with color, pattern, or texture). 3 Caveat If both sides of the polygon are visible (which is the default case), then only by using GL_FRONT_AND_BACK for face (the first parameter) will the call to glpolygonmode be effective. This is because the other side (the one not specified by the first parameter) will still be processed as usual, and it will be visible. 4 2
3 Stitching (1) To draw a polygon with one color for the fill, and a different color for the border, we might use code like this: glcolor3f( color for the filled polygon ); glbegin(gl_polygon); vertices glend(); glcolor3f( color for the border ); glpolygonmode(gl_front,gl_line); glbegin(gl_polygon); vertices glend(); Two different algorithms are used: one to fill the polygon, and another to construct the lines for the border. 5 Stitching (2) When a polygon that does not lie entirely in the XY plane is used, the graphics package must compute the screen coordinates of the corresponding 3D position. If the two algorithms yield different positions for a point on the border, it is possible that the fill color could appear to be in front of the border (which is drawn last), resulting in the border being invaded by the fill color. This effect is called stitching. 6 3
4 Stitching Example Stitching Assume edges of a polygon are being drawn between points that have differing Z-components (depth). The potential exists for the fill-line and the border line rasterization algorithms to yield conflicting values at some points at the border, resulting in the fill being closer to the viewer than the border, causing it to be displayed instead of the border. 7 glpolygonoffset (1) One technique for dealing with stitching involves shifting the depth values computed by the fill algorithm so they do not overlap with the edge depth values. In OpenGL this is accomplished by (a) enabling GL_POLYGON_OFFSET_FILL, and (b) invoking the glpolygonoffset function to specify two factors that control how the depth offsets should be computed. The two factors are used as follows: depthoffset = factor1 * maxslope + factor2 * constant Typical values for the two factors are between 0.75 and
5 glpolygonoffset (2) Instead of using positive values for the offsets and moving the fill area depth back in the polygon, we can enable GL_POLYGON_OFFSET_LINE (instead of GL_POLYGON_OFFSET_FILL) to cause the border of the polygon to have its depth altered. In this case the factors for glpolygonoffset should be negative, which moves the border line closer to the viewer. 9 Polygon Edges Each edge of a primitive generated from a polygon, triangle strip, triangle fan, separate triangle set, quadrilateral strip, or separate quadrilateral strip, is flagged as either boundary or non-boundary. When drawing a polygon from separate primitives (as would be the case if we split a concave polygon into triangles and displayed each triangle separately), some of the edges that are flagged as boundaries by default should not be so considered. 10 5
6 Example A convex wire-frame polygon drawn with three triangles. Note that each triangle edge is visible. Edges that should not be visible are shown here as dashed lines. 11 gledgeflag When drawing individual edges of a polygon using various primitives, we can control which lines should be treated as boundary edges. To indicate that the next vertex does not precede (begin) a boundary edge, call gledgeflag (GL_FALSE); Naturally, edge flags default to true. Remember to turn edge flags on again for edges that should be treated as boundaries: gledgeflag (GL_TRUE); Edge flags can be specified in an array parallel to a vertex array by enabling GL_EDGE_FLAG_ARRAY and specifying the pointer (and offset) to the array with gledgeflagpointer. 12 6
7 Polygon Face Specification Remember that polygons have two faces, front and back. The order in which a polygon s vertices are specified determines which face is considered the front. The default algorithm assumes counter-clockwise specification of the vertices. To change this, use glfrontface(gl_cw); Naturally, glfrontface(gl_ccw) can be used to switch back to the default ordering. 13 Why are Front and Back Important? Although it s not clear (yet), each face of a polygon is given a (potentially) different color (or texture, or pattern). Identifying which face receives a particular treatment requires some method of precisely identifying the front and back faces of the polygon. Individual faces can be culled or not displayed by (a) enabling GL_CULL_FACE and (b) calling glcullface(gl_front), glcullface(gl_back), or glcullface(gl_front_and_back). 14 7
8 Character Styles Text can be displayed in a variety of styles: As noted, different fonts (typefaces) can be used: Roman, Helvetica, Courier, Underlining can be varied: none, single, double, etc. Text can be normal, bold, italic, bold and italic. Text can be given outline or shadow treatment. Of course, text can be assigned colors. As expected, text facilities in graphics packages operate by setting certain pixels in the frame buffer. 15 Kern Each character in a proportionally-spaced font has a rectangular box called the character body. For most characters, this box completely encloses the character. Some characters, like f, j, l, and i especially in italic or slanted treatments may have portions of the character outside the character body. These portions are called kerns. 16 8
9 Kerning The purpose of kerning is to allow closer spacing of characters with kerns and other characters. For example, consider the rendering of the word filling in an italic font: 17 Ligatures Ligatures are special two-character combinations (treated as a single character by the graphics software) sometimes used in place of two individual characters. For example, ligatures might be used for character combinations like ff, fl, and fi. 18 9
10 Text Orientation and Alignment Text orientation is controlled by the direction of the character up vector, which indicates the direction characters should be placed relative to the baseline. This text is left justified. This text is right justified, so the right margin is even. This text is centered, so the text occupies an equal amount of space to the left and the right of the center of each line. Some fonts, like those for Hebrew and Arabic, are displayed right to left. V e r t i c a l T e x t 19 AntiAliasing Nyquist (1924) proved that an arbitrary periodic signal can be recreated from samples taken at twice the maximum frequency of the signal. For example, suppose we have a signal with a maximum frequency of 200 Hz (or cycles per second). Then we would need to take 400 samples (of the amplitude of the signal) per second if we wish to faithfully reproduce the signal. For example, telephone lines usually have a bandwidth (maximum frequency) of 3000 Hz. A T1 line carries 24 telephone signals, with 8-bits per sample and 8000 samples per second per telephone signal, with one additional bit for control purposes. So a T1 line s total bandwidth is ( ) 8000 = Mbps
11 So What Has This Got To Do With Graphics? The pixels that are illuminated to draw a line represent samples of the actual line. To draw a line more accurately (that is, without the jaggies ), we can employ any of several techniques. The most obvious technique is to increase the display resolution. This yields more samples of the line or curve per unit, yielding a more accurate rendering of the line. Of course there is a limit to the resolution for a display, but this is limited by how rapidly we can paint the frame buffer on the screen (since we usually must do this at least 60 times per second). 21 Supersampling Another approach is to assume we have more resolution, and then combine the intensity of the individual (virtual) pixels at the higher resolution to obtain a composite intensity for the pixels we can actually display. For example, assume we divide each pixel s rectangle into 9 smaller squares (that is, 3 3). Now compute which of these smaller squares would be illuminated (e.g. by Bresenham s algorithm), count them, and set the intensity of the single pixel to the appropriate value. With 3 intensity levels, we d map 1-3 to the lowest intensity, 4-6 to the next, and 7-9 to the highest intensity
12 Subpixel Weighting Since a pixel is displayed by aiming the electron beam at a specific location on the screen, we expect that the center of the pixel is illuminated more than the fringe areas. We can use this observation to assign weights to the subpixels in the lower-resolution cell corresponding to a single pixel. Pixels near the center are given higher weights, while those further away from the center are given lower weights. Additionally, weights from the subpixels in neighboring cells can be used to compute the intensity of the pixel in a given lower-resolution cell. 23 Filtering Techniques Even more accurate approaches, called filtering techniques, are based on the observation that the displayed pixel intensity doesn t jump from one intensity level to the next (as modeled by the subpixel weighting approach). Instead, the intensity decreases mathematically as we get further from the center of the pixel. Using this observation, we can integrate the contributions of the line or curve we re drawing to each pixel to determine its ideal intensity
13 Pixel Phasing Some display systems may be able to adjust the position within the pixel cell to which the electron beam is directed on a pixel-by-pixel basis. Using this technique, called pixel phasing, the electron beam can be shifted closer to the actual position of the line or curve being displayed. Some display systems may also be able to adjust the size of individual pixels. 25 Line Intensity Differences Recall that a horizontal or vertical line with N pixels will, without adjustment of pixel intensities, have a higher visible intensity that a diagonal line with N pixels. This is because in the diagonal line the pixels are spaced further apart (a factor of 2 at 45 degrees). To compensate, a graphics package may adjust the intensity of pixels in a line depending on the slope of the line
14 Antialiasing Area Boundaries The boundaries of filled areas can also be antialiased using similar techniques. An obvious approach is to supersample the pixels at the boundary of the area, and use the results to adjust the intensity of the boundary pixels. A slight modification of the midpoint line algorithm (see the text) can be used to yield a number between 0 and 1 that indicates how much of the cell occupied by a pixel overlaps the filled area; this can be used to set the pixel s intensity. 27 OpenGL Antialiasing Functions The OpenGL anitaliasing routines are activated by enabling GL_POINT_SMOOTH GL_LINE_SMOOTH GL_POLYGON_SMOOTH We must also enable color blending by enabling GL_BLEND. Then apply the color-blending function glblendfunc (GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA); 28 14
15 OpenGL Query Functions OpenGL state parameters can be retrieved using one of several functions: glgetbooleanv ( ) glgetintegerv ( ) glgetfloatv ( ) glgetdoublev ( ) Each of these functions takes two arguments: the name of a parameter to be retrieved, and a pointer to an array of the appropriate type which will receive the parameter value(s). 29 Example To get the current color (last specified with glcolor*) we might use: float fa[4]; glgetfloatv(gl_current_color,&fa); To determine if GL_BLEND is enabled, we might use: boolean isblendset; glgetbooleanv(gl_blend,&isblendset); or alternately (for booleans only) we could use: isblendset = glisenabled(gl_blend); 30 15
16 OpenGL Attribute Groups Attributes and other state parameters are arranged in groups (e.g. the point attribute group, the line attribute group, and the polygon attribute group). A complete set of attributes can be saved by calling: glpushattrib (groupname); where groupname is something like GL_POINT_BIT or GL_CURRENT_BIT (for color attributes). To restore the attributes, call: glpopattrib ( ); Multiple attribute groups can be selected in a single call to glpushattrib by bitwise or ing the group names
Computer Graphics. Chapter 4 Attributes of Graphics Primitives. Somsak Walairacht, Computer Engineering, KMITL 1
Computer Graphics Chapter 4 Attributes of Graphics Primitives Somsak Walairacht, Computer Engineering, KMITL 1 Outline OpenGL State Variables Point Attributes Line Attributes Fill-Area Attributes Scan-Line
More informationComputer Graphics. Attributes of Graphics Primitives. Somsak Walairacht, Computer Engineering, KMITL 1
Computer Graphics Chapter 4 Attributes of Graphics Primitives Somsak Walairacht, Computer Engineering, KMITL 1 Outline OpenGL State Variables Point Attributes t Line Attributes Fill-Area Attributes Scan-Line
More informationCS 428: Fall Introduction to. Polygon rendering: additional topics. Andrew Nealen, Rutgers, /14/2009 1
CS 428: Fall 2009 Introduction to Computer Graphics Polygon rendering: additional topics Andrew Nealen, Rutgers, 2009 10/14/2009 1 z-buffer algorithm The depth buffer was suggested in 1974 but not implemented
More information三維繪圖程式設計 3D Graphics Programming Design 第三章三維繪圖狀態設定和幾何元件繪製嘉大資工系盧天麒
三維繪圖程式設計 3D Graphics Programming Design 第三章三維繪圖狀態設定和幾何元件繪製嘉大資工系盧天麒 1 In this chapter, you will learn How to access values in the OpenGL state machine The types of primitives available in OpenGL How to
More informationEinführung in Visual Computing
Einführung in Visual Computing 186.822 Rasterization Werner Purgathofer Rasterization in the Rendering Pipeline scene objects in object space transformed vertices in clip space scene in normalized device
More informationCSCI 4620/8626. Coordinate Reference Frames
CSCI 4620/8626 Computer Graphics Graphics Output Primitives Last update: 2014-02-03 Coordinate Reference Frames To describe a picture, the world-coordinate reference frame (2D or 3D) must be selected.
More informationVISIBILITY & CULLING. Don t draw what you can t see. Thomas Larsson, Afshin Ameri DVA338, Spring 2018, MDH
VISIBILITY & CULLING Don t draw what you can t see. Thomas Larsson, Afshin Ameri DVA338, Spring 2018, MDH Visibility Visibility Given a set of 3D objects, which surfaces are visible from a specific point
More informationUNIVERSITY OF NEBRASKA AT OMAHA Computer Science 4620/8626 Computer Graphics Spring 2014 Homework Set 1 Suggested Answers
UNIVERSITY OF NEBRASKA AT OMAHA Computer Science 4620/8626 Computer Graphics Spring 2014 Homework Set 1 Suggested Answers 1. How long would it take to load an 800 by 600 frame buffer with 16 bits per pixel
More informationTime: 3 hours Max. Marks: 80. Note: Answer FIVE full questions, choosing one full question from each module.
USN 6 th Semester CBCS Scheme Model Question Paper 1 Department of Computer Science and Engineering, C. Byregowda Institute of Technology Computer Graphics and Visualization Time: 3 hours Max. Marks: 80
More informationAttributes of Graphics Primitives
ttributes for Graphics Output Primitives ttributes of Graphics Primitives in 2 points, lines polygons, circles, ellipses & other curves (also filled) characters in 3 triangles & other polygons anti-aliasing
More informationGeometry Primitives. Computer Science Department University of Malta. Sandro Spina Computer Graphics and Simulation Group. CGSG Geometry Primitives
Geometry Primitives Sandro Spina Computer Graphics and Simulation Group Computer Science Department University of Malta 1 The Building Blocks of Geometry The objects in our virtual worlds are composed
More information2D 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 information2D Drawing Primitives
THE SIERPINSKI GASKET We use as a sample problem the drawing of the Sierpinski gasket an interesting shape that has a long history and is of interest in areas such as fractal geometry. The Sierpinski gasket
More informationCSCI 4620/8626. Primitives and Attributes
CSCI 4620/8626 Computer Graphics Attributes of Graphics Primitives (Chapter 5) Last update: 2016-02-23 Primitives and Attributes The graphics primitives we ve seen so far are fundamental shapes, like lines,
More informationCS452/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 informationCOMP371 COMPUTER GRAPHICS
COMP371 COMPUTER GRAPHICS LECTURE 14 RASTERIZATION 1 Lecture Overview Review of last class Line Scan conversion Polygon Scan conversion Antialiasing 2 Rasterization The raster display is a matrix of picture
More informationE.Order of Operations
Appendix E E.Order of Operations This book describes all the performed between initial specification of vertices and final writing of fragments into the framebuffer. The chapters of this book are arranged
More informationScan line algorithm. Jacobs University Visualization and Computer Graphics Lab : Graphics and Visualization 272
Scan line algorithm The scan line algorithm is an alternative to the seed fill algorithm. It does not require scan conversion of the edges before filling the polygons It can be applied simultaneously to
More information4: Polygons and pixels
COMP711 Computer Graphics and Image Processing 4: Polygons and pixels Toby.Howard@manchester.ac.uk 1 Introduction We ll look at Properties of polygons: convexity, winding, faces, normals Scan conversion
More informationHidden 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(Refer Slide Time 03:00)
Computer Graphics Prof. Sukhendu Das Dept. of Computer Science and Engineering Indian Institute of Technology, Madras Lecture #30 Visible Surface Detection (Contd ) We continue the discussion on Visible
More informationEECE 478. Learning Objectives. Learning Objectives. Rasterization & Scenes. Rasterization. Compositing
EECE 478 Rasterization & Scenes Rasterization Learning Objectives Be able to describe the complete graphics pipeline. Describe the process of rasterization for triangles and lines. Compositing Manipulate
More information4.5 VISIBLE SURFACE DETECTION METHODES
4.5 VISIBLE SURFACE DETECTION METHODES A major consideration in the generation of realistic graphics displays is identifying those parts of a scene that are visible from a chosen viewing position. There
More informationThe Rendering Pipeline (1)
The Rendering Pipeline (1) Alessandro Martinelli alessandro.martinelli@unipv.it 30 settembre 2014 The Rendering Pipeline (1) Rendering Architecture First Rendering Pipeline Second Pipeline: Illumination
More informationRenderer Implementation: Basics and Clipping. Overview. Preliminaries. David Carr Virtual Environments, Fundamentals Spring 2005
INSTITUTIONEN FÖR SYSTEMTEKNIK LULEÅ TEKNISKA UNIVERSITET Renderer Implementation: Basics and Clipping David Carr Virtual Environments, Fundamentals Spring 2005 Feb-28-05 SMM009, Basics and Clipping 1
More informationRendering. 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 informationFrom Vertices to Fragments: Rasterization. Reading Assignment: Chapter 7. Special memory where pixel colors are stored.
From Vertices to Fragments: Rasterization Reading Assignment: Chapter 7 Frame Buffer Special memory where pixel colors are stored. System Bus CPU Main Memory Graphics Card -- Graphics Processing Unit (GPU)
More informationCS 325 Computer Graphics
CS 325 Computer Graphics 02 / 06 / 2012 Instructor: Michael Eckmann Today s Topics Questions? Comments? Antialiasing Polygons Interior points Fill areas tiling halftoning dithering Antialiasing Aliasing
More informationComputer graphic -- Programming with OpenGL I
Computer graphic -- Programming with OpenGL I A simple example using OpenGL Download the example code "basic shapes", and compile and run it Take a look at it, and hit ESC when you're done. It shows the
More informationLine 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 informationUNIT -8 IMPLEMENTATION
UNIT -8 IMPLEMENTATION 1. Discuss the Bresenham s rasterization algorithm. How is it advantageous when compared to other existing methods? Describe. (Jun2012) 10M Ans: Consider drawing a line on a raster
More informationHow shapes are represented in 3D Graphics. Aims and objectives By the end of the lecture you will be able to describe
Today s lecture Today we will learn about The mathematics of 3D space vectors How shapes are represented in 3D Graphics Modelling shapes as polygons Aims and objectives By the end of the lecture you will
More informationMore Visible Surface Detection. CS116B Chris Pollett Mar. 16, 2005.
More Visible Surface Detection CS116B Chris Pollett Mar. 16, 2005. Outline The A-Buffer Method The Scan-Line Method The Depth Sorting Method BSP Trees, Area Subdivision, and Octrees Wire-frame Visibility
More informationFROM 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 informationThe Application Stage. The Game Loop, Resource Management and Renderer Design
1 The Application Stage The Game Loop, Resource Management and Renderer Design Application Stage Responsibilities 2 Set up the rendering pipeline Resource Management 3D meshes Textures etc. Prepare data
More informationReal-Time Graphics Architecture
Real-Time Graphics Architecture Kurt Akeley Pat Hanrahan http://www.graphics.stanford.edu/courses/cs448a-01-fall Geometry Outline Vertex and primitive operations System examples emphasis on clipping Primitive
More informationChapter 3. Sukhwinder Singh
Chapter 3 Sukhwinder Singh PIXEL ADDRESSING AND OBJECT GEOMETRY Object descriptions are given in a world reference frame, chosen to suit a particular application, and input world coordinates are ultimately
More informationCS 543: Computer Graphics. Rasterization
CS 543: Computer Graphics Rasterization Robert W. Lindeman Associate Professor Interactive Media & Game Development Department of Computer Science Worcester Polytechnic Institute gogo@wpi.edu (with lots
More information0. Introduction: What is Computer Graphics? 1. Basics of scan conversion (line drawing) 2. Representing 2D curves
CSC 418/2504: Computer Graphics Course web site (includes course information sheet): http://www.dgp.toronto.edu/~elf Instructor: Eugene Fiume Office: BA 5266 Phone: 416 978 5472 (not a reliable way) Email:
More informationCSCI 4620/8626. Computer Graphics Clipping Algorithms (Chapter 8-5 )
CSCI 4620/8626 Computer Graphics Clipping Algorithms (Chapter 8-5 ) Last update: 2016-03-15 Clipping Algorithms A clipping algorithm is any procedure that eliminates those portions of a picture outside
More informationGraphics and Interaction Rendering pipeline & object modelling
433-324 Graphics and Interaction Rendering pipeline & object modelling Department of Computer Science and Software Engineering The Lecture outline Introduction to Modelling Polygonal geometry The rendering
More informationCEng 477 Introduction to Computer Graphics Fall 2007
Visible Surface Detection CEng 477 Introduction to Computer Graphics Fall 2007 Visible Surface Detection Visible surface detection or hidden surface removal. Realistic scenes: closer objects occludes the
More informationGraphics (Output) Primitives. Chapters 3 & 4
Graphics (Output) Primitives Chapters 3 & 4 Graphic Output and Input Pipeline Scan conversion converts primitives such as lines, circles, etc. into pixel values geometric description a finite scene area
More informationRasterization, or What is glbegin(gl_lines) really doing?
Rasterization, or What is glbegin(gl_lines) really doing? Course web page: http://goo.gl/eb3aa February 23, 2012 Lecture 4 Outline Rasterizing lines DDA/parametric algorithm Midpoint/Bresenham s algorithm
More informationChapter 8: Implementation- Clipping and Rasterization
Chapter 8: Implementation- Clipping and Rasterization Clipping Fundamentals Cohen-Sutherland Parametric Polygons Circles and Curves Text Basic Concepts: The purpose of clipping is to remove objects or
More informationPage 1. Area-Subdivision Algorithms z-buffer Algorithm List Priority Algorithms BSP (Binary Space Partitioning Tree) Scan-line Algorithms
Visible Surface Determination Visibility Culling Area-Subdivision Algorithms z-buffer Algorithm List Priority Algorithms BSP (Binary Space Partitioning Tree) Scan-line Algorithms Divide-and-conquer strategy:
More informationCOMP30019 Graphics and Interaction Rendering pipeline & object modelling
COMP30019 Graphics and Interaction Rendering pipeline & object modelling Department of Computer Science and Software Engineering The Lecture outline Introduction to Modelling Polygonal geometry The rendering
More informationLecture outline. COMP30019 Graphics and Interaction Rendering pipeline & object modelling. Introduction to modelling
Lecture outline COMP30019 Graphics and Interaction Rendering pipeline & object modelling Department of Computer Science and Software Engineering The Introduction to Modelling Polygonal geometry The rendering
More informationReal-Time Graphics Architecture
Real-Time Graphics Architecture Kurt Akeley Pat Hanrahan http://www.graphics.stanford.edu/courses/cs448a-01-fall Rasterization Outline Fundamentals Examples Special topics (Depth-buffer, cracks and holes,
More informationLine 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 informationVisible Surface Detection. (Chapt. 15 in FVD, Chapt. 13 in Hearn & Baker)
Visible Surface Detection (Chapt. 15 in FVD, Chapt. 13 in Hearn & Baker) 1 Given a set of 3D objects and a viewing specifications, determine which lines or surfaces of the objects should be visible. A
More informationOpenGL Graphics System. 2D Graphics Primitives. Drawing 2D Graphics Primitives. 2D Graphics Primitives. Mathematical 2D Primitives.
D Graphics Primitives Eye sees Displays - CRT/LCD Frame buffer - Addressable pixel array (D) Graphics processor s main function is to map application model (D) by projection on to D primitives: points,
More informationCSE 167: Introduction to Computer Graphics Lecture #9: Visibility. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2018
CSE 167: Introduction to Computer Graphics Lecture #9: Visibility Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2018 Announcements Midterm Scores are on TritonEd Exams to be
More information(Refer Slide Time: 00:02:00)
Computer Graphics Prof. Sukhendu Das Dept. of Computer Science and Engineering Indian Institute of Technology, Madras Lecture - 18 Polyfill - Scan Conversion of a Polygon Today we will discuss the concepts
More information(Refer Slide Time 05:03 min)
Computer Graphics Prof. Sukhendu Das Dept. of Computer Science and Engineering Indian Institute of Technology, Madras Lecture # 27 Visible Surface Detection (Contd ) Hello and welcome everybody to the
More informationBuffers, Textures, Compositing, and Blending. Overview. Buffers. David Carr Virtual Environments, Fundamentals Spring 2005 Based on Slides by E.
INSTITUTIONEN FÖR SYSTEMTEKNIK LULEÅ TEKNISKA UNIVERSITET Buffers, Textures, Compositing, and Blending David Carr Virtual Environments, Fundamentals Spring 2005 Based on Slides by E. Angel Compositing,
More informationgraphics 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 informationgraphics 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 informationComputer Graphics. Lecture 9 Hidden Surface Removal. Taku Komura
Computer Graphics Lecture 9 Hidden Surface Removal Taku Komura 1 Why Hidden Surface Removal? A correct rendering requires correct visibility calculations When multiple opaque polygons cover the same screen
More informationComputergrafik. 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 informationGuide to WB Annotations
Guide to WB Annotations 04 May 2016 Annotations are a powerful new feature added to Workbench v1.2.0 (Released May 2016) for placing text and symbols within wb_view tabs and windows. They enable generation
More informationIncremental Form. Idea. More efficient if we look at d k, the value of the decision variable at x = k
Idea 1 m 0 candidates last pixel Note that line could have passed through any part of this pixel Decision variable: d = x(a-b) d is an integer d < 0 use upper pixel d > 0 use lower pixel Incremental Form
More informationAccess 2003 Introduction to Report Design
Access 2003 Introduction to Report Design TABLE OF CONTENTS CREATING A REPORT IN DESIGN VIEW... 3 BUILDING THE REPORT LAYOUT... 5 SETTING THE REPORT WIDTH... 5 DISPLAYING THE FIELD LIST... 5 WORKING WITH
More informationRasterization: Geometric Primitives
Rasterization: Geometric Primitives Outline Rasterizing lines Rasterizing polygons 1 Rasterization: What is it? How to go from real numbers of geometric primitives vertices to integer coordinates of pixels
More informationCS602 Midterm Subjective Solved with Reference By WELL WISHER (Aqua Leo)
CS602 Midterm Subjective Solved with Reference By WELL WISHER (Aqua Leo) www.vucybarien.com Question No: 1 What are the two focusing methods in CRT? Explain briefly. Page no : 26 1. Electrostatic focusing
More informationPOWERVR MBX. Technology Overview
POWERVR MBX Technology Overview Copyright 2009, Imagination Technologies Ltd. All Rights Reserved. This publication contains proprietary information which is subject to change without notice and is supplied
More informationCSE 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 informationToday s Agenda. Basic design of a graphics system. Introduction to OpenGL
Today s Agenda Basic design of a graphics system Introduction to OpenGL Image Compositing Compositing one image over another is most common choice can think of each image drawn on a transparent plastic
More informationRendering. Basic Math Review. Rasterizing Lines and Polygons Hidden Surface Remove Multi-pass Rendering with Accumulation Buffers.
Rendering Rasterizing Lines and Polygons Hidden Surface Remove Multi-pass Rendering with Accumulation Buffers Basic Math Review Slope-Intercept Formula For Lines Given a third point on the line: P = (X,Y)
More informationGraphics Programming
Graphics Programming 3 rd Week, 2011 OpenGL API (1) API (application programming interface) Interface between an application program and a graphics system Application Program OpenGL API Graphics Library
More informationRasterization 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 informationUnit 1, Lesson 1: Moving in the Plane
Unit 1, Lesson 1: Moving in the Plane Let s describe ways figures can move in the plane. 1.1: Which One Doesn t Belong: Diagrams Which one doesn t belong? 1.2: Triangle Square Dance m.openup.org/1/8-1-1-2
More informationLecture 3 Advanced Computer Graphics (CS & SE )
Lecture 3 Advanced Computer Graphics (CS & SE 233.420) Programming with OpenGL Program Structure Primitives Attributes and States Programming in three dimensions Inputs and Interaction Working with Callbacks
More informationComputer Graphics (CS 543) Lecture 10: Rasterization and Antialiasing
Computer Graphics (CS 543) Lecture 10: Rasterization and Antialiasing Prof Emmanuel Agu Computer Science Dept. Worcester Polytechnic Institute (WPI) Recall: Rasterization Rasterization (scan conversion)
More informationModels 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 informationCSE 167: Introduction to Computer Graphics Lecture #4: Vertex Transformation
CSE 167: Introduction to Computer Graphics Lecture #4: Vertex Transformation Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2013 Announcements Project 2 due Friday, October 11
More informationCS 432 Interactive Computer Graphics
CS 432 Interactive Computer Graphics Lecture 2 Part 1 Primitives and Buffers Matt Burlick - Drexel University - CS 432 1 Rendering in OpenGL Ok, so now we want to actually draw stuff! OpenGL (like most
More informationCS 4731: Computer Graphics Lecture 21: Raster Graphics: Drawing Lines. Emmanuel Agu
CS 4731: Computer Graphics Lecture 21: Raster Graphics: Drawing Lines Emmanuel Agu 2D Graphics Pipeline Clipping Object World Coordinates Applying world window Object subset window to viewport mapping
More informationImage Precision Silhouette Edges
Image Precision Silhouette Edges by Ramesh Raskar and Michael Cohen Presented at I3D 1999 Presented by Melanie Coggan Outline Motivation Previous Work Method Results Conclusions Outline Motivation Previous
More informationCS559: Computer Graphics. Lecture 12: Antialiasing & Visibility Li Zhang Spring 2008
CS559: Computer Graphics Lecture 12: Antialiasing & Visibility Li Zhang Spring 2008 Antialising Today Hidden Surface Removal Reading: Shirley ch 3.7 8 OpenGL ch 1 Last time A 2 (x 0 y 0 ) (x 1 y 1 ) P
More informationThe 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 informationClipping & Culling. Lecture 11 Spring Trivial Rejection Outcode Clipping Plane-at-a-time Clipping Backface Culling
Clipping & Culling Trivial Rejection Outcode Clipping Plane-at-a-time Clipping Backface Culling Lecture 11 Spring 2015 What is Clipping? Clipping is a procedure for spatially partitioning geometric primitives,
More informationBuilding Models. Objectives. Introduce simple data structures for building polygonal models. OpenGL vertex arrays. Vertex lists Edge lists
Building Models Objectives Introduce simple data structures for building polygonal models Vertex lists Edge lists OpenGL vertex arrays 2 Representing a Mesh Consider a mesh v 5 v e e e 3 v 9 8 8 v e 4
More informationOrthogonal 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 informationThis library uses only GL functions but contains code for creating common objects and simplifying viewing.
PES Institute of Technology, Bangalore South Campus (Formerly PES School of Engineering) (Hosur Road, 1KM before Electronic City, Bangalore-560 100) INTERNAL TEST (SCHEME AND SOLUTION) 1 Subject Name:
More informationWorld Coordinate System
World Coordinate System Application Model Application Program Graphics System Workstation Normally, the User or Object Coordinate System. World Coordinate Window: A subset of the world coordinate system,
More informationNormalized Device Coordinate System (NDC) World Coordinate System. Example Coordinate Systems. Device Coordinate System
World Coordinate System Normalized Device Coordinate System (NDC) Model Program Graphics System Workstation Model Program Graphics System Workstation Normally, the User or Object Coordinate System. World
More informationPESIT Bangalore South Campus Hosur road, 1km before Electronic City, Bengaluru -100 Department of Computer Science
INTERNAL ASSESSMENT TEST 2 Solution Date : 30.03.15 Max Marks : 50 Subject & Code : Computer Graphics and Visualization/10CS65 Section : A, B and C Name of faculty : Ms. Sarasvathi V/ Ms. Archana Time
More informationUnit 2 Output Primitives and their Attributes
Unit 2 Output Primitives and their Attributes Shapes and colors of the objects can be described internally with pixel arrays or with sets of basic geometric structures, such as straight line segments and
More informationOverview. 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 informationMotivation. Culling Don t draw what you can t see! What can t we see? Low-level Culling
Motivation Culling Don t draw what you can t see! Thomas Larsson Mälardalen University April 7, 2016 Image correctness Rendering speed One day we will have enough processing power!? Goals of real-time
More informationComputer Graphics. Shadows
Computer Graphics Lecture 10 Shadows Taku Komura Today Shadows Overview Projective shadows Shadow texture Shadow volume Shadow map Soft shadows Why Shadows? Shadows tell us about the relative locations
More informationRobust 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 informationThe 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 informationDeferred 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 informationAdvanced Lighting Techniques Due: Monday November 2 at 10pm
CMSC 23700 Autumn 2015 Introduction to Computer Graphics Project 3 October 20, 2015 Advanced Lighting Techniques Due: Monday November 2 at 10pm 1 Introduction This assignment is the third and final part
More informationOpenGL: Open Graphics Library. Introduction to OpenGL Part II. How do I render a geometric primitive? What is OpenGL
OpenGL: Open Graphics Library Introduction to OpenGL Part II CS 351-50 Graphics API ( Application Programming Interface) Software library Layer between programmer and graphics hardware (and other software
More informationWORD XP/2002 USER GUIDE. Task- Formatting a Document in Word 2002
University of Arizona Information Commons Training Page 1 of 21 WORD XP/2002 USER GUIDE Task- Formatting a Document in Word 2002 OBJECTIVES: At the end of this course students will have a basic understanding
More informationCS488 2D Graphics. Luc RENAMBOT
CS488 2D Graphics Luc RENAMBOT 1 Topics Last time, hardware and frame buffer Now, how lines and polygons are drawn in the frame buffer. Then, how 2D and 3D models drawing into the frame buffer Then, more
More informationSurface shading: lights and rasterization. Computer Graphics CSE 167 Lecture 6
Surface shading: lights and rasterization Computer Graphics CSE 167 Lecture 6 CSE 167: Computer Graphics Surface shading Materials Lights Rasterization 2 Scene data Rendering pipeline Modeling and viewing
More information