CS 445: Introduction to Computer Graphics David Luebke University of Virginia Display Technologies, Mathematical Fundamentals.

Slides:



Advertisements
Similar presentations
Computer Graphics- SCC 342
Advertisements

Computer Graphics HARDWARE. LCD Displays Thinner and lighter. No tube or electron beams. Blocking/unblocking light through polarized crystals. Crystals.
Introduction to Raster scan display C A E D C Computer Aided Engineering Design Centre.
Lecture 1 Computer Graphics Hardware Basic graphics hardware –Display devices –Video controller –Memory –CPU –System bus Graphics Hardware # 1 CG show.
March 1, 2009Dr. Muhammed Al-Mulhem1 ICS 415 Computer Graphics General Graphics Systems Dr. Muhammed Al-Mulhem March 1, 2009 Dr. Muhammed Al-Mulhem March.
Visual Displays Chapter 2 Burdea.
UBI 516 Advanced Computer Graphics
CATHODE RAY TUBE.
MAE152 Computer Graphicsfor Scientists and Engineers Revision of Matrices Relevance to Graphics.
Graphics Graphics Korea University cgvr.korea.ac.kr 3D Object Representation 고려대학교 컴퓨터 그래픽스 연구실.
University of British Columbia CPSC 414 Computer Graphics © Tamara Munzner 1 Displays, Devices Week 12, Mon 17 Nov 2003.
EET 450 – Advanced Digital Video Display Systems.
Imaging Science Fundamentals Chester F. Carlson Center for Imaging Science Display Systems Viewing Images.
1 Video Display Devices Display Hardware Video display devices Input devices Locator Devices Keyboard devices.
CS 450: COMPUTER GRAPHICS REVIEW: INTRODUCTION TO COMPUTER GRAPHICS – PART 1 SPRING 2015 DR. MICHAEL J. REALE.
CRT MONITOR cathode-ray tube
Terms 1. VGA VGA - Short for Video Graphics Array, VGA is a popular display standard developed by IBM and introduced in 1987 VGA provides 640 x 480 resolution.
Monitors and Sound Systems section 3A This lesson includes the following sections: · Monitors · PC Projectors · Sound Systems.
CRT MONITOR cathode-ray tube
1 Hardware Devices Display Hardware Video display devices Hard-copy devices Input devices Locator Devices Keyboard devices Valuator Devices Choice Devices.
IE433 CAD/CAM Computer Aided Design and Computer Aided Manufacturing Part-2 CAD Systems Industrial Engineering Department King Saud University.
Prof.Dr. Aydın Öztürk
David Luebke9/10/2015 CS 551 / 645: Introductory Computer Graphics David Luebke
Lecture 03 Fasih ur Rehman
Computer Graphics in Java1 Objects and Viewers Two basic entities (one object seen from two different positions) :
University College Dublin1 Output devices COMP 3003.
Mathematical Foundations Sections A-1 to A-5 Some of the material in these slides may have been adapted from university of Virginia, MIT and Åbo Akademi.
Lecture No. 3.  Screen resolution  Color  Blank space between the pixels  Intentional image degradation  Brightness  Contrast  Refresh rate  Sensitivity.
Computer Graphics Hardware
Mathematics for Graphics. 1 Objectives Introduce the elements of geometry  Scalars  Vectors  Points Develop mathematical operations among them in a.
Computer Graphics Lecture 04 Fasih ur Rehman. Last Class Overview of Graphics Systems – Display Devices Colors and colored displays Raster displays and.
 PLASMA DISPLAY MONITOR  RASTOR VS RANDOM SCAN  INTERLACING AND NON- INTERLACING.
