Download - Computer graphics - Nitish Nagar
![Page 1: Computer graphics - Nitish Nagar](https://reader034.vdocuments.net/reader034/viewer/2022042607/559c601f1a28abd73d8b46ec/html5/thumbnails/1.jpg)
Computer Graphics Hardware and
SoftwareLecture Notes,
CEng 477
![Page 2: Computer graphics - Nitish Nagar](https://reader034.vdocuments.net/reader034/viewer/2022042607/559c601f1a28abd73d8b46ec/html5/thumbnails/2.jpg)
What is Computer Graphics?
● Different things in different contexts:– pictures, scenes that are generated by a
computer.
– tools used to make such pictures, software and hardware, input/output devices.
– the whole field of study that involves these tools and the pictures they produce.
● Use of computer to define, store, manipulate, interrogate and present pictorial output.
![Page 3: Computer graphics - Nitish Nagar](https://reader034.vdocuments.net/reader034/viewer/2022042607/559c601f1a28abd73d8b46ec/html5/thumbnails/3.jpg)
● How pictures are represented in computer graphics?
● How pictures are prepared for presentation?● How interaction within the picture is
accomplished?
![Page 4: Computer graphics - Nitish Nagar](https://reader034.vdocuments.net/reader034/viewer/2022042607/559c601f1a28abd73d8b46ec/html5/thumbnails/4.jpg)
Computer Graphics Applications
● Art, entertainment, and publishing– movie production, animation, special effects
– computer games
– World Wide Web
– Book, magazine design, photo editing
● CG and Image processing (syntesis vs. analysis)
● Simulations (education, training)● CAD architectural, circuit design etc.● Scientific analysis and visualization● Graphical User Interfaces
![Page 5: Computer graphics - Nitish Nagar](https://reader034.vdocuments.net/reader034/viewer/2022042607/559c601f1a28abd73d8b46ec/html5/thumbnails/5.jpg)
Display (Video Display Device)
● Most CG on video monitors● Still most popular: Cathode Ray Tube (CRT)● Other popular display types:
– Liquid Crystal Display
– Plasma display
– Field Emission Displays
– Digital Meromirror Devices
– Light Emitting Diodes
– 3D display devices (hologram or page scan methods)
![Page 6: Computer graphics - Nitish Nagar](https://reader034.vdocuments.net/reader034/viewer/2022042607/559c601f1a28abd73d8b46ec/html5/thumbnails/6.jpg)
1. cathode rays emitted by the electron gun
CRT
2. focusing and deflection
3. when electron beams contact
screen phosphor emits light
4. light fades, redraw required in a small period
(refresh)
![Page 7: Computer graphics - Nitish Nagar](https://reader034.vdocuments.net/reader034/viewer/2022042607/559c601f1a28abd73d8b46ec/html5/thumbnails/7.jpg)
CRT types● Direct View Storage Tubes (not CRT, no need
for refresh, pictures stored as a permanent charge on phosphor screen)
● Calligraphic refresh CRT (line drawing or vector random scan, need refreshing)
● Raster-scan (point by point refreshing)● Refresh rate: # of complete images
(frames) drawn on the screen in 1 second. Frames/sec.
● Frame time: reciprocal of the refresh rate, time between each complete scan. sec/frame
![Page 8: Computer graphics - Nitish Nagar](https://reader034.vdocuments.net/reader034/viewer/2022042607/559c601f1a28abd73d8b46ec/html5/thumbnails/8.jpg)
Vector Scan● Picture definition is stored as a set of line-
drawing commands in a refresh buffer.● to display a picture, the system cycles
through the set of commands in the buffer● Designed for line drawing applications (CAD)
![Page 9: Computer graphics - Nitish Nagar](https://reader034.vdocuments.net/reader034/viewer/2022042607/559c601f1a28abd73d8b46ec/html5/thumbnails/9.jpg)
Raster Scan● Screen is a regular grid of samples called
pixels (picture element)● Screen is refreshed line by line
● Interlacing: Avoid flickering affect for small refresh rates.interlaced 50Hz: actually 25Hz
non-interlaced interlaced, cycle 1 interlaced, cycle 2 interlaced, 2 cycles
![Page 10: Computer graphics - Nitish Nagar](https://reader034.vdocuments.net/reader034/viewer/2022042607/559c601f1a28abd73d8b46ec/html5/thumbnails/10.jpg)
● resolution: a 2D term that measures the number of scan-lines and the number of pixels on each line (maximum number of points that can be displayed without overlap on a CRT)
● black and white display only binary pixels.● intensity of a pixel can be achieved by the
force of electron beam (gray scale)● color display?
![Page 11: Computer graphics - Nitish Nagar](https://reader034.vdocuments.net/reader034/viewer/2022042607/559c601f1a28abd73d8b46ec/html5/thumbnails/11.jpg)
Color Displays● Beam penetration method:
special phosphors emitting different colors for different intensity of electron. Slow, limited colors.
● Shadow mask method:3 electron guns + a shadow mask grid. Intensities of 3 colors result in an arbitrary color pixel. (most TVs and monitors)
![Page 12: Computer graphics - Nitish Nagar](https://reader034.vdocuments.net/reader034/viewer/2022042607/559c601f1a28abd73d8b46ec/html5/thumbnails/12.jpg)
● black and white: 1 bit per pixel.● gray scale: 1 byte per pixel (256 gray levels)● true color: 3 bytes=24pits per pixel (224
colors)● indexed color frame buffer: each pixel uses 1
byte, an index entry in a colormap table matching the color to the actual color.
![Page 13: Computer graphics - Nitish Nagar](https://reader034.vdocuments.net/reader034/viewer/2022042607/559c601f1a28abd73d8b46ec/html5/thumbnails/13.jpg)
Vector vs Raster Scan● raster scan monitors:
– inexpensive
– filled areas, patterns
– refresh process is independent (constant for any complex scene)
● vector scan monitors:– Smooth lines. no need for scan conversion: lines
to pixels. (raster scan solution antialiasing)
– sometimes memory and CPU efficient 1000 lines:Vector scan: 2000 endpoints and 1000 operationsRaster scan: whole frame buffer 1000 scan conversions.
![Page 14: Computer graphics - Nitish Nagar](https://reader034.vdocuments.net/reader034/viewer/2022042607/559c601f1a28abd73d8b46ec/html5/thumbnails/14.jpg)
LCD Displays● Thinner and lighter. No tube and electron
beams.● Blocking/unblocking light through polarized
crystals.● A matrix of LC cells
one for each pixel.● No refresh unless the
screen changes.● Color 3 cells per pixel.
![Page 15: Computer graphics - Nitish Nagar](https://reader034.vdocuments.net/reader034/viewer/2022042607/559c601f1a28abd73d8b46ec/html5/thumbnails/15.jpg)
Simple Raster Display System
● Frame buffer: stored pixel map of screen● Video controller just refreshes the frame
buffer on the monitor periodically.
System Bus
CPU
SystemMemory
FrameBuffer
VideoController
PeripheralDevices
Monitor
![Page 16: Computer graphics - Nitish Nagar](https://reader034.vdocuments.net/reader034/viewer/2022042607/559c601f1a28abd73d8b46ec/html5/thumbnails/16.jpg)
● Inexpensive● Scan conversion of output primitives (lines,
rectangles etc.) done by the CPU. Slow.● As refresh cycle increases, memory cycles
used by the video controller increases. Memory is less available to CPU.
● Solution: Graphics Display Processor
![Page 17: Computer graphics - Nitish Nagar](https://reader034.vdocuments.net/reader034/viewer/2022042607/559c601f1a28abd73d8b46ec/html5/thumbnails/17.jpg)
Graphics Display Processor
● Scan conversion, output primitives, raster operations (double buffering)
● Separete frame buffer
System Bus
CPU
D. Proc.memory.
FrameBuffer
VideoController
PeripheralDevices
Monitor
DisplayProcessor
SystemMemory
![Page 18: Computer graphics - Nitish Nagar](https://reader034.vdocuments.net/reader034/viewer/2022042607/559c601f1a28abd73d8b46ec/html5/thumbnails/18.jpg)
Computer Graphics Software
● Rendering Primitives– Models are composed of, or can be converted to,
a large number of geometric primitives.
– Typical rendering primitives directly supported in hardware include:
● Points (single pixels)● Line segments● Polygons (perhaps simple, triangle, rectangle)
![Page 19: Computer graphics - Nitish Nagar](https://reader034.vdocuments.net/reader034/viewer/2022042607/559c601f1a28abd73d8b46ec/html5/thumbnails/19.jpg)
– Modeling primitives include these, but also● Piecewise polynomial (spline) curves● Piecewise polynomial (spline) surfaces● Implicit surfaces (quadrics, blobbies, etc.)● Other...
– Software renderer may support modeling primitives directly, or may convert them into polygonal or linear approximations for hardware rendering
![Page 20: Computer graphics - Nitish Nagar](https://reader034.vdocuments.net/reader034/viewer/2022042607/559c601f1a28abd73d8b46ec/html5/thumbnails/20.jpg)
Algorithms● A number of basic algorithms are needed:
– Transformation: Convert representations of models/primitives from one coordinate system to another
– Clipping/Hidden surface removal: remove primitives and part of primitives that are not visible on the display
– Rasterization: Convert a projected screen space primitive to a set of pixels.
![Page 21: Computer graphics - Nitish Nagar](https://reader034.vdocuments.net/reader034/viewer/2022042607/559c601f1a28abd73d8b46ec/html5/thumbnails/21.jpg)
● Advanced algorithms:– Picking: select a 3D obejct by clicking an input
device over a pixel location.
– Shading and illumination: Simulate the interaction of light with a scene.
– Animation: Simulate movement by rendering a sequence of frames.
![Page 22: Computer graphics - Nitish Nagar](https://reader034.vdocuments.net/reader034/viewer/2022042607/559c601f1a28abd73d8b46ec/html5/thumbnails/22.jpg)
Application Programming
Interfaces● X11: 2D rasterization● Postscript, PDF: 2D transformations, 2D
rasterization● Phigs+, GL, OpenGL, Direct3D: 3D pipeline● APIs provide access to rendering hardware
via conceptual model.● APIs abstract the hardware implementations
and algorithms in standard software calls.
![Page 23: Computer graphics - Nitish Nagar](https://reader034.vdocuments.net/reader034/viewer/2022042607/559c601f1a28abd73d8b46ec/html5/thumbnails/23.jpg)
● For 3D interactive applications, we might modify the scene or a model directly or just the change the attributes like viewing information.
● We need to interface to input devices in an event-driven, asynchronous and device independent fashion. APIs and toolkits are also defined for this task. GLUT, Qt, GTK, MFC, DirectX, Motif, Tcl/Tk.
![Page 24: Computer graphics - Nitish Nagar](https://reader034.vdocuments.net/reader034/viewer/2022042607/559c601f1a28abd73d8b46ec/html5/thumbnails/24.jpg)
Graphics Rendering Pipeline
● Rendering: conversion from scene to image
● Scene is represented as a model composed of primitives. Model is generated by a program or input by a user.
● Image is drawn on an output device: monitor, printer, memory, file, video frame. Device independence.
3D Scene
2D Image
![Page 25: Computer graphics - Nitish Nagar](https://reader034.vdocuments.net/reader034/viewer/2022042607/559c601f1a28abd73d8b46ec/html5/thumbnails/25.jpg)
● Typically rendering process is divided into steps called the graphics pipeline.
● Some steps are implemented by graphics hardware.
● Programmable graphics accelerator, GPU:programmable pipelines in graphics hardware
![Page 26: Computer graphics - Nitish Nagar](https://reader034.vdocuments.net/reader034/viewer/2022042607/559c601f1a28abd73d8b46ec/html5/thumbnails/26.jpg)
● The basic forward projection pipeline:
Model
Model
Model
M1
M2
M3
3D WorldScene
3D ViewScene
V
P Clip Normalize2D/3D DeviceScene
2D Image
Projection
Rasterization
ModelingTransformations
ViewingTransformations
MCS WCS VCS
NDCS DCSSCS