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 displays ppt
Raster scan displays pptRaster scan displays ppt
Raster scan displays pptABHISHEK KUMAR
 
Lecture+ +raster+&+random+scan+systems
Lecture+ +raster+&+random+scan+systemsLecture+ +raster+&+random+scan+systems
Lecture+ +raster+&+random+scan+systemsavelraj
 
Attributes of output Primitive
Attributes of output Primitive Attributes of output Primitive
Attributes of output Primitive SachiniGunawardana
 
Attributes of output primitive(line attributes)
Attributes of output primitive(line attributes)Attributes of output primitive(line attributes)
Attributes of output primitive(line attributes)shalinikarunakaran1
 
Computer graphics
Computer graphicsComputer graphics
Computer graphicsMohsin Azam
 
Raster scan systems with video controller and display processor
Raster scan systems with video controller and display processorRaster scan systems with video controller and display processor
Raster scan systems with video controller and display processorhemanth kumar
 
Video display devices
Video display devicesVideo display devices
Video display devicesMohd Arif
 
Computer animation
Computer animationComputer animation
Computer animationshusrusha
 
Computer graphics basic transformation
Computer graphics basic transformationComputer graphics basic transformation
Computer graphics basic transformationSelvakumar Gna
 
Fill area algorithms
Fill area algorithmsFill area algorithms
Fill area algorithmsKumar
 
Attributes of Output Primitives
Attributes of Output PrimitivesAttributes of Output Primitives
Attributes of Output PrimitivesRenita Santhmayora
 
Computer graphics notes
Computer graphics notesComputer graphics notes
Computer graphics notessmruti sarangi
 
Computer animation Computer Graphics
Computer animation Computer Graphics Computer animation Computer Graphics
Computer animation Computer Graphics University of Potsdam
 
Clipping in Computer Graphics
Clipping in Computer GraphicsClipping in Computer Graphics
Clipping in Computer GraphicsLaxman Puri
 
