introduction to computer graphics cs 445 / 645 lecture 2 general graphics systems lecture 2 general...

30
Introduction to Computer Graphics CS 445 / 645 Lecture 2 Lecture 2 General Graphics Systems General Graphics Systems Daniel Rozin, Wooden Mirror (1999)

Upload: prosper-newton

Post on 22-Dec-2015

226 views

Category:

Documents


6 download

TRANSCRIPT

Introduction to Computer GraphicsCS 445 / 645

Lecture 2Lecture 2

General Graphics SystemsGeneral Graphics Systems

Lecture 2Lecture 2

General Graphics SystemsGeneral Graphics Systems

Daniel Rozin, Wooden Mirror (1999)

AnnouncementAnnouncement

• Class web site is upClass web site is up

Overview – Read Chapter 2Overview – Read Chapter 2

• Display devicesDisplay devices

• Graphics hardwareGraphics hardware

• Input devicesInput devices

• Graphics SoftwareGraphics Software

AnnouncementAnnouncement

• Class web site is upClass web site is up

Overview – Read Chapter 2Overview – Read Chapter 2

• Display devicesDisplay devices

• Graphics hardwareGraphics hardware

• Input devicesInput devices

• Graphics SoftwareGraphics Software

Display technologies

Cathode Ray Tubes (CRTs)Cathode Ray Tubes (CRTs)

• Most common display device todayMost common display device today

• Evacuated glass bottleEvacuated glass bottle

• Extremely high voltageExtremely high voltage

Cathode Ray Tubes (CRTs)Cathode Ray Tubes (CRTs)

• Most common display device todayMost common display device today

• Evacuated glass bottleEvacuated glass bottle

• Extremely high voltageExtremely high voltage

CRT details• Heating element Heating element

(filament)(filament)

• Electrons pulled Electrons pulled towards towards anode focusing anode focusing cylindercylinder

• Vertical and Vertical and horizontal deflection horizontal deflection platesplates

• Beam strikes Beam strikes phosphor coating on phosphor coating on front of tubefront of tube

• Heating element Heating element (filament)(filament)

• Electrons pulled Electrons pulled towards towards anode focusing anode focusing cylindercylinder

• Vertical and Vertical and horizontal deflection horizontal deflection platesplates

• Beam strikes Beam strikes phosphor coating on phosphor coating on front of tubefront of tube

Electron gun

Contains a filament that, when heated, emits a stream of Contains a filament that, when heated, emits a stream of electronselectrons

Electrons are focused with an electromagnet into a sharp Electrons are focused with an electromagnet into a sharp beam and directed to a specific point of the face of the beam and directed to a specific point of the face of the picture tubepicture tube

The front surface of the picture tube is coated with small The front surface of the picture tube is coated with small phospher dotsphospher dots

When the beam hits a phospher dot it glows with a brightness When the beam hits a phospher dot it glows with a brightness proportional to the strength of the beam and how long it is proportional to the strength of the beam and how long it is hithit

Contains a filament that, when heated, emits a stream of Contains a filament that, when heated, emits a stream of electronselectrons

Electrons are focused with an electromagnet into a sharp Electrons are focused with an electromagnet into a sharp beam and directed to a specific point of the face of the beam and directed to a specific point of the face of the picture tubepicture tube

The front surface of the picture tube is coated with small The front surface of the picture tube is coated with small phospher dotsphospher dots

When the beam hits a phospher dot it glows with a brightness When the beam hits a phospher dot it glows with a brightness proportional to the strength of the beam and how long it is proportional to the strength of the beam and how long it is hithit

CRT characteristicsWhat’s the largest (diagonal) CRT you’ve seen?What’s the largest (diagonal) CRT you’ve seen?

• Why is that the largest?Why is that the largest?

– Evacuated tube == massive glassEvacuated tube == massive glass

– Symmetrical electron paths (corners vs. center)Symmetrical electron paths (corners vs. center)

How might one measure CRT capabilities?How might one measure CRT capabilities?

• Size of tubeSize of tube

• Brightness of phosphers vs. darkness of tubeBrightness of phosphers vs. darkness of tube

• Speed of electron gunSpeed of electron gun

• Width of electron beam Width of electron beam

• Pixels?Pixels?

What’s the largest (diagonal) CRT you’ve seen?What’s the largest (diagonal) CRT you’ve seen?

