SlideShare a Scribd company logo
1 of 26
Computer Graphics 
Hardware and 
Software
Lecture Notes,
CEng 477
What is Computer
Graphics?


Different things in different contexts:
−

−

tools used to make such pictures, software and
hardware, input/output devices.

−



pictures, scenes that are generated by a
computer.

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.






How pictures are represented in computer
graphics?
How pictures are prepared for presentation?
How interaction within the picture is
accomplished?
Computer Graphics
Applications


Art, entertainment, and publishing
−
−

computer games

−

World Wide Web

−



movie production, animation, special effects

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
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

−

Light Emitting Diodes

−

3D display devices (hologram or page scan
methods)
CRT
3. when electron
beams contact
screen phosphor
emits light

1. cathode rays
emitted by the
electron gun
2. focusing and
deflection

4. light fades,
redraw required
in a small period
(refresh)
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
Vector Scan






Picture definition is stored as a set of linedrawing 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)
Raster Scan




Screen is a regular grid of samples called
pixels (picture element)
Screen is refreshed line by line
non-interlaced



interlaced, cycle 1

interlaced, cycle 2

interlaced, 2 cycles

Interlacing: Avoid flickering affect for small
refresh rates.
interlaced 50Hz: actually 25Hz








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?
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)


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.
Vector vs Raster Scan


raster scan monitors:
−
−

filled areas, patterns

−



inexpensive
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 operations
Raster scan: whole frame buffer 1000 scan
conversions.
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.
Simple Raster Display
System




Frame buffer: stored pixel map of screen
Video controller just refreshes the frame
buffer on the monitor periodically.
Peripheral
Devices

CPU

System Bus

System
Frame
Memor
Buffer
y

Video
Controller

Monito
r








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
Graphics Display
Processor





Scan conversion, output primitives, raster
operations (double buffering)
Separete frame
buffer

CPU

Peripheral
Devices

System Bus

Display
Processor

D. Proc. Frame
memory. Buffer

System
Memory

Video
Controller

Monito
r
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)
−

Modeling primitives include these, but also




Piecewise polynomial (spline) surfaces



Implicit surfaces (quadrics, blobbies, etc.)



−

Piecewise polynomial (spline) curves

Other...

Software renderer may support modeling
primitives directly, or may convert them into
polygonal or linear approximations for hardware
rendering
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.


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.
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.




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.
Graphics Rendering
Pipeline



Rendering:
image
3D
Scene





conversion from scene to

2D 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.






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


The basic forward projection pipeline:
Modeling
Transformations

Model

Viewing
Transformations

M1
Model

M2

3D World
Scene

V

3D View
Scene

Model
M3

WCS

MCS

VCS
Rasterization

P

Clip

Projection

Normalize

2D/3D Device
Scene

NDCS
2D Image

DCS
SCS

More Related Content

What's hot

Raster Scan and Raster Scan Displays
Raster Scan and Raster Scan DisplaysRaster Scan and Raster Scan Displays
Raster Scan and Raster Scan Displays
Saravana Priya
 
Graphics software
Graphics softwareGraphics software
Graphics software
Mohd Arif
 

What's hot (20)

Input of graphical data
Input of graphical dataInput of graphical data
Input of graphical data
 
Computer Graphics display technologies(Computer graphics tutorials and tips)
Computer Graphics display technologies(Computer graphics tutorials and tips)Computer Graphics display technologies(Computer graphics tutorials and tips)
Computer Graphics display technologies(Computer graphics tutorials and tips)
 
Input devices in computer graphics
Input devices in computer graphicsInput devices in computer graphics
Input devices in computer graphics
 
Output primitives in Computer Graphics
Output primitives in Computer GraphicsOutput primitives in Computer Graphics
Output primitives in Computer Graphics
 
Video display devices
Video display devicesVideo display devices
Video display devices
 
3D Transformation
3D Transformation3D Transformation
3D Transformation
 
Bresenham circle
Bresenham circleBresenham circle
Bresenham circle
 
Raster Scan and Raster Scan Displays
Raster Scan and Raster Scan DisplaysRaster Scan and Raster Scan Displays
Raster Scan and Raster Scan Displays
 
Mid point circle algorithm
Mid point circle algorithmMid point circle algorithm
Mid point circle algorithm
 
COMPUTER GRAPHICS DAY1
COMPUTER GRAPHICS DAY1COMPUTER GRAPHICS DAY1
COMPUTER GRAPHICS DAY1
 
Flat panel display
Flat panel displayFlat panel display
Flat panel display
 
Frame buffer
Frame bufferFrame buffer
Frame buffer
 
Polygons - Computer Graphics - Notes
Polygons - Computer Graphics - NotesPolygons - Computer Graphics - Notes
Polygons - Computer Graphics - Notes
 
Dda algorithm
Dda algorithmDda algorithm
Dda algorithm
 
Graphics software
Graphics softwareGraphics software
Graphics software
 
Projection In Computer Graphics
Projection In Computer GraphicsProjection In Computer Graphics
Projection In Computer Graphics
 
Raster Scan display
Raster Scan displayRaster Scan display
Raster Scan display
 
