CS 445: Exam 2 Review, Fall 2017
Exam 2 will be Wednesday, Nov. 8, 2017.
Review class notes, online notes, labs, and relevant sections in textbook. The exam will be closed
book, no calculators.
Topics
See the midterm topics. This exam will primarily focus on the topics since the midterm.
However, everything is cumulative. One can't completely understand the new material without understanding the old material. Also, topics which many students missed
on the first exam could possibly make a reappearance on the second exam (e.g.
matrix stack or scene graphs.)
- Lighting:
Textures
- What are texels.
- Mapping coordinate systems: texture (s,t),
parameterized (u,v), world (x,y,z), screen (x_s, y_s).
- Texture coordinates in webGL. How does the choice of texture coordinates determine how the
texture is applied to geometry, e.g. a quad. (see Nate Robins tutorials)
- Texture parameters: wrap type - repeat vs clamp
- Combining lighting and texture in shader.
- Generating textures: procedural vs image
- Bump mapping, or see Wikipedia.
- What is Mipmapping -
multum in parvo (many things in a small place) and why is it used? E.g.
Minification and Magnification
minification, magnification (ppt)
or see pdf
Shaders
- What is a vertex shader and what is a fragment shader?
- What are attribute vs uniform shader variables.
- Vertex-Fragment Shader Pipeline: Where do vertex and fragment shaders fit in the OpenGL graphics pipeline.
- What gets implemented in the application program (e.g. setting Vertex Buffers for the attribute variables, setting uniform variables)? What is implemented in the shaders? What does openGL automatically do for you
(e.g. perspective division, rasterization, texture interpolation)?
- Communication between openGL and GLSL - uniform and attribute variables. What is the difference? Which shader has access to
uniform shaders? to attribute shaders?
- Implementing the Phong Lighting Model in the vertex shader (Gouraud Shading) vs the fragment shader (Phong Shading).
What are advantages or disadvantages of each?
Also see Shading Models
Blending and transparency with the alpha component.
- How does a z-buffer work?
- Why is it difficult to do transparency correctly? See blending.
- How does the "discard()" function work in the fragment shader and why is it different from
setting transparency to 0.