• Why is that the largest?Why is that the largest?

– Evacuated tube == massive glassEvacuated tube == massive glass

– Symmetrical electron paths (corners vs. center)Symmetrical electron paths (corners vs. center)

How might one measure CRT capabilities?How might one measure CRT capabilities?

• Size of tubeSize of tube

• Brightness of phosphers vs. darkness of tubeBrightness of phosphers vs. darkness of tube

• Speed of electron gunSpeed of electron gun

• Width of electron beam Width of electron beam

• Pixels?Pixels?

Display technologies: CRTs

Vector DisplaysVector Displays

• Anybody remember Anybody remember BattlezoneBattlezone? ? TempestTempest? ?

Display technologies: CRTs

Vector DisplaysVector Displays

• Early computer displays: basically an oscilloscopeEarly computer displays: basically an oscilloscope

• Control X,Y with vertical/horizontal plate voltage Control X,Y with vertical/horizontal plate voltage

• Often used intensity as Z (close things were brighter)Often used intensity as Z (close things were brighter)

Name two disadvantagesName two disadvantages

Just does wireframeJust does wireframe

Complex scenes cause visible flickerComplex scenes cause visible flicker

Vector DisplaysVector Displays

• Early computer displays: basically an oscilloscopeEarly computer displays: basically an oscilloscope

• Control X,Y with vertical/horizontal plate voltage Control X,Y with vertical/horizontal plate voltage

• Often used intensity as Z (close things were brighter)Often used intensity as Z (close things were brighter)

Name two disadvantagesName two disadvantages

Just does wireframeJust does wireframe

Complex scenes cause visible flickerComplex scenes cause visible flicker

Display technologies: CRTs

Raster DisplaysRaster Displays

• Raster: A rectangular array of points or dotsRaster: A rectangular array of points or dots

• Pixel: One dot or picture element of the rasterPixel: One dot or picture element of the raster

• Scan line: A row of pixelsScan line: A row of pixels

Raster DisplaysRaster Displays

• Raster: A rectangular array of points or dotsRaster: A rectangular array of points or dots

• Pixel: One dot or picture element of the rasterPixel: One dot or picture element of the raster

• Scan line: A row of pixelsScan line: A row of pixels

Display technologies: CRTs

Raster DisplaysRaster Displays

• Black and white television: an oscilloscope with a fixed scan Black and white television: an oscilloscope with a fixed scan pattern: left to right, top to bottompattern: left to right, top to bottom

– As beam sweeps across entire face of CRT, beam intensity As beam sweeps across entire face of CRT, beam intensity changes to reflect brightnesschanges to reflect brightness

• Analog signal vs. digital displayAnalog signal vs. digital display

Raster DisplaysRaster Displays

• Black and white television: an oscilloscope with a fixed scan Black and white television: an oscilloscope with a fixed scan pattern: left to right, top to bottompattern: left to right, top to bottom

– As beam sweeps across entire face of CRT, beam intensity As beam sweeps across entire face of CRT, beam intensity changes to reflect brightnesschanges to reflect brightness

• Analog signal vs. digital displayAnalog signal vs. digital display

Display technologies: CRT

Can a computer display work like a black and white TV?Can a computer display work like a black and white TV?

• Must synchronizeMust synchronize

– Your program makes decisions about the intensity signal at the pace Your program makes decisions about the intensity signal at the pace of the CPU…of the CPU…

– The screen is “painted” at the pace of the electron gun scanning the The screen is “painted” at the pace of the electron gun scanning the rasterraster

• Solution: special memory to buffer image with scan-out synchronous to Solution: special memory to buffer image with scan-out synchronous to the raster. We call this the the raster. We call this the framebufferframebuffer..

• Digital description to analog signal to digital displayDigital description to analog signal to digital display

Can a computer display work like a black and white TV?Can a computer display work like a black and white TV?

• Must synchronizeMust synchronize

– Your program makes decisions about the intensity signal at the pace Your program makes decisions about the intensity signal at the pace of the CPU…of the CPU…

– The screen is “painted” at the pace of the electron gun scanning the The screen is “painted” at the pace of the electron gun scanning the rasterraster

• Solution: special memory to buffer image with scan-out synchronous to Solution: special memory to buffer image with scan-out synchronous to the raster. We call this the the raster. We call this the framebufferframebuffer..