Depth Buffer Method
Depth Buffer MethodDepth Buffer Method
Depth Buffer Method
 
Computer Graphics
Computer GraphicsComputer Graphics
Computer Graphics
 
3D Graphics : Computer Graphics Fundamentals
3D Graphics : Computer Graphics Fundamentals3D Graphics : Computer Graphics Fundamentals
3D Graphics : Computer Graphics Fundamentals
 

Similar to Graphics display-devicesmod-1

Model 1 multimedia graphics and animation introduction (1)
Model 1 multimedia graphics and animation introduction (1)Model 1 multimedia graphics and animation introduction (1)
Model 1 multimedia graphics and animation introduction (1)
Rahul Borate
 
Computer Graphics lecture.pptx
Computer Graphics lecture.pptxComputer Graphics lecture.pptx
Computer Graphics lecture.pptx
NishkaSharma5
 
Introduction with graphics
Introduction with graphicsIntroduction with graphics
Introduction with graphics
msouravmishra
 

Similar to Graphics display-devicesmod-1 (20)

Computer graphics - Nitish Nagar
Computer graphics - Nitish NagarComputer graphics - Nitish Nagar
Computer graphics - Nitish Nagar
 
Introduction to Computer Graphics.pptx
Introduction to Computer Graphics.pptxIntroduction to Computer Graphics.pptx
Introduction to Computer Graphics.pptx
 
Introduction to Computer graphics
Introduction to Computer graphicsIntroduction to Computer graphics
Introduction to Computer graphics
 
Overview of Computer Graphics
Overview of Computer GraphicsOverview of Computer Graphics
Overview of Computer Graphics
 
Introduction to computer graphics - Copy.pdf
Introduction to computer graphics - Copy.pdfIntroduction to computer graphics - Copy.pdf
Introduction to computer graphics - Copy.pdf
 
computer Graphics
computer Graphics computer Graphics
computer Graphics
 
Fundamentals of Computer Graphics.pdf
Fundamentals of Computer Graphics.pdfFundamentals of Computer Graphics.pdf
Fundamentals of Computer Graphics.pdf
 
Introduction to computer graphics and multimedia
Introduction to computer graphics and multimediaIntroduction to computer graphics and multimedia
Introduction to computer graphics and multimedia
 
Computer Graphics Notes
Computer Graphics NotesComputer Graphics Notes
Computer Graphics Notes
 
unit1_updated.pptx
unit1_updated.pptxunit1_updated.pptx
unit1_updated.pptx
 
Model 1 multimedia graphics and animation introduction (1)
Model 1 multimedia graphics and animation introduction (1)Model 1 multimedia graphics and animation introduction (1)
Model 1 multimedia graphics and animation introduction (1)
 
Cg
CgCg
Cg
 
CG_ch1.pptx
CG_ch1.pptxCG_ch1.pptx
CG_ch1.pptx
 
CG_Unit1_SShah.pptx
CG_Unit1_SShah.pptxCG_Unit1_SShah.pptx
CG_Unit1_SShah.pptx
 
Computer Graphics Introduction, Open GL, Line and Circle drawing algorithm
Computer Graphics Introduction, Open GL, Line and Circle drawing algorithmComputer Graphics Introduction, Open GL, Line and Circle drawing algorithm
Computer Graphics Introduction, Open GL, Line and Circle drawing algorithm
 
Computer Graphics Full Tutorial.pptx
Computer Graphics Full Tutorial.pptxComputer Graphics Full Tutorial.pptx
Computer Graphics Full Tutorial.pptx
 
Computer Graphics
Computer GraphicsComputer Graphics
Computer Graphics
 
CG.pptx
CG.pptxCG.pptx
CG.pptx
 
Computer Graphics lecture.pptx
Computer Graphics lecture.pptxComputer Graphics lecture.pptx
Computer Graphics lecture.pptx
 
Introduction with graphics
Introduction with graphicsIntroduction with graphics
Introduction with graphics
 

More from Praveen Kumar

More from Praveen Kumar (20)

Summer2014 internship
Summer2014 internshipSummer2014 internship
Summer2014 internship
 
Summer+training 2
Summer+training 2Summer+training 2
Summer+training 2
 
Summer+training
Summer+trainingSummer+training
Summer+training
 
Solutions1.1
Solutions1.1Solutions1.1
Solutions1.1
 
Slides15
Slides15Slides15
Slides15
 
Scribed lec8
Scribed lec8Scribed lec8
Scribed lec8
 
Scholarship sc st
Scholarship sc stScholarship sc st
Scholarship sc st
 
Networks 2
Networks 2Networks 2
Networks 2
 
Mithfh lecturenotes 9
Mithfh lecturenotes 9Mithfh lecturenotes 9
Mithfh lecturenotes 9
 
Mcs student
Mcs studentMcs student
Mcs student
 
Math350 hw2solutions
Math350 hw2solutionsMath350 hw2solutions
Math350 hw2solutions
 
Matching
MatchingMatching
Matching
 
Line circle draw
Line circle drawLine circle draw
Line circle draw
 
Lecture3
Lecture3Lecture3
Lecture3
 