Overview of Graphics Systems. Cathode-ray Tube (CRT) - colors are represented using Red, Green, and Blue components - the CRT has a mechanism for.
CS 445 / 645: Introductory Computer Graphics David Brogan Image from:
Hardware used in Multimedia Systems. Hardware demands on multimedia systems Multimedia puts huge demands on a computer system, so designers and users.
INT 840E Computer graphics Introduction & Graphic’s Architecture.
Lecture # 4 Output Devices. Output Devices Devices that convert machine language into human understandable form. Output can be in display form, on paper.
Introduction to Graphical Hardware Display Technologies
The Rendering Pipeline CS 445/645 Introduction to Computer Graphics David Luebke, Spring 2003.
16/5/ :47 UML Computer Graphics Conceptual Model Application Model Application Program Graphics System Output Devices Input Devices API Function.
 Video Display Devices Video Display Devices  Cathode-ray tube (CRT) Monitors Cathode-ray tube (CRT) Monitors  Display Technologies Display Technologies.
Background Mathematics Aaron Bloomfield CS 445: Introduction to Graphics Fall 2006.
David Luebke12/3/2015 CS 551 / 645: Introductory Computer Graphics David Luebke
CS 551 / 645: Introductory Computer Graphics Mathematical Foundations.
Display Technology INFO410 & INFO350 S Jack Pinches INFORMATION
Computer Fundamentals MSCH 233 Lecture 5. The Monitor A Monitor is a video screen that looks like a TV. It displays both the input data and instructions,
CS 445: Introduction to Computer Graphics David Luebke University of Virginia The Rendering Pipeline.
K.B.H.POLYTECHNIC,MALEGAON CAMP, MALEGAON. Computer Hardware & Maintenance. S.Y.C.M/I.F Guided By :- Mr.K.S.Pawar. Lecturer in Computer Department.
Introduction to Computer Graphics CS 445 / 645 Lecture 2 General Graphics Systems Lecture 2 General Graphics Systems Daniel Rozin, Wooden Mirror (1999)
Computer Graphics.
2/14/ : Graphics Programming Seree Chinodom
Week 9 Monitors and output to the screen. Monitors, also known as Visual display units (V.D.Us) Desktop computers contain a Cathode Ray Tube (C.R.T.)
2/28/2016 CS 551 / 645: Introductory Computer Graphics Framebuffer Mathematical Foundations The Rendering Pipeline.
OUTPUT PRIMITIVES A.Aruna/Faculty of Information technology/SNSCE13/19/2016.
Computer Graphics Lecture -02. Frame Buffer The image being displayed is stored in a dedicated system memory area that is often referred.
Computer Graphics Lecture 02 Graphics Systems Taqdees A. Siddiqi
1.  The primary output device in a graphics system is a video monitor. These monitors are based on Cathode Ray Tube (CRT) design.  CRT is a vacuum tube/electron.
David Luebke6/12/2016 CS 551 / 645: Introductory Computer Graphics David Luebke
Introduction; Mathematical Foundations CS 445/645 Introduction to Computer Graphics David Luebke, Spring 2003.
The Cathode Ray Tube Monitor
3D Rendering 2016, Fall.
Rendering Pipeline Fall, 2015.
Overview of Graphics Systems: I
Overview of Graphics Systems
Introduction to Computer Graphics CS 445 / 645
Overview of Graphics Systems
Introduction to Computers
CATHODE RAY TUBE.
Chapter 2 Overview of Graphics Systems
CATHODE RAY TUBE By Dr. Vaibhav Jain Associate Professor, Dept. of Physics, D.A.V (PG) College, Bulandshahr, U.P., India.
Presentation transcript:

CS 445: Introduction to Computer Graphics David Luebke University of Virginia Display Technologies, Mathematical Fundamentals

Admin l Call roll l Introductions: Sam Guarnieri –Office hours: n M – am n W am l Assignment 1 out

Demo l Soap-bubble bunny

Mathematical Foundations l A very brief review of some mathematical tools we’ll employ –Geometry (2D, 3D) –Trigonometry –Vector and affine spaces n Points, vectors, and coordinates –Dot and cross products –Linear transforms and matrices

3D Geometry l To model, animate, and render 3D scenes, we must specify: –Location –Displacement from arbitrary locations –Orientation l We’ll look at two types of spaces: –Vector spaces –Affine spaces l We will often be sloppy about the distinction