• Digital description to analog signal to digital displayDigital description to analog signal to digital display

Display Technologies: CRTs

PhosphersPhosphers• Flourescence:Flourescence: Light emitted while the phospher is Light emitted while the phospher is

being struck by electronsbeing struck by electrons

• Phospherescence:Phospherescence: Light emitted once the electron Light emitted once the electron beam is removedbeam is removed

• Persistence:Persistence: The time from the removal of the The time from the removal of the excitation to the moment when phospherescence has excitation to the moment when phospherescence has decayed to 10% of the initial light outputdecayed to 10% of the initial light output

PhosphersPhosphers• Flourescence:Flourescence: Light emitted while the phospher is Light emitted while the phospher is

being struck by electronsbeing struck by electrons

• Phospherescence:Phospherescence: Light emitted once the electron Light emitted once the electron beam is removedbeam is removed

• Persistence:Persistence: The time from the removal of the The time from the removal of the excitation to the moment when phospherescence has excitation to the moment when phospherescence has decayed to 10% of the initial light outputdecayed to 10% of the initial light output

Display Technologies: CRTs

RefreshRefresh

• Frame must be “refreshed” to draw new imagesFrame must be “refreshed” to draw new images

• As new pixels are struck by electron beam, others are decayingAs new pixels are struck by electron beam, others are decaying

• Electron beam must hit all pixels frequently to eliminate flickerElectron beam must hit all pixels frequently to eliminate flicker

• Critical fusion frequencyCritical fusion frequency

– Typically 60 times/secTypically 60 times/sec

– Varies with intensity, individuals, phospher persistence, Varies with intensity, individuals, phospher persistence, lighting...lighting...

RefreshRefresh

• Frame must be “refreshed” to draw new imagesFrame must be “refreshed” to draw new images

• As new pixels are struck by electron beam, others are decayingAs new pixels are struck by electron beam, others are decaying

• Electron beam must hit all pixels frequently to eliminate flickerElectron beam must hit all pixels frequently to eliminate flicker

• Critical fusion frequencyCritical fusion frequency

– Typically 60 times/secTypically 60 times/sec

– Varies with intensity, individuals, phospher persistence, Varies with intensity, individuals, phospher persistence, lighting...lighting...

Display Technologies: CRTs

Interlaced ScanningInterlaced Scanning

• Assume we can only scan all pixels of entire screen Assume we can only scan all pixels of entire screen 30 times / second30 times / second

• To reduce flicker, divide frame into two “fields” of odd To reduce flicker, divide frame into two “fields” of odd and even linesand even lines

Interlaced ScanningInterlaced Scanning

• Assume we can only scan all pixels of entire screen Assume we can only scan all pixels of entire screen 30 times / second30 times / second

• To reduce flicker, divide frame into two “fields” of odd To reduce flicker, divide frame into two “fields” of odd and even linesand even lines

1/30 Sec 1/30 Sec1/60 Sec 1/60 Sec 1/60 Sec 1/60 SecField 1 Field 1Field 2 Field 2

Frame Frame

Display Technologies: CRTs

CRT timingCRT timing

• Scanning (left to right, top to bottom)Scanning (left to right, top to bottom)

– Vertical Sync Pulse:Vertical Sync Pulse: Signals the start of the next field Signals the start of the next field

– Vertical Retrace:Vertical Retrace: Time needed to get from the bottom of the Time needed to get from the bottom of the current field to the top of the next fieldcurrent field to the top of the next field

– Horizontal Sync Pulse:Horizontal Sync Pulse: Signals the start of the new scan line Signals the start of the new scan line

– Horizontal Retrace:Horizontal Retrace: The time needed to get from the end of The time needed to get from the end of the current scan line to the start of the next scan linethe current scan line to the start of the next scan line

CRT timingCRT timing

• Scanning (left to right, top to bottom)Scanning (left to right, top to bottom)

– Vertical Sync Pulse:Vertical Sync Pulse: Signals the start of the next field Signals the start of the next field

– Vertical Retrace:Vertical Retrace: Time needed to get from the bottom of the Time needed to get from the bottom of the current field to the top of the next fieldcurrent field to the top of the next field

– Horizontal Sync Pulse:Horizontal Sync Pulse: Signals the start of the new scan line Signals the start of the new scan line