Lec2 state space
Lec2 state spaceLec2 state space
Lec2 state space
 
Graphtheory
GraphtheoryGraphtheory
Graphtheory
 
Games.4
Games.4Games.4
Games.4
 
Dda line-algorithm
Dda line-algorithmDda line-algorithm
Dda line-algorithm
 
Cs344 lect15-robotic-knowledge-inferencing-prolog-11feb08
Cs344 lect15-robotic-knowledge-inferencing-prolog-11feb08Cs344 lect15-robotic-knowledge-inferencing-prolog-11feb08
Cs344 lect15-robotic-knowledge-inferencing-prolog-11feb08
 
Cse3461.c.signal encoding.09 04-2012
Cse3461.c.signal encoding.09 04-2012Cse3461.c.signal encoding.09 04-2012
Cse3461.c.signal encoding.09 04-2012
 

Recently uploaded

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Recently uploaded (20)

AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Quantum Leap in Next-Generation Computing
Quantum Leap in Next-Generation ComputingQuantum Leap in Next-Generation Computing
Quantum Leap in Next-Generation Computing
 
API Governance and Monetization - The evolution of API governance
API Governance and Monetization -  The evolution of API governanceAPI Governance and Monetization -  The evolution of API governance
API Governance and Monetization - The evolution of API governance
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Choreo: Empowering the Future of Enterprise Software Engineering
Choreo: Empowering the Future of Enterprise Software EngineeringChoreo: Empowering the Future of Enterprise Software Engineering
Choreo: Empowering the Future of Enterprise Software Engineering
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Navigating Identity and Access Management in the Modern Enterprise
Navigating Identity and Access Management in the Modern EnterpriseNavigating Identity and Access Management in the Modern Enterprise
Navigating Identity and Access Management in the Modern Enterprise
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Less Is More: Utilizing Ballerina to Architect a Cloud Data Platform
Less Is More: Utilizing Ballerina to Architect a Cloud Data PlatformLess Is More: Utilizing Ballerina to Architect a Cloud Data Platform
Less Is More: Utilizing Ballerina to Architect a Cloud Data Platform
 
Design and Development of a Provenance Capture Platform for Data Science
Design and Development of a Provenance Capture Platform for Data ScienceDesign and Development of a Provenance Capture Platform for Data Science
Design and Development of a Provenance Capture Platform for Data Science
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
JohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptx
 
Introduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDMIntroduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDM
 

Graphics display-devicesmod-1

  • 2. What is Computer Graphics?  Different things in different contexts: − − tools used to make such pictures, software and hardware, input/output devices. −  pictures, scenes that are generated by a computer. 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.
  • 3.    How pictures are represented in computer graphics? How pictures are prepared for presentation? How interaction within the picture is accomplished?
  • 4. Computer Graphics Applications  Art, entertainment, and publishing − − computer games − World Wide Web −  movie production, animation, special effects 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
  • 5. 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 − Light Emitting Diodes − 3D display devices (hologram or page scan methods)
  • 6. CRT 3. when electron beams contact screen phosphor emits light 1. cathode rays emitted by the electron gun 2. focusing and deflection 4. light fades, redraw required in a small period (refresh)
  • 7. 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
  • 8. Vector Scan    Picture definition is stored as a set of linedrawing 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)
  • 9. Raster Scan   Screen is a regular grid of samples called pixels (picture element) Screen is refreshed line by line non-interlaced  interlaced, cycle 1 interlaced, cycle 2 interlaced, 2 cycles Interlacing: Avoid flickering affect for small refresh rates. interlaced 50Hz: actually 25Hz
  • 10.     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?
  • 11. 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)
  • 12.  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.
  • 13. Vector vs Raster Scan  raster scan monitors: − − filled areas, patterns −  inexpensive 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 operations Raster scan: whole frame buffer 1000 scan conversions.
  • 14. 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.
  • 15. Simple Raster Display System   Frame buffer: stored pixel map of screen Video controller just refreshes the frame buffer on the monitor periodically. Peripheral Devices CPU System Bus System Frame Memor Buffer y Video Controller Monito r
  • 16.     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
  • 17. Graphics Display Processor   Scan conversion, output primitives, raster operations (double buffering) Separete frame buffer CPU Peripheral Devices System Bus Display Processor D. Proc. Frame memory. Buffer System Memory Video Controller Monito r
  • 18. 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)
  • 19. − Modeling primitives include these, but also   Piecewise polynomial (spline) surfaces  Implicit surfaces (quadrics, blobbies, etc.)  − Piecewise polynomial (spline) curves Other... Software renderer may support modeling primitives directly, or may convert them into polygonal or linear approximations for hardware rendering
  • 20. 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.
  • 21.  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.
  • 22. 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.
  • 23.   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.
  • 24. Graphics Rendering Pipeline  Rendering: image 3D Scene   conversion from scene to 2D 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.
  • 25.    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
  • 26.  The basic forward projection pipeline: Modeling Transformations Model Viewing Transformations M1 Model M2 3D World Scene V 3D View Scene Model M3 WCS MCS VCS Rasterization P Clip Projection Normalize 2D/3D Device Scene NDCS 2D Image DCS SCS