Vector Spaces l Given a basis for a vector space: –Each vector in the space is a unique linear combination of the basis vectors –The coordinates of a vector are the scalars from this linear combination –Best-known example: Cartesian coordinates –Note that a given vector will have different coordinates for different bases

Vectors And Points l We commonly use vectors to represent: –Direction (i.e., orientation) –Points in space (i.e., location) –Displacements from point to point l But we want points and directions to behave differently –Ex: To translate something means to move it without changing its orientation –Translation of a point = different point –Translation of a direction = same direction

Affine Spaces l To be more rigorous, we need an explicit notion of position l Affine spaces add a third element to vector spaces: points (P, Q, R, …) l Points support these operations –Point-point subtraction: Q - P = v n Result is a vector pointing from P to Q –Vector-point addition: P + v = Q n Result is a new point n P + 0 = P –Note that the addition of two points is not defined P Q v

Affine Spaces l Points, like vectors, can be expressed in coordinates –The definition uses an affine combination –Net effect is same: expressing a point in terms of a basis l Thus the common practice of representing points as vectors with coordinates l Be careful to avoid nonsensical operations –Point + point –Scalar * point

Affine Lines: An Aside l Parametric representation of a line with a direction vector d and a point P 1 on the line: P(  ) = P origin +  d Restricting 0   produces a ray Setting d to P - Q and restricting 0    1 produces a line segment between P and Q

Dot Product l The dot product or, more generally, inner product of two vectors is a scalar: v 1 v 2 = x 1 x 2 + y 1 y 2 + z 1 z 2 (in 3D) l Useful for many purposes –Computing the length of a vector: length(v) = sqrt(v v) –Normalizing a vector, making it unit-length –Computing the angle between two vectors: u v = |u| |v| cos(θ) –Checking two vectors for orthogonality –Projecting one vector onto another θ u v

Cross Product l The cross product or vector product of two vectors is a vector: l Cross product of two vectors is orthogonal to both l Right-hand rule dictates direction of cross product l Cross product is handy for finding surface orientation –Lighting –Visibility

Linear Transformations l A linear transformation: –Maps one vector to another –Preserves linear combinations l Thus behavior of linear transformation is completely determined by what it does to a basis l Turns out any linear transform can be represented by a matrix

Matrices l By convention, matrix element M rc is located at row r and column c: l By (OpenGL) convention, vectors are columns:

Matrices l Matrix-vector multiplication applies a linear transformation to a vector: l Recall how to do matrix multiplication

Matrix Transformations l A sequence or composition of linear transformations corresponds to the product of the corresponding matrices –Note: the matrices to the right affect vector first –Note: order of matrices matters! l The identity matrix I has no effect in multiplication l Some (not all) matrices have an inverse:

3D Scene Representation l Scene is usually approximated by 3D primitives –Point –Line segment –Polygon –Polyhedron –Curved surface –Solid object –etc.

3D Point l Specifies a location Origin

3D Point l Specifies a location –Represented by three coordinates –Infinitely small typedef struct { Coordinate x; Coordinate y; Coordinate z; } Point; typedef struct { Coordinate x; Coordinate y; Coordinate z; } Point; (x,y,z) Origin

3D Vector l Specifies a direction and a magnitude

3D Vector l Specifies a direction and a magnitude –Represented by three coordinates –Magnitude ||V|| = sqrt(dx dx + dy dy + dz dz) –Has no location typedef struct { Coordinate dx; Coordinate dy; Coordinate dz; } Vector; typedef struct { Coordinate dx; Coordinate dy; Coordinate dz; } Vector; (dx,dy,dz)

3D Vector l Specifies a direction and a magnitude –Represented by three coordinates –Magnitude ||V|| = sqrt(dx dx + dy dy + dz dz) –Has no location l Dot product of two 3D vectors –V 1 ·V 2 = dx 1 dx 2 + dy 1 dy 2 + dz 1 dz 2 –V 1 ·V 2 = ||V 1 || || V 2 || cos(  ) typedef struct { Coordinate dx; Coordinate dy; Coordinate dz; } Vector; typedef struct { Coordinate dx; Coordinate dy; Coordinate dz; } Vector; (dx 1,dy 1,dz 1 ) (dx 2,dy 2,dz 2 ) 