– Horizontal Retrace:Horizontal Retrace: The time needed to get from the end of The time needed to get from the end of the current scan line to the start of the next scan linethe current scan line to the start of the next scan line

What is a pixel?

Wood chips Chrome spheres TrashWood chips Chrome spheres Trash Wood chips Chrome spheres TrashWood chips Chrome spheres Trash

Daniel Rozin – NYU: (movies) http://fargo.itp.tsoa.nyu.edu/~danny/art.html

Display Technology: Color CRTs

Color CRTs are Color CRTs are muchmuch more complicated more complicated

• Requires manufacturing very precise geometryRequires manufacturing very precise geometry

• Uses a pattern of color phosphors on the screen:Uses a pattern of color phosphors on the screen:

• Why red, green, and blue phosphors?Why red, green, and blue phosphors?

Color CRTs are Color CRTs are muchmuch more complicated more complicated

• Requires manufacturing very precise geometryRequires manufacturing very precise geometry

• Uses a pattern of color phosphors on the screen:Uses a pattern of color phosphors on the screen:

• Why red, green, and blue phosphors?Why red, green, and blue phosphors?

Delta electron gun arrangement In-line electron gun arrangement

Display Technology: Color CRTs

Color CRTs haveColor CRTs have

• Three electron gunsThree electron guns

• A metal A metal shadow maskshadow mask to differentiate the beamsto differentiate the beams

Color CRTs haveColor CRTs have

• Three electron gunsThree electron guns

• A metal A metal shadow maskshadow mask to differentiate the beamsto differentiate the beams

Display Technology: Raster

Raster CRT pros:Raster CRT pros:

• Allows solids, not just wireframesAllows solids, not just wireframes

• Leverages low-cost CRT technology (i.e., TVs)Leverages low-cost CRT technology (i.e., TVs)

• Bright! Display Bright! Display emitsemits light light

Cons:Cons:

• Requires screen-size memory arrayRequires screen-size memory array

• Discreet sampling (pixels)Discreet sampling (pixels)

• Practical limit on size (call it 40 inches)Practical limit on size (call it 40 inches)

• BulkyBulky

• Finicky (convergence, warp, etc)Finicky (convergence, warp, etc)

Raster CRT pros:Raster CRT pros:

• Allows solids, not just wireframesAllows solids, not just wireframes

• Leverages low-cost CRT technology (i.e., TVs)Leverages low-cost CRT technology (i.e., TVs)

• Bright! Display Bright! Display emitsemits light light

Cons:Cons:

• Requires screen-size memory arrayRequires screen-size memory array

• Discreet sampling (pixels)Discreet sampling (pixels)

• Practical limit on size (call it 40 inches)Practical limit on size (call it 40 inches)

• BulkyBulky

• Finicky (convergence, warp, etc)Finicky (convergence, warp, etc)

CRTs – A Review

• CRT technology hasn’t changed much in 50 yearsCRT technology hasn’t changed much in 50 years

• Early television technologyEarly television technology

– high resolution high resolution

– requires synchronization between video signal and requires synchronization between video signal and electron beam vertical sync pulseelectron beam vertical sync pulse

• Early computer displaysEarly computer displays

– avoided synchronization using ‘vector’ algorithmavoided synchronization using ‘vector’ algorithm

– flicker and refresh were problematicflicker and refresh were problematic

• CRT technology hasn’t changed much in 50 yearsCRT technology hasn’t changed much in 50 years

• Early television technologyEarly television technology

– high resolution high resolution

– requires synchronization between video signal and requires synchronization between video signal and electron beam vertical sync pulseelectron beam vertical sync pulse

• Early computer displaysEarly computer displays

– avoided synchronization using ‘vector’ algorithmavoided synchronization using ‘vector’ algorithm

– flicker and refresh were problematicflicker and refresh were problematic

CRTs – A Review• Raster Displays (early 70s)Raster Displays (early 70s)

– like television, scan all pixels in regular patternlike television, scan all pixels in regular pattern

– use frame buffer (video RAM) to eliminate sync problemsuse frame buffer (video RAM) to eliminate sync problems

• RAMRAM

– ¼ MB (256 KB) cost $2 million in 1971¼ MB (256 KB) cost $2 million in 1971

– Do some math…Do some math…

