Title: Display Technologies
1Display Technologies
2Types of video display
- Cathode Ray Tubes (CRTs)
- TVs, RGB monitors, o-scopes
- Flat-Panel Displays
- PDAs, laptops, calculators, digital watches
3CRTs
Electrons are fired from a filament, focused,
accelerated, then deflected to a point on the
phosphor coating on the inside of the display
screen
4Random-scan CRTs
Electron beam is scanned along each line
segment Capable of displaying continuous lines
and very high resolution curves High-end
displays capable of 100k lines per refresh
5Random-scan CRTs
- Pros
- Excellent for line drawings
- Generally high resolution
- Cons
- Can not display realistic shaded images
- Not capable of color
- Common Example
- Oscilloscopes
6Raster-scan CRTs
Electron beam is scanned left-to-right,
top-to-bottom Beam retraces to top-left after
reaching bottom-right (vertical retrace) Capable
of displaying continuous range of intensities at
discrete positions High-end displays capable of
4k x 4k _at_ 120 Hz
7Raster-scan CRTs
Three electron guns are used, one for each
color The guns are aimed through a mask and onto
colored phosphors Colored phosphors are arranged
in RGB triples dots (delta) RGB
monitors stripes (inline) TVs, Sony Trinitron
8Raster-scan CRTs
- Pros
- Excellent for varying intensity
- Can display shaded images
- Color
- Cons
- Jaggies
- Common Example
- Televisions
9Color Models
10Human Visual System
- The human retina is covered in 2 kinds of
photoreceptor, rods and cones - The fovea, densely packed with cones, is
responsible for detailed color vision
11RGB color cube
- Coordinate system with R, G, B as axes
- Grayscale axis runs from (0,0,0) to (1,1,1)
12CMY color model
Coordinate system with C, M, Y as axes useful
for describing color output to hard-copy
devices. Grayscale axis runs from (0,0,0) to
(1,1,1). Color - substractive process.
13The Framebuffer
14Raster-scan review
- Display composed of discrete, addressable points
- picture elements or pixels
- Can control intensity of each pixel
- Pixels can be composed of RGB triples
15True-color
- 3 channels, 8 bits per channel 24 bits per
pixel - Often includes a 4th, non-display, channel
(alpha) used for image composition 32 bpp - 256 intensity levels per channel
- 224 total colors
- Sometimes combined with a LUT per channel (gamma
correction)
16Indexed-color
- 8 bpp
- Each byte is an index to a LUT (colormap)
- All 224 colors are available to the colormap, but
only 28 colors are available to the framebuffer - Can do animation by swapping colormap entries
- Multiple apps can cause flashing if they try to
use different colormaps at the same time
17High-color
- 16 bpp, 5 bits per primary color
- Sometimes the extra bit is given to green
- Limited number of bits per color can lead to
noticeable quantization effects (color banding
artifacts) and can be worse than index color in
certain circumstances
18Color quantization
Indexed-Color
High-Color
19Single-buffered
- Single-buffered mode writes pixels directly into
active framebuffer memory - Partial results are therefore visible
- This is especially noticeable when trying to do
animation
20Double-buffered
- Double-buffered mode writes pixels into a
secondary buffer (back buffer), different from
the buffer currently on display (front buffer) - When all pixels are written to the secondary
buffer, an explicit call is made to swap the
front and back buffers - The swap is typically done during the displays
vertical retrace period - This technique is preferred for interactive
graphics
21Framebuffer math
- How much memory is needed for a 1024 x 768
true-color (32 bit) framebuffer - Single-buffered?
22Framebuffer math
- How much memory is needed for a 800 x 600
index-color framebuffer - Single-buffered?
- Please calculate yourself
23Coordinate systems
- Most windowing systems
- OpenGL framebuffer
x
(0,0)
y
y
x
(0,0)
24Coordinate systems
- Does it matter? No, we just need to be aware of
the difference - Where a pixel in the framebuffer will show up on
screen? - How do we get the pixel address under the mouse
pointer? - Could some other display library have its
framebuffer lay-out match your windowing system?
Absolutely. Many do. - What if all we never directly displayed our
framebuffer, but wrote it out as an image for
later display? - Virtually all image formats use screen-space
coordinates. - What if we want to support both?
- Then we have to know when to invert the y-axis.
When would you do it?
25Framebuffer coordinates
- Well pick OpenGLs coordinate system.
- Where will these points appear on the screen?
- (0, 0)
- (5, 7)
- (8, 3)
2
3
1