3D Line Segment l Linear path between two points Origin

3D Line Segment l Use a linear combination of two points –Parametric representation: n P = P 1 + t (P 2 - P 1 ), (0  t  1) typedef struct { Point P1; Point P2; } Segment; typedef struct { Point P1; Point P2; } Segment; P1P1 P2P2 Origin

3D Ray l Line segment with one endpoint at infinity –Parametric representation: n P = P 1 + t V, (0 <= t <  ) typedef struct { Point P1; Vector V; } Ray; typedef struct { Point P1; Vector V; } Ray; P1P1 V Origin

3D Line l Line segment with both endpoints at infinity –Parametric representation: n P = P 1 + t V, (-  < t <  ) P1P1 typedef struct { Point P1; Vector V; } Line; typedef struct { Point P1; Vector V; } Line; V Origin

3D Plane l A linear combination of three points P1P1 P3P3 P2P2

Origin 3D Plane l A linear combination of three points –Implicit representation: n P·N + d = 0, or n ax + by + cz + d = 0 –N is the plane “normal” n Unit-length vector n Perpendicular to plane typedef struct { Vector N; Distance d; } Plane; typedef struct { Vector N; Distance d; } Plane; P1P1 N = (a,b,c) d P3P3 P2P2

3D Polygon l Area “inside” a sequence of coplanar points –Triangle –Quadrilateral –Convex –Star-shaped –Concave –Self-intersecting –Holes (use > 1 polygon struct) typedef struct { Point *points; int npoints; } Polygon; typedef struct { Point *points; int npoints; } Polygon; Points are in counter-clockwise order

3D Sphere l All points at distance “r” from point “(c x, c y, c z )” –Implicit representation: n (x - c x ) 2 + (y - c y ) 2 + (z - c z ) 2 = r 2 –Parametric representation: n x = r cos(  ) cos(  ) + c x n y = r cos(  ) sin(  ) + c y n z = r sin(  ) + c z typedef struct { Point center; Distance radius; } Sphere; typedef struct { Point center; Distance radius; } Sphere; r Origin

Display Technologies l Cathode Ray Tubes (CRTs) –Most common display device today –Evacuated glass bottle (last of the vacuum tubes) –Heating element (filament) –Electrons pulled towards anode focusing cylinder –Vertical and horizontal deflection plates –Beam strikes phosphor coating on front of tube

Display Technologies: CRTs l Vector Displays –My childhood: Battlezone, Tempest

Display Technologies: CRTs l Vector displays –Early computer displays: basically an oscilloscope –Control X,Y with vertical/horizontal plate voltage –Often used intensity as Z –Show: l Name two disadvantages Just does wireframe Complex scenes  visible flicker

Display Technologies: CRTs l Black and white television: an oscilloscope with a fixed scan pattern: left to right, top to bottom –Paint entire screen 30 times/sec n Actually, TVs paint top-to-bottom 60 times/sec, alternating between even and odd scanlines n This is called interlacing. It’s a hack. Why do it? –To paint the screen, computer needs to synchronize with the scanning pattern of raster n Solution: special memory to buffer image with scan-out synchronous to the raster. We call this the framebuffer.

Display Technologies: CRTs l Raster Displays –Raster: A rectangular array of points or dots –Pixel: One dot or picture element of the raster –Scanline: A row of pixels –Rasterize: find the set of pixels corresponding to a 2D shape (line, circle, polygon)

Display Technologies: CRTs l Raster Displays –Frame must be “refreshed” to draw new images –As new pixels are struck by electron beam, others are decaying –Electron beam must hit all pixels frequently to eliminate flicker –Critical fusion frequency n Typically 60 times/sec n Varies with intensity, individuals, phosphor persistence, lighting...

Display Technology: Color CRTs l Color CRTs are much more complicated –Requires manufacturing very precise geometry –Uses a pattern of color phosphors on the screen: –Why red, green, and blue phosphors? Delta electron gun arrangementIn-line electron gun arrangement

