Outline for April 25, 2007
Question:
What are the advantages of having people vote using computers? What are the disadvantages?
-
Greetings and felicitations!
-
I will do a review session in class on Friday, so bring your questions to it!
-
Sample midterm available on Thursday, on the web
-
Warning: no office hours on Wednesday!
-
Brief history of computer games
-
1961: Spacewar! implemented on a PDP-1 at MIT; two ships fired torpedos at one another and moved around screen; DEC liked it so much they distributed it with the PDP-1
-
1971: Star Trek created on Sigma 7 minicomputer at MIT in 1971
-
1972: Hunt the Wumpus created on PDP-10; ported to a wide variety of systems
-
1974: Maze War at NASA Ames Research Center was early multi-player 3D "first person shooter" game
-
1975: Adventure written in FORTRAN for PDP-10 by Will Crowther; very widely ported to other systems
-
1980s: Pong, Pac-Man, etc. on home computers
-
3D graphics
-
3 numbers to specify each point in space.
-
2D triangles (or other polygons) composed to create 3D objects.
-
Geometry engine of the GPU (Graphics Processing Unit) calculates position of each corner with respect to a vantage point and camera angle, called tessellation or triangulation. Also calculates position of light sources, and clips lines outside viewpoint
-
Rendering engine of the GPU creates 2D rasterization of 3D scene
-
Creates a wire frame of lines of the polygons.
-
Z-Sorting (depth from viewer) of each polygon so closer objects are drawn last and properly cover more distant objects.
-
Z-buffering calculates depth values of each pixel of on the surface of each polygon, and stores them. Then displays pixel with smallest depth on each ray.
-
Filling things in
-
Texture maps are unchanging bitmaps that are tiled to cover surfaces.
-
MIP mapping (multum in parvum) "many in few" uses different bitmaps for the same surface depending on the surfaces projected size and resolution.
-
Perspective correction changes texture maps to wedges
-
Alpha blending, for translucent effects, takes a percentage of the fog and the original pixel. Faster to "stipple" which shows fog on every other pixel.
-
"Fogging" makes diffuses distant objects. "Depth cueing" makes distant objects darker. Both reduce details and make rendering less complicated for the rendering engine.
-
Shading
-
Bilinear filtering averages the four surrounding texture map pixels
-
Shading is based on light sources. Gouraud shading interpolates values between vertices of the same polygon
-
Ray tracing follows the path of a light ray as its reflected, refracted, and absorbed
-
Vertex shaders apply Gouraud shading principles to non-visual properties of animated objects, e.g. temperature and weight, and displacement
-
Particle shaders operate on individual pixels independent of polygons
-
Video cards
-
Two cards use "scissors rendering" to split though, with one to doing the upper part of the scene and one doing the lower part.
-
If the two cards finish a scene early, "frame buffers" hold the scenes until it is their turn.
-
Cards need their own power connectors, fans, and heat sinks.
Here is a PDF version of this document.