CS 470 WVU Final
right-handed coordinate system
+x - to the right +y - up +z - toward the viewer
modelview matrix
4x4 matrix defining any/all transformations to the CG model
Projection matrix
4x4 matrix defining how the model data will be projected to the viewport
Triangular matrix
A matrix containing data in the upper or lower half of the matrix (including diagonal)
Diagonal matrix
A matrix containing values on the main diagonal. All other values are zero
Matrix algebra properties
Associative (AB)C = A(BC) Distributive (A+B)C = AC + BC or C(A+B) = CA + CB Not commutative AB ≠ BA
near clipping plane
In a 3D model space a boundry in which objects are modeled closer to the viewpoint than that boundry and will not be rendered and therefore not seen in the view
for matrix multiplication the number of columns in the first matrix...
Must equal the number of rows in the second matrix
Screen Coordinates
Positions on a display device, often in terms of pixels
glPushMatrix()
Push the current matrix on the stack
2 Basic Color models
RGB (additive) & CMY (subtractive)
World Coordinate System
The coordinate system for the space that you are working in, the whole model space
scene graph
The representation of a computer graphics model or components of a model to identify the components and their hierarchical relationship in the model in the form of a graph
sketetal animation
To create an animation of an object moving like for example a person walking, defining that object in terms of rigging components such as upper leg, lower leg, foot, etc. and connections of these objects where these objects can move relative to each other
Matrix Transposition
To transpose a matrix is to turn rows into columns and columns into rows
8
What is the maximum number of lights allowed (at one time) in most implementations of OpenGL
viewing volume
What you can see (on the screen or in a window) is a box it has a left side, a right side, a top, a bottom, a front and a back
display list
a "container" for storing defined sets of graphic instructions that can be called and reused later
Frame buffer (or color buffer)
a buffer (array of memory) for storing model data for representation on a 2D display device
Z buffer
a construct that keeps track of whether a surface, part of a surface, and object or fragment is behind another surface, part of a surface, object or fragment and should no be rended in the projected display is known as a
Sample mode
a function call in program collects measure. Immediate, does not depend on trigger. Polling
Emissive light
a light in which the object is a light source.
Magnification
a portion of a texel must map to an entire pixel
Mipmaps
a set of successively smaller, lower resolution versions of a texture, reduction in powers of 2
Coloring
adds color to an object in a homogenous way
Lighting
adds color too, but models the effects of various lights on objects
purpose of double buffering is
allow the generation of a 2D projection by the application software, without interfering with the transfer of the 2D image to the screen
glRotatef(angle, x, y, z)
angle - the angle of the rotation x,y,z - a vector that defines the axis of rotation vector origin is the coordinate origin
glLoadIdentity()
clears the current transformation matrix
Diffuse light
comes from a specific position and travels in a specific direction
Object coordinate system
coordinates relative to respective object
Euclidean distance formula
d = sqrt((x2-x1)^2 + (y2-y1)^2))
glViewport(x, y, width, height)
defines a view port (a rectangle in the window where the image will be displayed
GL_SPOT_EXPONENT
defines the degree of fade in light intensity from the center point of the light to edge of the spot light area.
Emissive light
emits light (glows)
glFlush()
forces any remaining graphics instructions out of the pipeline and to the display
gluPerspective(fovy, aspect, near, far)
fovy - field of view (angle of view in degrees 0.0 - 180.0 aspect - aspect ratio (width/height) near, far - front and rear clipping planes
viewing volume
has boundaries at the top, bottom, left side, right side, front and back, front and back boundaries are called front clipping plane and back clipping plane
textures
images (supplied or generated) that can be applied to objects, faces, lines, vertices
Subdividing objects
increase the number of vertices, edges and faces in an object.
defining a material as a specular materials does what?
indicates that light reflected from the material will be reflected in a concentrated or focused way.
glBegin(GL_POLYGON)
instructs OpenGL to create a polygon using the contained vertices
depth buffer
keeps track of the depth of an object in a view, also called the z-buffer
ambient light
light that just fills the space or scene
Perspective viewing volume
lines are not parallel, the volume grows as it recedes from the viewer
Orthographic viewing volume
lines are parallel, if you measured edges (in your display window) of the same orientation, they would measure the same length
Projection (in 3D graphics)
mapping viewable fragments of the 3D model to pixels in a 2D display window
directional light (OpenGL)
modeled as if light is infinitely far away - rays are parallel like sunlight w = 0
positional light (OpenGL)
modeled as if the source has a specific location in the scene and light radiate in all directions (mostly) w = 1
Pixels
most atomistic elements of a graphic display
glTranslatef(x,y,z)
move the object x units on the x axis and y units on the y axis and z units on the z axis
Minification
multiple texels need to be mapped to a single pixel in the frame buffer
Rasterize
must determine which pixels will be inside a primitive (polygon) rasterizer organizes vertex and primitive information in terms the frame buffer
vertex processor
perform transformations and compute/assign color to vertex
Rotating Objects in blender
press R (for rotate) R x to constrain rotation to x axis R y to constrain to y axis R z to constrain to z axis
Scaling Objects in Blender
press S (for scale) S x to constrain change to x axis S y to constrain to y axis S z to constrain to z axis
Projection
process of mapping elements of a model in a 3D space to 2D space such as a computer screen or viewport is known as
Specular light
reflected off of an object in a specific direction, the intensity of the reflection is concentrated in the direction of the reflection, think of this as "shiny"
By convention, the coordinates for points on a 2D texture are referred to as
s & t
glScalef(x, y, z)
scales (enlarges/shrinks) the defined object or objects in the x dimension, y dimension, or z dimension
Shaders
small programs, reside in the GPU carry out pipeline function in each stage of the pipeline limited (can't intercommunicate, except through the pipeline)
Identity Matrix
square matrix with all 1s on the diagonal, all other elements = 0
front clipping plane
the closest that objects/geometry can be positioned in world coordinate space and be rendered in the visualization of the CG model
back clipping plane
the furthest back from the viewer, in world coordinate space that objects/geometry can be rendered in the view
Texel
the most elementary part of a texture - think pixel but for a texture
texture mapping
the process of attaching/applying a texture to an object, surface, line or vertex
A method for defining the vertices of complex objects is
the use of vertex arrays
A primary reason to use textures in 3D computer graphics is
to apply images to objects to create the illusion of complex surfaces
Clipping planes - near and far
too near, too far to be in computed view
Event mode
trigger evokes the measure process collect the measure and make it available to the program. places the measure (with an event ID) in an event queue. The event handler in the program fetches the measure data and responds.
Request mode
when a program needs input it halts and waits for a trigger, when it receives the trigger it processes the input data (like scanf or cin)
Clamping
where a texture is smaller than the surface the texture is applied to, a technique to "stretch" the texture to cover that surface
glPopMatrix()
will pop the current matrix off of the stack and restore what is now in second position