- 1280 x 1024 screen resolution = 1,310,720 pixels1280 x 1024 screen resolution = 1,310,720 pixels

- Monochrome color (binary) requires 160 KBMonochrome color (binary) requires 160 KB

- High resolution color requires 5.2 MBHigh resolution color requires 5.2 MB

• Raster Displays (early 70s)Raster Displays (early 70s)

– like television, scan all pixels in regular patternlike television, scan all pixels in regular pattern

– use frame buffer (video RAM) to eliminate sync problemsuse frame buffer (video RAM) to eliminate sync problems

• RAMRAM

– ¼ MB (256 KB) cost $2 million in 1971¼ MB (256 KB) cost $2 million in 1971

– Do some math…Do some math…

- 1280 x 1024 screen resolution = 1,310,720 pixels1280 x 1024 screen resolution = 1,310,720 pixels

- Monochrome color (binary) requires 160 KBMonochrome color (binary) requires 160 KB

- High resolution color requires 5.2 MBHigh resolution color requires 5.2 MB

Movie Theaters

U.S. film projectors play film at 24 fpsU.S. film projectors play film at 24 fps• Projectors have a shutter to block light during frame advanceProjectors have a shutter to block light during frame advance

• To reduce flicker, shutter opens twice for each frame – resulting in 48 To reduce flicker, shutter opens twice for each frame – resulting in 48 fps flashingfps flashing

• 48 fps is perceptually acceptable48 fps is perceptually acceptable

European film projectors play film at 25 fpsEuropean film projectors play film at 25 fps• American films are played ‘as is’ in Europe, resulting in everything American films are played ‘as is’ in Europe, resulting in everything

moving 4% fastermoving 4% faster

• Faster movements and increased audio pitch are considered Faster movements and increased audio pitch are considered perceptually acceptableperceptually acceptable

U.S. film projectors play film at 24 fpsU.S. film projectors play film at 24 fps• Projectors have a shutter to block light during frame advanceProjectors have a shutter to block light during frame advance

• To reduce flicker, shutter opens twice for each frame – resulting in 48 To reduce flicker, shutter opens twice for each frame – resulting in 48 fps flashingfps flashing

• 48 fps is perceptually acceptable48 fps is perceptually acceptable

European film projectors play film at 25 fpsEuropean film projectors play film at 25 fps• American films are played ‘as is’ in Europe, resulting in everything American films are played ‘as is’ in Europe, resulting in everything

moving 4% fastermoving 4% faster

• Faster movements and increased audio pitch are considered Faster movements and increased audio pitch are considered perceptually acceptableperceptually acceptable

Viewing Movies at Home

Film to DVD transferFilm to DVD transfer

• Problem: 24 film fps must be converted to Problem: 24 film fps must be converted to

– NTSC U.S. television interlaced 29.97 fps 768x494 NTSC U.S. television interlaced 29.97 fps 768x494

– PAL Europe television 25 fps 752x582PAL Europe television 25 fps 752x582

Use 3:2 PulldownUse 3:2 Pulldown

• First frame of movie is broken into first three fields (odd, even, odd)First frame of movie is broken into first three fields (odd, even, odd)

• Next frame of movie is broken into next two fields (even, odd)Next frame of movie is broken into next two fields (even, odd)

• Next frame of movie is broken into next three fields (even, odd, even)…Next frame of movie is broken into next three fields (even, odd, even)…

Film to DVD transferFilm to DVD transfer

• Problem: 24 film fps must be converted to Problem: 24 film fps must be converted to

– NTSC U.S. television interlaced 29.97 fps 768x494 NTSC U.S. television interlaced 29.97 fps 768x494

– PAL Europe television 25 fps 752x582PAL Europe television 25 fps 752x582

Use 3:2 PulldownUse 3:2 Pulldown

• First frame of movie is broken into first three fields (odd, even, odd)First frame of movie is broken into first three fields (odd, even, odd)

• Next frame of movie is broken into next two fields (even, odd)Next frame of movie is broken into next two fields (even, odd)

• Next frame of movie is broken into next three fields (even, odd, even)…Next frame of movie is broken into next three fields (even, odd, even)…

Display Technology: LCDs

Liquid Crystal Displays (LCDs)Liquid Crystal Displays (LCDs)

• LCDs: organic molecules, naturally in crystalline LCDs: organic molecules, naturally in crystalline state, that liquefy when excited by heat or E fieldstate, that liquefy when excited by heat or E field

