Final Exam, CSCI 360, Fall 2020


  1. The fragment shader has access to the variable gl_FrontFacing
    1. What causes this variable to have the value of true?
      1. [3 points] Answer this at a conceptual level.
      2. [3 points] Answer this at a mathematical level.
    2. [2 points] How is the value of gl_FrontFacing impacted by the order of the vertexes of a triangle?
    3. [2 points] Name at least two WebGL calls that impact the value of gl_FrontFacing
  2. Communicating with shaders
    1. [4 points] Name and describe two methods a front-end program can employ to communication values with WebGL shaders.
    2. [2 points] Explain the differences between these methods.
    3. [4 points] Explain when each of these methods would be used. Provide examples.
  3. Linear Interpolation
    1. [3 points] Describe the linear interpolation that occurs in the WebGL pipeline.
    2. [4 points] Describe how this LERP can be used to detect edges of triangles.
    3. [3 points] Describe how this LERP can be used to make objects created out of polygons appear to be constructed out of smooth curves.
  4. Triangles
    1. [2 points] Name two properties of triangles that makes them ideal for display in a graphics pipeline.
    2. [3 points] Select one of these properties and explain why it is important to possess that property in a graphics pipeline.
  5. [15 points] Rendering
    1. Describe the process that transforms triangles specified in modeling coordinates to pixels in the frame buffer. Discuss this in detail in terms of the WebGL pipeline, however make sure your discussion includes
      • Various coordinate systems.
      • Processes such as clipping, projection, lighting, ...
      • Pipeline stages and shaders
      • Hardware such as the CPU and GPU.

Submission Instructions