CS 450 Midterm
The Texture Map parameter value GL_NEAREST tells OpenGL to:
If a pixel doesn't fall on an exact texel, grab the nearest texel
The topology to use when drawing a list of vertices in OpenGL is specified:
In the glBegin call
The purpose of a Z-buffer (or Depth-buffer, or Zed-buffer) is to:
Make 3D objects in front hide 3D objects in back
An OpenGL spot light
Only shines in a specific direction
What order do these appear in the shader-enabled graphics pipeline? * Fragment shader * Rasterizer * Vertex shader
Vertex, Rasterizer, Fragment
When OpenGL lighting computations are performed, the actual position of the light that is used is
Whatever was given in the "glLightfv( GL_LIGHT0, GL_POSITION,..." call times the ModelView matrix
The double buffers' roles are switched by calling
glutSwapBuffers
The GL_TEXTURE_WRAP_S and GL_TEXTURE_WRAP_T texture parameters tell OpenGL what to do when:
s or t is < 0. or > 1.
The output from the Fragment shader is of type:
vec4
A texture image has MxN pixels (texels). OpenGL treats its dimensions in s and t as:
1. x 1.
A "callback" function, used in the graphics programming sense, is:
A function that gets called when a particular event or situation occurs
An OpenGL object's vertices cannot be defined in
A string
A "viewport" is:
A sub-region of the overall graphics window
The reason triangle strips are very efficient is:
After the first triangle, each subsequent triangle only needs a single vertex to define it
Transformations are:
Associative
The default way that OpenGL views a 3D scene is by placing the eye:
At the origin, looking in -Z
If you setup the Texture Transformation to scale by 2.0, the appearance of the texture image on the object will differ by:
Being scaled by 0.5
A pure red light shines on a pure green object. The resulting object coloring is:
Black
In the Subtractive color scale
C+M = B
The purpose of a {Depth,Z,Zed}-Buffer is to
Correctly display near objects so they appear to be in front of far objects
The framebuffer's Z-buffer is used to hold:
Depth
Joe Graphics wrote the following code: glBegin( GL_LINE_STRIP ); for( float angle = 0.; angle <= 360.; angle += 10. ) { float x = Radius * cos( TO_RADIANS( angle ) ); float y = Radius * sin( TO_RADIANS( angle ) ); glVertex2f( x, y ); } glEnd( ); What is he trying to do?
Drawing a 2D circle outline
In Texture Mapping, the OpenGL program specifies s and t coordinate values at:
Each vertex
OpenGL shading can be specified as:
Flat or smooth
The texture environment setting of GL_MODULATE differs from GL_REPLACE by:
GL_MODULATE allows the underlying color of the surface to shine up through the texture
What is it called when we specify an XYZ position with 4 elements?
Homogeneous coordinates
In HSV color, the letters H-S-V stand for:
Hue-Saturation-Value
The Texture Map parameter value GL_LINEAR tells OpenGL to:
If a pixel doesn't fall on an exact texel, interpolate from the 4 surrounding texels
An advantage of using perspective projection instead of orthographic is:
It gives a more realistic view
An advantage of using orthographic projection instead of perspective is:
It helps in lining things up
The difference between Model Coordinates and World Coordinates is:
MC are the original object coordinates, WC have been transformed into the scene
An OpenGL surface normal can be given:
Per-face or per-vertex
In the Additive color scale:
R+G = Y
In OpenGL color, which of these is true?
Red + Green = Yellow
The argument to glBegin( ) specifies:
The topology
The purpose of texture objects and texture binding is:
To allow textures to stay resident in GPU memory and not need to be downloaded from CPU memory each time they are used
The purpose of double-buffering is
To be sure the viewer doesn't see an incomplete scene
A use for specifying an XYZ using 4 elements is
To specify a point at infinity
What is the general idea behind Texture Mapping?
To stretch an image over a piece of geometry
If Joe Graphics programs these lines of code: glRotatef( 45., 1., 0., 0. ); glTranslatef( 1., 2., 3. ); followed by drawing something, he is trying to:
Translate, then rotate that object
Alpha values are used for
Transparency
The framebuffer's Alpha value is used to specify:
Transparency
A "Display List" is:
Writing display instructions into memory to be played back later
In the glRotatef( ) function call, the angle is given in units of:
degrees
The (r,g,b) output from the Fragment shader is in the variable:
gl_FragColor
The (x,y,z) output from the Vertex shader is in the variable:
gl_Position
The (x,y,z) input to the Vertex shader is in the variable:
gl_Vertex
The input and output variables in the Vertex shader are of type:
vec4