• Crystalline state twists polarized light 90º. Crystalline state twists polarized light 90º.

Liquid Crystal Displays (LCDs)Liquid Crystal Displays (LCDs)

• LCDs: organic molecules, naturally in crystalline LCDs: organic molecules, naturally in crystalline state, that liquefy when excited by heat or E fieldstate, that liquefy when excited by heat or E field

• Crystalline state twists polarized light 90º. Crystalline state twists polarized light 90º.

Display Technology: LCDs

Liquid Crystal Displays (LCDs)Liquid Crystal Displays (LCDs)

• LCDs: organic molecules, naturally in crystalline LCDs: organic molecules, naturally in crystalline state, that liquefy when excited by heat or E fieldstate, that liquefy when excited by heat or E field

• Crystalline state twists polarized light 90ºCrystalline state twists polarized light 90º

Liquid Crystal Displays (LCDs)Liquid Crystal Displays (LCDs)

• LCDs: organic molecules, naturally in crystalline LCDs: organic molecules, naturally in crystalline state, that liquefy when excited by heat or E fieldstate, that liquefy when excited by heat or E field

• Crystalline state twists polarized light 90ºCrystalline state twists polarized light 90º

Display Technology: LCDs

Transmissive & reflective LCDs:Transmissive & reflective LCDs:

• LCDs act as light valves, not light emitters, and thus rely on an LCDs act as light valves, not light emitters, and thus rely on an external light source.external light source.

• Laptop screenLaptop screen

– backlitbacklit

– transmissive displaytransmissive display

• Palm Pilot/Game BoyPalm Pilot/Game Boy

– reflective displayreflective display

Transmissive & reflective LCDs:Transmissive & reflective LCDs:

• LCDs act as light valves, not light emitters, and thus rely on an LCDs act as light valves, not light emitters, and thus rely on an external light source.external light source.

• Laptop screenLaptop screen

– backlitbacklit

– transmissive displaytransmissive display

• Palm Pilot/Game BoyPalm Pilot/Game Boy

– reflective displayreflective display

Display Technology: Plasma

Plasma display panelsPlasma display panels

• Similar in principle to Similar in principle to fluorescent light tubesfluorescent light tubes

• Small gas-filled capsules Small gas-filled capsules are excited by electric field,are excited by electric field,emits UV lightemits UV light

• UV excites phosphorUV excites phosphor

• Phosphor relaxes, emits Phosphor relaxes, emits some other colorsome other color

Plasma display panelsPlasma display panels

• Similar in principle to Similar in principle to fluorescent light tubesfluorescent light tubes

• Small gas-filled capsules Small gas-filled capsules are excited by electric field,are excited by electric field,emits UV lightemits UV light

• UV excites phosphorUV excites phosphor

• Phosphor relaxes, emits Phosphor relaxes, emits some other colorsome other color

Display Technology

Plasma Display Panel ProsPlasma Display Panel Pros• Large viewing angleLarge viewing angle

• Good for large-format displaysGood for large-format displays

• Fairly brightFairly bright

ConsCons• ExpensiveExpensive

• Large pixels (~1 mm versus ~0.2 mm)Large pixels (~1 mm versus ~0.2 mm)

• Phosphors gradually depletePhosphors gradually deplete

• Less bright than CRTs, using more powerLess bright than CRTs, using more power

Plasma Display Panel ProsPlasma Display Panel Pros• Large viewing angleLarge viewing angle

• Good for large-format displaysGood for large-format displays

• Fairly brightFairly bright

ConsCons• ExpensiveExpensive

• Large pixels (~1 mm versus ~0.2 mm)Large pixels (~1 mm versus ~0.2 mm)

• Phosphors gradually depletePhosphors gradually deplete

• Less bright than CRTs, using more powerLess bright than CRTs, using more power

Review

Read Chapter 2Read Chapter 2

• Details about display devicesDetails about display devices

Implement OpenGLImplement OpenGL

• Section 2.9 is good introduction to OpenGLSection 2.9 is good introduction to OpenGL

Read Chapter 2Read Chapter 2

• Details about display devicesDetails about display devices

Implement OpenGLImplement OpenGL

• Section 2.9 is good introduction to OpenGLSection 2.9 is good introduction to OpenGL