Display Technology: Color CRTs l Color CRTs have –Three electron guns –A metal shadow mask to differentiate the beams

Display Technology: Raster CRTs l Raster CRT pros: –Allows solids, not just wireframes –Leverages low-cost CRT technology (i.e., TVs) –Bright! Display emits light l Cons: –Requires screen-size memory array –Discreet sampling (pixels) –Practical limit on size (call it 40 inches) –Bulky –Finicky (convergence, warp, etc)

CRTs – Overview –CRT technology hasn’t changed much in 50 years –Early television technology n high resolution n requires synchronization between video signal and electron beam vertical sync pulse –Early computer displays n avoided synchronization using ‘vector’ algorithm n flicker and refresh were problematic

CRTs – Overview –Raster Displays (early 70s) n like television, scan all pixels in regular pattern n use frame buffer (video RAM) to eliminate sync problems –RAM n ¼ MB (256 KB) cost $2 million in 1971 n Do some math… x 1024 screen resolution = 1,310,720 pixels - Monochrome color (binary) requires 160 KB - High resolution color requires 5.2 MB

Display Technology: LCDs l Liquid Crystal Displays (LCDs) –LCDs: organic molecules, naturally in crystalline state, that liquefy when excited by heat or E field –Crystalline state twists polarized light 90º.

Display Technology: LCDs l Liquid Crystal Displays (LCDs) –LCDs: organic molecules, naturally in crystalline state, that liquefy when excited by heat or E field –Crystalline state twists polarized light 90º

Display Technology: LCDs l Transmissive & reflective LCDs: –LCDs act as light valves, not light emitters, and thus rely on an external light source. –Laptop screen: backlit, transmissive display –Palm Pilot/Game Boy: reflective display

Display Technology: Plasma l Plasma display panels –Similar in principle to fluorescent light tubes –Small gas-filled capsules are excited by electric field, emits UV light –UV excites phosphor –Phosphor relaxes, emits some other color

Display Technology l Plasma Display Panel Pros –Large viewing angle –Good for large-format displays –Fairly bright l Cons –Expensive –Large pixels (~1 mm versus ~0.2 mm) –Phosphors gradually deplete –Less bright than CRTs, using more power

Display Technology: DMDs l Digital Micromirror Devices (projectors) –Microelectromechanical (MEM) devices, fabricated with VLSI techniques

Display Technology: DMDs l DMDs are truly digital pixels l Vary grey levels by modulating pulse length l Color: multiple chips, or color-wheel l Great resolution l Very bright l Flicker problems

Display Technologies: Organic LED Arrays l Organic Light-Emitting Diode (OLED) Arrays –The display of the future? Many think so. –OLEDs function like regular semiconductor LEDs –But with thin-film polymer construction: n Thin-film deposition of organic, light-emitting molecules through vapor sublimation in a vacuum. n Dope emissive layers with fluorescent molecules to create color. n Not grown like a crystal, no high-temperature doping n Thus, easier to create large-area OLEDs

Display Technologies: Organic LED Arrays l OLED pros: –Transparent –Flexible –Light-emitting, and quite bright (daylight visible) –Large viewing angle –Fast (< 1 microsecond off-on-off) –Can be made large or small

Display Technologies: Organic LED Arrays l OLED cons: –Not quite there yet (96x64 displays) except niche markets n Cell phones (especially back display) n Car stereos –Not very robust, display lifetime a key issue –Currently only passive matrix displays n Passive matrix: Pixels are illuminated in scanline order (like a raster display), but the lack of phosphorescence causes flicker n Active matrix: A polysilicate layer provides thin film transistors at each pixel, allowing direct pixel access and constant illumination See for more info –Hard to compete with LCDs, a moving target

Framebuffers l So far we’ve talked about the physical display device l How does the interface between the device and the computer’s notion of an image look? l Framebuffer: A memory array in which the computer stores an image –On most computers, separate memory bank from main memory (why?) –Many different variations, motivated by cost of memory