Project 6: Action! (Algo)

You can find the handout for this project here.

Camera Rotation

How would you compute the matrix for a rotation of 90 degrees about the axis ? Hint: look at this lecture for a reminder on how to rotate about arbitrary axes.

Shader Uniforms

Given a texture object of m_tex1 and a shader object m_shader, please write pseudocode to set m_tex1 to be set to a uniform variable declared as uniform sampler2D texture1 contained in m_shader's source code. Assume nothing about the current state!

Textures, Renderbuffers, Framebuffers Oh My!

Concept

For a framebuffer with color and depth attachments, please draw a schematic/diagram of the framebuffer indicating which attachments are textures and which are renderbuffers and why. Assume the usage of the framebuffer will be to draw a scene with a grayscale filter applied.

Functional Understanding

glTexImage2D

What is the difference between internal format and format in the call glTexImage2D?

glTexParameteri

What is the difference between using GL_NEAREST and GL_LINEAR when setting magnification and minification filters in glTexParameteri?

Realtime vs. Ray

Recursive Reflections

Why do you think we are not implementing recursive reflections in this assignment? This question is open-ended; any well-thought-out answer will suffice.

Differences

Apart from recursive reflections, what are the advantages to using offline rendering as opposed to realtime rendering? What are the advantages to using realtime rendering as opposed to offline? This question is open-ended; any well-thought-out answer will suffice.

Submission

Submit your answers to these questions to the "Algo 6: Action!" assignment on Gradescope. Instructions on using Gradescope are available here.