Computer Graphics (Hidden surfaces and line removal, Curves and surfaces, Sur...
Computer Graphics (Hidden surfaces and line removal, Curves and surfaces, Sur...Computer Graphics (Hidden surfaces and line removal, Curves and surfaces, Sur...
Computer Graphics (Hidden surfaces and line removal, Curves and surfaces, Sur...rohitjasudkar
 
COMPUTER GRAPHICS-"Projection"
COMPUTER GRAPHICS-"Projection"COMPUTER GRAPHICS-"Projection"
COMPUTER GRAPHICS-"Projection"Ankit Surti
 

What's hot (20)

Video display devices
Video display devicesVideo display devices
Video display devices
 
Frame buffer
Frame bufferFrame buffer
Frame buffer
 
Raster scan displays ppt
Raster scan displays pptRaster scan displays ppt
Raster scan displays ppt
 
Lecture+ +raster+&+random+scan+systems
Lecture+ +raster+&+random+scan+systemsLecture+ +raster+&+random+scan+systems
Lecture+ +raster+&+random+scan+systems
 
Attributes of output Primitive
Attributes of output Primitive Attributes of output Primitive
Attributes of output Primitive
 
Attributes of output primitive(line attributes)
Attributes of output primitive(line attributes)Attributes of output primitive(line attributes)
Attributes of output primitive(line attributes)
 
Computer graphics
Computer graphicsComputer graphics
Computer graphics
 
Raster scan systems with video controller and display processor
Raster scan systems with video controller and display processorRaster scan systems with video controller and display processor
Raster scan systems with video controller and display processor
 
Video display devices
Video display devicesVideo display devices
Video display devices
 
Computer animation
Computer animationComputer animation
Computer animation
 
Computer graphics basic transformation
Computer graphics basic transformationComputer graphics basic transformation
Computer graphics basic transformation
 
Fill area algorithms
Fill area algorithmsFill area algorithms
Fill area algorithms
 
Attributes of Output Primitives
Attributes of Output PrimitivesAttributes of Output Primitives
Attributes of Output Primitives
 
Computer graphics notes
Computer graphics notesComputer graphics notes
Computer graphics notes
 
Computer animation Computer Graphics
Computer animation Computer Graphics Computer animation Computer Graphics
Computer animation Computer Graphics
 
Depth Buffer Method
Depth Buffer MethodDepth Buffer Method
Depth Buffer Method
 
Clipping in Computer Graphics
Clipping in Computer GraphicsClipping in Computer Graphics
Clipping in Computer Graphics
 
Computer Graphics (Hidden surfaces and line removal, Curves and surfaces, Sur...
Computer Graphics (Hidden surfaces and line removal, Curves and surfaces, Sur...Computer Graphics (Hidden surfaces and line removal, Curves and surfaces, Sur...
Computer Graphics (Hidden surfaces and line removal, Curves and surfaces, Sur...
 
ANIMATION SEQUENCE
ANIMATION SEQUENCEANIMATION SEQUENCE
ANIMATION SEQUENCE
 
COMPUTER GRAPHICS-"Projection"
COMPUTER GRAPHICS-"Projection"COMPUTER GRAPHICS-"Projection"
COMPUTER GRAPHICS-"Projection"
 

Similar to CG Hardware and Software Lecture Notes

Computer graphics - Nitish Nagar
Computer graphics - Nitish NagarComputer graphics - Nitish Nagar
Computer graphics - Nitish NagarNitish Nagar
 
Introduction to Computer Graphics.pptx
Introduction to Computer Graphics.pptxIntroduction to Computer Graphics.pptx
Introduction to Computer Graphics.pptxAhmadAbba6
 
Introduction to Computer graphics
Introduction to Computer graphicsIntroduction to Computer graphics
Introduction to Computer graphicsLOKESH KUMAR
 
computer Graphics
computer Graphics computer Graphics
computer Graphics Rozi khan
 
Fundamentals of Computer Graphics.pdf
Fundamentals of Computer Graphics.pdfFundamentals of Computer Graphics.pdf
Fundamentals of Computer Graphics.pdfMattupallipardhu
 
Introduction to computer graphics and multimedia
Introduction to computer graphics and multimediaIntroduction to computer graphics and multimedia
Introduction to computer graphics and multimediaShweta Shah
 
Computer Graphics Notes
Computer Graphics NotesComputer Graphics Notes
Computer Graphics NotesGurpreet singh
 
unit1_updated.pptx
unit1_updated.pptxunit1_updated.pptx
unit1_updated.pptxRYZEN14
 
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
 
CG_ch1.pptx
CG_ch1.pptxCG_ch1.pptx
CG_ch1.pptxNirajG3
 
CG_Unit1_SShah.pptx
CG_Unit1_SShah.pptxCG_Unit1_SShah.pptx
CG_Unit1_SShah.pptxShweta Shah
 
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 algorithmDeepika Walanjkar
 
Computer Graphics Full Tutorial.pptx
Computer Graphics Full Tutorial.pptxComputer Graphics Full Tutorial.pptx
Computer Graphics Full Tutorial.pptxAOUNHAIDER7
 
Computer Graphics lecture.pptx
Computer Graphics lecture.pptxComputer Graphics lecture.pptx
Computer Graphics lecture.pptxNishkaSharma5
 
Introduction with graphics
Introduction with graphicsIntroduction with graphics
Introduction with graphicsmsouravmishra
 
new ai techniques.pptx
new ai techniques.pptxnew ai techniques.pptx
new ai techniques.pptxSanandMishra
 

Similar to CG Hardware and Software Lecture Notes (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
 
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
 
new ai techniques.pptx
new ai techniques.pptxnew ai techniques.pptx
new ai techniques.pptx
 

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

How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 

Recently uploaded (20)

How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 

CG Hardware and Software Lecture Notes

  • 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