Graphics Overview ECE2893. Lecture 19. ECE2893 Graphics Overview Spring / 15
|
|
- Eileen Cobb
- 5 years ago
- Views:
Transcription
1 Graphics Overview ECE2893 Lecture 19 ECE2893 Graphics Overview Spring / 15
2 Graphical Displays 1 Virtually all modern computers use a full color Graphical Display device. 2 It displays images, text, animations, and movies. 3 A display consists of a rectangular (2-Dimensional) array of Picture Elements, or Pixels. 4 Each pixel has individually settable color values for the primary colors that make up the color of the pixel. Red Green Blue 5 Most display interfaces use 8 bits to represent the color of each of the three colors, for a total of 24 bits. 6 Since we use 24 bits to represent the color of the pixel, there are a total of 2 24 possible color values, or about 16 million. 7 Since most computers use 32 bit integers, it is often the case that the remaining 8 bits are used for the transparency, or Alpha value. 8 There are other ways to represent colors in the computer display system. HSV Hue, Saturation, Value CMYK Cyan, Magenta, Yellow, Key. ECE2893 Graphics Overview Spring / 15
3 Graphic Hardware 1 All modern computers use separate graphics interface hardware to manage the pixels shown on the display. 2 The graphics hardware card has its own memory that is used to store internally the current state of every pixel on the screen. 3 The capabilities of the display hardware (the monitor), and the amount of memory available on the graphics interface card, determines the pixel density and size on the display. A typical Mac laptop has up to 1440 pixels in the x direction and 900 pixels in the y direction. 4 They often use double buffering. One half of the on card memory is used to represent the display state The other half can be changed by the application to (for example) create an animation of a moving object. 5 Modern graphics hardware uses one or more high speed, custom designed Graphics Processing Unit, or GPU. 6 The GPU is designed to efficiently (and quickly) determine the value of a pixel considering lighting, shading, occulsion, and other graphics factors. ECE2893 Graphics Overview Spring / 15
4 Graphics Hardware, continued 1 Applications rarely, if even, directly access the memory in the graphics interface card. 2 Rather, they use a mirror image of the graphics memory in main memory on the computer. 3 The application then notifies the graphics interface card when to update the pixels (and which pixels to update). 4 The updated pixels are copied (usually by specialized hardware) from the main memory to the on board memory on the graphics interface card. 5 Good programming practice suggests we only update those pixels on the display device that have actually changed, rather than every single pixel. ECE2893 Graphics Overview Spring / 15
5 The GDisplay API DISCLAIMER! This API is non standard and was created by the ECE2893 instructor to provide a simple and easy to understand way to create and manage graphics. 1 In order to manage a graphical window with GDisplay you must first create a new window. There are two ways to do this: 1 Create a blank window of a specified width and height GDisplay BlankDisplay(int w, int h); 2 Create a window that contains a given image file (JPG or PNG) GDisplay LoadImage(const char* filename); 2 Both of the window creation functions return a variable of type GDisplay. This is a blind pointer, also sometimes called a Cookie or Handle. It is (under the covers) a pointer; however your program does not know what it points to. It cannot be de referenced. It is used however in later API calls to indicate which window is being managed. ECE2893 Graphics Overview Spring / 15
6 The GDisplay API, continued 1 The height and width (in pixels) for any window can be queried: int Width(GDisplay window); int Height(GDisplay window); 2 You can get a pointer to the memory image of the pixels on the display. The pixels are of type GColor. GColor * GetImageData(GDisplay window); 3 The GColor type is a structure with an 8 bit value for each of the red, green, and blue color components, plus an 8 bit transparency (alpha) value. // Define the GColor structure typedef struct unsigned char blue; // The red component unsigned char green; // The blue component unsigned char red; // The green component unsigned char alpha; // The transparency GColor; ECE2893 Graphics Overview Spring / 15
7 The GDisplay API, continued 1 Once you have obtained a pointer to the image data, you can read and write the individual pixels. 2 Remember that the memory image is a 1 D array of pixels, but the actual image is 2 D. 3 You will likely need a macro or function to convert from the x and y coordinates in the 2 D system to the array index in the 1 D system. 4 If you have changed any of the pixels, you must then Update them to the graphics hardware. There are two ways to do this: void Update(GDisplay g); This copies every single pixel from the memory image to the graphics hardware memory. void Update(GDisplay g,int x,int y,int w,int h); This copies a rectangular regiion at location x, y, and extending for w and h (width and height). This is more efficient and is generally preferred. 5 Often, we want the animation to proceed at a relatively slow rate, rather than as fast as possible. void SetUpdateRate(GDisplay g, int fps); This limits the updates to no more than fps frames per second. ECE2893 Graphics Overview Spring / 15
8 The GDisplay API, continued 1 We almost always want to leave the display window visible on the screen until it is closed (with a mouse click on the close icon). void WaitForClose(); This waits for all windows to close before returning. 2 For convenience, there is a helper function that constructs a variable of type GColor, given a red, green, and blue component. GColor RGBColor(unsigned char red, unsigned char green, unsigned char blue); ECE2893 Graphics Overview Spring / 15
9 The Pixel Array X Y (0,0) (1,0) (2,0) (3,0) (4,0) (5,0) (6,0) (7,0) (0,1) (1,1) (2,1) (3,1) (4,1) (5,1) (6,1) (7,1) (0,2) (1,2) (2,2) (3,2) (4,2) (5,2) (6,2) (7,2) (0,3) (1,3) (2,3) (3,3) (4,3) (5,3) (6,3) (7,3) (0,4) (1,4) (2,4) (3,4) (4,4) (5,4) (6,4) (7,4) (0,5) (1,5) (2,5) (3,5) (4,5) (5,5) (6,5) (7,5) (0,6) (1,6) (2,6) (3,6) (4,6) (5,6) (6,6) (7,6) (0,7) (1,7) (2,7) (3,7) (4,7) (5,7) (6,7) (7,7) Memory (0,0) (1,0) (2,0) (3,0) (4,0) (5,0) (6,0) (7,0) (0,1) (1,1) (2,1) (3,1) (4,1) (5,1) (6,1) (7,1) ECE2893 Graphics Overview Spring / 15
10 Line Drawing 1 Given two endpoints, (x 0, y 0 ), (x 1, y 1 ), determine which pixels between (x 0, y 0 ) and (x 1, y 1 ) lie on the line connecting the two points. 2 Here is a possible algorithm: 1 IF x 1 < x 0 Swap the two endpoints. 2 Compute the angle Θ of the line, relative to the horizontal line intersecting (x 0, y 0 ). 3 SET x = x 0 4 WHILE x < x 1 R = (x x 0 )/ cos(θ) y = R sin(θ) SetPixel(x, y 0 + y) SET x = x This works fine as long as (x 1 x 0 ) > (y 1 y 0 ). 4 We need to revise the algorithm for other cases (left as an exercise to the reader!) 5 This also uses a significant amount of floating point math, which is computationally intensive. ECE2893 Graphics Overview Spring / 15
11 Bresenham s Mid Point Line Algorithm void MidpointLine ( i n t x0, i n t y0, i n t x1, i n t y1 ) i n t dx = x1 x0 ; i n t dy = y1 y0 ; i n t d = 2 dy dx ; i n t incre = 2 dy ; / / East increment i n t incrne = 2 ( dy dx ) ; / / Northeast increment i n t x = x0 ; / / I n i t i a l x i n t y = y0 ; / / I n i t i a l y S e t P i x e l ( x, y ) ; / / I n i t i a l l i n e p o i n t while ( x < x1 ) i f ( d <= 0) d += incre ; / / Move East else d += incrne ; / / Move Northeast y ++; / / and advance y x ++; / / Advance x S e t P i x el ( x, y ) ; / / Next p i x e l i n l i n e ECE2893 Graphics Overview Spring / 15
12 Bresenham s Mid Point Circle Algorithm void M i d p o i n t C i r c l e ( i n t r a d i u s ) i n t x = 0; i n t y = r a d i u s ; double d = 5. 0 / 4. 0 r a d ius ; S e tpixel ( x, y ) ; while ( y > x ) i f ( d < 0) d += 2.0 x ; / / Select East else d += 2.0 ( x y ) ; / / Select SE y ; x ++; S e tpixel ( x, y ) ; ECE2893 Graphics Overview Spring / 15
13 Image Reflection 1 Using the GDisplay API, we can easily reflect an image horizontally or vertically. 2 For horizontal reflection: Load the image in GDisplay window d Set w = Width(d); Set h = Height(d); Create a blank window of size w, h in GDisplay window e. Loop over the entire image d with nested for loops for y and x. Read the pixel from window d at location (x, y). Set x0 = w x 1 Store that pixel in window e at location (x0, y); 3 For vertical reflection, the algorithm is the same except the last two steps: Set y0 = h y 1 Store that pixel in window e at location (x, y0); ECE2893 Graphics Overview Spring / 15
14 Image Reduction 1 We can reduce the size of an image by a factor of two. Note: this algorithm assumes the image width and height are an even factor of two. Load the image in GDisplay window d Set w = Width(d); Set h = Height(d); Create a blank window of size w/2, h/2 in GDisplay window e. Loop over the entire image d with nested for loops for y and x. However, use only the even numbered x and y coordinates. In other words, for the for loop increment, add two instead of one. Compute the average color (for each red/green/blue) of the pixels at locations (x, y), (x + 1, y), (x, y + 1), (x + 1, y + 1) Store a new pixel with the average of each color in window e at location (x/2, y/2); 2 You can also just set the pixel in window e to the value in location (x, y) in window d, rather than averaging the four pixels. This produces an image that is not quite a good. ECE2893 Graphics Overview Spring / 15
15 Image Expansion 1 We can expand the size of an image by a factor of two. Load the image in GDisplay window d Set w = Width(d); Set h = Height(d); Create a blank window of size w 2, h 2 in GDisplay window e. Loop over the entire image d with nested for loops for y and x. Read the pixel from window d at location (x, y). Store that pixel in the following four locations in window e: (2x, 2y), (2x + 1, 2y), (2x, 2y + 1), (2x + 1, 2y + 1) 2 This results in a larger image, but it is a bit blocky, since we can t really add any detail in the larger image that is not present in the smaller image. ECE2893 Graphics Overview Spring / 15
Scan Converting Lines
Scan Conversion 1 Scan Converting Lines Line Drawing Draw a line on a raster screen between two points What s wrong with the statement of the problem? it doesn t say anything about which points are allowed
More informationCpSc 101, Fall 2015 Lab7: Image File Creation
CpSc 101, Fall 2015 Lab7: Image File Creation Goals Construct a C language program that will produce images of the flags of Poland, Netherland, and Italy. Image files Images (e.g. digital photos) consist
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 informationRaster Scan Displays. Framebuffer (Black and White)
Raster Scan Displays Beam of electrons deflected onto a phosphor coated screen Phosphors emit light when excited by the electrons Phosphor brightness decays -- need to refresh the display Phosphors make
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 informationMCS 2514 Fall 2012 Programming Assignment 3 Image Processing Pointers, Class & Dynamic Data Due: Nov 25, 11:59 pm.
MCS 2514 Fall 2012 Programming Assignment 3 Image Processing Pointers, Class & Dynamic Data Due: Nov 25, 11:59 pm. This project is called Image Processing which will shrink an input image, convert a color
More information1 Introduction to Graphics
1 1.1 Raster Displays The screen is represented by a 2D array of locations called pixels. Zooming in on an image made up of pixels The convention in these notes will follow that of OpenGL, placing the
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 informationmith College Computer Science CSC103 How Computers Work Week 7 Fall 2017 Dominique Thiébaut
mith College Computer Science CSC103 How Computers Work Week 7 Fall 2017 Dominique Thiébaut dthiebaut@smith.edu Important Review Does the animation leave a trace? Are the moving objects move without a
More information(Refer Slide Time: 00:03:51)
Computer Graphics Prof. Sukhendu Das Dept. of Computer Science and Engineering Indian Institute of Technology, Madras Lecture 17 Scan Converting Lines, Circles and Ellipses Hello and welcome everybody
More informationOutput models Drawing Rasterization Color models
Output models Drawing Rasterization olor models Fall 2004 6.831 UI Design and Implementation 1 Fall 2004 6.831 UI Design and Implementation 2 omponents Graphical objects arranged in a tree with automatic
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 informationOutput Primitives Lecture: 3. Lecture 3. Output Primitives. Assuming we have a raster display, a picture is completely specified by:
Lecture 3 Output Primitives Assuming we have a raster display, a picture is completely specified by: - A set of intensities for the pixel positions in the display. - A set of complex objects, such as trees
More informationComputer Graphics Prof. Sukhendu Das Dept. of Computer Science and Engineering Indian Institute of Technology, Madras Lecture - 14
Computer Graphics Prof. Sukhendu Das Dept. of Computer Science and Engineering Indian Institute of Technology, Madras Lecture - 14 Scan Converting Lines, Circles and Ellipses Hello everybody, welcome again
More informationCMPSCI 119 LAB #2 Greebles / Anime Eyes Professor William T. Verts
CMPSCI 119 LAB #2 Greebles / Anime Eyes Professor William T. Verts The goal of this Python programming assignment is to write your own code inside a provided program framework, with some new graphical
More informationScan Converting Circles
Scan Conversion Algorithms CS 460 Computer Graphics Professor Richard Eckert Circles Ellipses and Other 2-D Curves Text February 16, 2004 Scan Converting Circles Given: Center: (h,k) Radius: r Equation:
More informationComputer Graphics Fundamentals. Jon Macey
Computer Graphics Fundamentals Jon Macey jmacey@bournemouth.ac.uk http://nccastaff.bournemouth.ac.uk/jmacey/ 1 1 What is CG Fundamentals Looking at how Images (and Animations) are actually produced in
More informationAnnouncements. Midterms graded back at the end of class Help session on Assignment 3 for last ~20 minutes of class. Computer Graphics
Announcements Midterms graded back at the end of class Help session on Assignment 3 for last ~20 minutes of class 1 Scan Conversion Overview of Rendering Scan Conversion Drawing Lines Drawing Polygons
More informationScan Conversion. Drawing Lines Drawing Circles
Scan Conversion Drawing Lines Drawing Circles 1 How to Draw This? 2 Start From Simple How to draw a line: y(x) = mx + b? 3 Scan Conversion, a.k.a. Rasterization Ideal Picture Raster Representation Scan
More informationBridging Graphics. Lori Scarlatos, January 2007
Bridging Graphics Lori Scarlatos January 2007 Introduction Computer graphics have one clear advantage over other types of programs: with computer graphics you can literally see whether your program is
More informationCOMP30019 Graphics and Interaction Scan Converting Polygons and Lines
COMP30019 Graphics and Interaction Scan Converting Polygons and Lines Department of Computer Science and Software Engineering The Lecture outline Introduction Scan conversion Scan-line algorithm Edge coherence
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 informationComputer Graphics 7: Viewing in 3-D
Computer Graphics 7: Viewing in 3-D In today s lecture we are going to have a look at: Transformations in 3-D How do transformations in 3-D work? Contents 3-D homogeneous coordinates and matrix based transformations
More informationSolution Notes. COMP 151: Terms Test
Family Name:.............................. Other Names:............................. ID Number:............................... Signature.................................. Solution Notes COMP 151: Terms
More informationmith College Computer Science CSC103 How Computers Work Week 6 Fall 2017 Dominique Thiébaut
mith College Computer Science CSC103 How Computers Work Week 6 Fall 2017 Dominique Thiébaut dthiebaut@smith.edu Ben Fry on Processing... http://www.youtube.com/watch?&v=z-g-cwdnudu An Example Mouse 2D
More informationCOMP Preliminaries Jan. 6, 2015
Lecture 1 Computer graphics, broadly defined, is a set of methods for using computers to create and manipulate images. There are many applications of computer graphics including entertainment (games, cinema,
More informationOverview of Computer Graphics
Application of Computer Graphics UNIT- 1 Overview of Computer Graphics Computer-Aided Design for engineering and architectural systems etc. Objects maybe displayed in a wireframe outline form. Multi-window
More information? Which intermediate. Recall: Line drawing algorithm. Programmer specifies (x,y) of end pixels Need algorithm to determine pixels on line path
Recall: Line drawing algorithm Programmer specifies (x,y) of end pixels Need algorithm to determine pixels on line path 8 7 6 5 4 3 2 1 (3,2) (9,6) Line: (3,2) -> (9,6)? Which intermediate pixels to turn
More information+ Inheritance. Sometimes we need to create new more specialized types that are similar to types we have already created.
+ Inheritance + Inheritance Classes that we design in Java can be used to model some concept in our program. For example: Pokemon a = new Pokemon(); Pokemon b = new Pokemon() Sometimes we need to create
More informationCS 4300 Computer Graphics. Prof. Harriet Fell Fall 2012 Lecture 5 September 13, 2012
CS 4300 Computer Graphics Prof. Harriet Fell Fall 2012 Lecture 5 September 13, 2012 1 Today s Topics Vectors review Shirley et al. 2.4 Rasters Shirley et al. 3.0-3.2.1 Rasterizing Lines Shirley et al.
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 informationChapter 6 Formatting Graphic Objects
Impress Guide Chapter 6 OpenOffice.org Copyright This document is Copyright 2007 by its contributors as listed in the section titled Authors. You can distribute it and/or modify it under the terms of either
More informationEL6483: Brief Overview of C Programming Language
EL6483: Brief Overview of C Programming Language EL6483 Spring 2016 EL6483 EL6483: Brief Overview of C Programming Language Spring 2016 1 / 30 Preprocessor macros, Syntax for comments Macro definitions
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 informationChapter 3. Texture mapping. Learning Goals: Assignment Lab 3: Implement a single program, which fulfills the requirements:
Chapter 3 Texture mapping Learning Goals: 1. To understand texture mapping mechanisms in VRT 2. To import external textures and to create new textures 3. To manipulate and interact with textures 4. To
More informationRepresentation of image data
Representation of image data Images (e.g. digital photos) consist of a rectanglular array of discrete picture elements called pixels. An image consisting of 200 pixels rows of 300 pixels per row contains
More informationCISC 1600, Lab 2.1: Processing
CISC 1600, Lab 2.1: Processing Prof Michael Mandel 1 Getting set up For this lab, we will be using Sketchpad, a site for building processing sketches online using processing.js. 1.1. Go to http://cisc1600.sketchpad.cc
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 informationPerspective matrix, OpenGL style
Perspective matrix, OpenGL style Stefan Gustavson May 7, 016 Gortler s book presents perspective transformation using a slightly different matrix than what is common in OpenGL applications. This document
More informationEF432. Introduction to spagetti and meatballs
EF432 Introduction to spagetti and meatballs CSC 418/2504: Computer Graphics Course web site (includes course information sheet): http://www.dgp.toronto.edu/~karan/courses/418/fall2015 Instructor: Karan
More informationCS 464 Review. Review of Computer Graphics for Final Exam
CS 464 Review Review of Computer Graphics for Final Exam Goal: Draw 3D Scenes on Display Device 3D Scene Abstract Model Framebuffer Matrix of Screen Pixels In Computer Graphics: If it looks right then
More informationSpring CS Homework 3 p. 1. CS Homework 3
Spring 2018 - CS 111 - Homework 3 p. 1 Deadline 11:59 pm on Friday, February 9, 2018 Purpose CS 111 - Homework 3 To try out another testing function, check-within, to get more practice using the design
More informationCMPSCI 119 LAB #2 Anime Eyes Professor William T. Verts
CMPSCI 119 LAB #2 Anime Eyes Professor William T. Verts The goal of this Python programming assignment is to write your own code inside a provided program framework, with some new graphical and mathematical
More informationProgramming Project 1
Programming Project 1 Handout 6 CSCI 134: Fall, 2016 Guidelines A programming project is a laboratory that you complete on your own, without the help of others. It is a form of take-home exam. You may
More information4 4 4 RGB LED Cube kit Instruction Manual
4 4 4 RGB LED Cube kit Instruction Manual 1.How to solder the LED? There are 64 LEDs, every LED has 4 pins as per the below picture, The LEDs pin1 should be soldered to hole 1 on the pcb. Pin2 to pcb hole
More informationScalar Field Visualization I
Scalar Field Visualization I What is a Scalar Field? The approximation of certain scalar function in space f(x,y,z). Image source: blimpyb.com f What is a Scalar Field? The approximation of certain scalar
More informationComputer Graphics. - Rasterization - Philipp Slusallek
Computer Graphics - Rasterization - Philipp Slusallek Rasterization Definition Given some geometry (point, 2D line, circle, triangle, polygon, ), specify which pixels of a raster display each primitive
More informationRASTERIZING POLYGONS IN IMAGE SPACE
On-Line Computer Graphics Notes RASTERIZING POLYGONS IN IMAGE SPACE Kenneth I. Joy Visualization and Graphics Research Group Department of Computer Science University of California, Davis A fundamental
More informationChapter - 2: Geometry and Line Generations
Chapter - 2: Geometry and Line Generations In Computer graphics, various application ranges in different areas like entertainment to scientific image processing. In defining this all application mathematics
More informationCS130 : Computer Graphics Lecture 2: Graphics Pipeline. Tamar Shinar Computer Science & Engineering UC Riverside
CS130 : Computer Graphics Lecture 2: Graphics Pipeline Tamar Shinar Computer Science & Engineering UC Riverside Raster Devices and Images Raster Devices - raster displays show images as a rectangular array
More informationOpenCL C. Matt Sellitto Dana Schaa Northeastern University NUCAR
OpenCL C Matt Sellitto Dana Schaa Northeastern University NUCAR OpenCL C Is used to write kernels when working with OpenCL Used to code the part that runs on the device Based on C99 with some extensions
More informationRendering. A simple X program to illustrate rendering
Rendering A simple X program to illustrate rendering The programs in this directory provide a simple x based application for us to develop some graphics routines. Please notice the following: All points
More informationBLM2031 Structured Programming. Zeyneb KURT
BLM2031 Structured Programming Zeyneb KURT 1 Contact Contact info office : D-219 e-mail zeynebkurt@gmail.com, zeyneb@ce.yildiz.edu.tr When to contact e-mail first, take an appointment What to expect help
More informationmith College Computer Science Week 10 CSC111 Spring 2015 Dominique Thiébaut
mith College Computer Science Week 10 CSC111 Spring 2015 Dominique Thiébaut dthiebaut@smith.edu Next Few Lectures Image Processing with Nested For-Loops Lists can be Used to Solve Many Problems (Chap.
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 informationCustomisation and production of Badges. Getting started with I-Color System Basic Light
Customisation and production of Badges Getting started with I-Color System Basic Light Table of contents 1 Creating a Badge Model 1.1 Configuration of Badge Format 1.2 Designing your Badge Model 1.2.1
More informationRaster Displays and Scan Conversion. Computer Graphics, CSCD18 Fall 2008 Instructor: Leonid Sigal
Raster Displays and Scan Conversion Computer Graphics, CSCD18 Fall 28 Instructor: Leonid Sigal Rater Displays Screen is represented by 2D array of locations called piels y Rater Displays Screen is represented
More informationThe Viewing Pipeline Coordinate Systems
Overview Interactive Graphics System Model Graphics Pipeline Coordinate Systems Modeling Transforms Cameras and Viewing Transform Lighting and Shading Color Rendering Visible Surface Algorithms Rasterization
More informationWarping & Blending AP
Warping & Blending AP Operation about AP This AP provides three major functions including Warp, Edge Blending and Black Level. If the AP is already installed, please remove previous version before installing
More informationWhat is it? How does it work? How do we use it?
What is it? How does it work? How do we use it? Dual Nature http://www.youtube.com/watch?v=dfpeprq7ogc o Electromagnetic Waves display wave behavior o Created by oscillating electric and magnetic fields
More informationCMSC 425: Lecture 4 More about OpenGL and GLUT Tuesday, Feb 5, 2013
CMSC 425: Lecture 4 More about OpenGL and GLUT Tuesday, Feb 5, 2013 Reading: See any standard reference on OpenGL or GLUT. Basic Drawing: In the previous lecture, we showed how to create a window in GLUT,
More informationComputer Graphics Lecture Notes
Computer Graphics Lecture Notes UNIT- Overview of Computer Graphics. Application of Computer Graphics Computer-Aided Design for engineering and architectural systems etc. Objects maybe displayed in a wireframe
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 informationUsing Flash Animation Basics
Using Flash Contents Using Flash... 1 Animation Basics... 1 Exercise 1. Creating a Symbol... 2 Exercise 2. Working with Layers... 4 Exercise 3. Using the Timeline... 6 Exercise 4. Previewing an animation...
More information15-122: Principles of Imperative Computation, Spring Due: Thursday, March 10, 2016 by 22:00
15-122 Programming 7 Page 1 of 8 15-122: Principles of Imperative Computation, Spring 2016 Programming homework 7: Text Buers Due: Thursday, March 10, 2016 by 22:00 For the programming portion of this
More informationint fnvgetconfig(handle h, UINT32 id, const void *cfg, size_t sz);... 4
RP-VL-UTIL-V1 Developer s Guide [ Contents ] 1. Introduction... 1 2. Building Environment... 1 3. Operating Environment... 1 4. Function Explanation... 2 4.1. Common API for Transmitting and Receiving...
More informationCSCI 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 informationGstarCAD Complete Features Guide
GstarCAD 2017 Complete Features Guide Table of Contents Core Performance Improvement... 3 Block Data Sharing Process... 3 Hatch Boundary Search Improvement... 4 New and Enhanced Functionalities... 5 Table...
More informationComputer Graphics and GPGPU Programming
Computer Graphics and GPGPU Programming Donato D Ambrosio Department of Mathematics and Computer Science and Center of Excellence for High Performace Computing Cubo 22B, University of Calabria, Rende 87036,
More informationA Fast Review of C Essentials Part I
A Fast Review of C Essentials Part I Structural Programming by Z. Cihan TAYSI Outline Program development C Essentials Functions Variables & constants Names Formatting Comments Preprocessor Data types
More informationMET71 COMPUTER AIDED DESIGN
UNIT - II BRESENHAM S ALGORITHM BRESENHAM S LINE ALGORITHM Bresenham s algorithm enables the selection of optimum raster locations to represent a straight line. In this algorithm either pixels along X
More informationThe C Pre Processor ECE2893. Lecture 18. ECE2893 The C Pre Processor Spring / 10
The C Pre Processor ECE2893 Lecture 18 ECE2893 The C Pre Processor Spring 2011 1 / 10 The C Pre Processor 1 The C pre processor is the very first step in any C or C++ program compilation. 2 It is a very
More informationComputer Graphics Lecture 2
1 / 16 Computer Graphics Lecture 2 Dr. Marc Eduard Frîncu West University of Timisoara Feb 28th 2012 2 / 16 Outline 1 Graphics System Graphics Devices Frame Buffer 2 Rendering pipeline 3 Logical Devices
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 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 informationRasterization. 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 informationMaking Backgrounds With Paint Shop Pro
Making Backgrounds With Paint Shop Pro A good Web site deserves a good background. Whether you decide on a single color, a faded repeated logo, a textured tile, or a border, the background of your Web
More informationExam 2 Preparation Math 2080 (Spring 2011) Exam 2: Thursday, May 12.
Multivariable Calculus Exam 2 Preparation Math 28 (Spring 2) Exam 2: Thursday, May 2. Friday May, is a day off! Instructions: () There are points on the exam and an extra credit problem worth an additional
More informationScalar Field Visualization I
Scalar Field Visualization I What is a Scalar Field? The approximation of certain scalar function in space f(x,y,z). Image source: blimpyb.com f What is a Scalar Field? The approximation of certain scalar
More informationTópicos de Computação Gráfica Topics in Computer Graphics 10509: Doutoramento em Engenharia Informática. Chap. 2 Rasterization.
Tópicos de Computação Gráfica Topics in Computer Graphics 10509: Doutoramento em Engenharia Informática Chap. 2 Rasterization Rasterization Outline : Raster display technology. Basic concepts: pixel, resolution,
More informationSpring 2009 Prof. Hyesoon Kim
Spring 2009 Prof. Hyesoon Kim Application Geometry Rasterizer CPU Each stage cane be also pipelined The slowest of the pipeline stage determines the rendering speed. Frames per second (fps) Executes on
More informationPage 1. Fireworks Exercise
Page 1 Fireworks Exercise 1. Create a New Fireworks Document - File>New. For this exercise, choose 800 for width, 600 for height, resolution 72 pixels/inch, canvas color to Transparent, then choose OK.
More informationCS 160: Lecture 10. Professor John Canny Spring 2004 Feb 25 2/25/2004 1
CS 160: Lecture 10 Professor John Canny Spring 2004 Feb 25 2/25/2004 1 Administrivia In-class midterm on Friday * Closed book (no calcs or laptops) * Material up to last Friday Lo-Fi Prototype assignment
More informationLesson 6 Adding Graphics
Lesson 6 Adding Graphics Inserting Graphics Images Graphics files (pictures, drawings, and other images) can be inserted into documents, or into frames within documents. They can either be embedded or
More informationComputer Graphics D Graphics Algorithms
Computer Graphics 2015 2. 2D Graphics Algorithms Hongxin Zhang State Key Lab of CAD&CG, Zhejiang University 2015-09-21 Screen - Linear Structure Nikon D40 Sensors 3 RGBW Camera Sensor RGBW Camera Sensor
More informationAnimation & Rendering
7M836 Animation & Rendering Introduction, color, raster graphics, modeling, transformations Arjan Kok, Kees Huizing, Huub van de Wetering h.v.d.wetering@tue.nl 1 Purpose Understand 3D computer graphics
More informationFall 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 informationViews, Drawing, and Events. Lecture 5
Views, Drawing, and Events Lecture 5 First - Representing Points and Areas NSPoint // Represents a point in a Cartesian coordinate system. typedef struct _NSPoint { CGFloat x; CGFloat y; } NSPoint Pair
More informationReflection & refraction
2015 EdExcel A Level Physics 2015 EdExcel A Level Physics Topic Topic 5 5 Reflection & refraction Reflection revision Reflection is the bouncing of light rays off a surface Reflection from a mirror: Normal
More informationIntermediate Programming, Spring 2017*
600.120 Intermediate Programming, Spring 2017* Misha Kazhdan *Much of the code in these examples is not commented because it would otherwise not fit on the slides. This is bad coding practice in general
More informationFig. A. Fig. B. Fig. 1. Fig. 2. Fig. 3 Fig. 4
Create A Spinning Logo Tutorial. Bob Taylor 2009 To do this you will need two programs from Xara: Xara Xtreme (or Xtreme Pro) and Xara 3D They are available from: http://www.xara.com. Xtreme is available
More informationTruss Bridge Analysis Using SAP2000
Truss Bridge Analysis Using SAP2000 SAP2000 is a structural analysis and design program that allows users to create and test a computer animated model of their figure. The program calculates dead loads,
More informationDraw Guide. Chapter 4 Changing Object Attributes
Draw Guide Chapter 4 Changing Object Attributes Copyright This document is Copyright 2005 2011 by its contributors as listed below. You may distribute it and/or modify it under the terms of either the
More informationCISC 1115 (Science Section) Brooklyn College Professor Langsam. Assignment #5
CISC 1115 (Science Section) Brooklyn College Professor Langsam Assignment #5 An image is made up of individual points, known as pixels. Thus if we have an image with a resolution of 100 x 100, each pixel
More informationMathematical Computing
IMT2b2β Department of Mathematics University of Ruhuna A.W.L. Pubudu Thilan Graphics in Maxima Introduction Gnuplot is a comand-line oriented plot program. Maxima s plotting is based on the Gnuplot, which
More informationMultimedia Retrieval Exercise Course 2 Basic of Image Processing by OpenCV
Multimedia Retrieval Exercise Course 2 Basic of Image Processing by OpenCV Kimiaki Shirahama, D.E. Research Group for Pattern Recognition Institute for Vision and Graphics University of Siegen, Germany
More informationEF432. Introduction to spagetti and meatballs
EF432 Introduction to spagetti and meatballs CSC 418/2504: Computer Graphics Course web site (includes course information sheet): http://www.dgp.toronto.edu/~karan/courses/418/ Instructors: L2501, T 6-8pm
More informationIntroduction to Draw:
: Title: : Version: 1.0 First edition: November 2004 Contents Overview...ii Copyright and trademark information...ii Feedback... ii Acknowledgments...ii Modifications and updates... ii The Workplace...
More informationHow to Create Greeting Cards using LibreOffice Draw
by Len Nasman, Bristol Village Ohio Computer Club If you want to create your own greeting cards, but you do not want to spend a lot of money on special software, you are in luck. It turns out that with
More informationCanvas Tips and Techniques
Corporate Flow Image Editing Illustration Canvas Tips and Techniques Web Automation Page 1 Text Effects Creative Department Copyright 1995-2003 ACD Systems of America, Inc. (Formerly Deneba Software) Protected
More information