VTR – 21/22 Edition
Nau3D
Assessment
Enunciado dos trabalhos práticos e monografia (PDF)
Lecture 1 – Introduction to the graphics pipeline and shader programming
22/02/17
Topics:
- Course presentation and details of the assessment procedure.
- The rasterization pipeline and its components.
- Shader programming.
- Brief introduction to NAU.
Materials:
Lecture 2 – Gouraud vs. Phong
22/02/24
Topics:
- Toon Shading: from vertex shading (Gouraud) to per pixel shading (Phong)
- Normalization issues
Assignment:
- Implement toon effect light per pixel
Materials:
Lecture 3 – Specular Light and Light Types
22/03/03
Topics:
- Adding specular lighting
- Light types: point and spot lights
Assignment:
- starting from the point light project implement a spotlight
Materials:
- Nau Projects: specular lighting and point lights (ZIP)
Lecture 4 – Texturing Coordinates
22/03/10
Topics:
- Texture coordinates as a vertex attribute
- Usage of texture coordinates as data
- Implementing functions based on texture coordinates
Assignment:
- Update the shaders to perform multitexturing on a cube
Materials:
Lecture 5 – Texturing
22/03/17
Topics:
- Applying textures
- Using multiple textures to achieve complex effects
Assignment:
- Create a shader to render Earh with multiple textures
Materials:
Lecture 6 – Reflection, Refraction and Chromatic Dispersion
20/11/19
Topics:
- Reflection and refraction
- Snell’s law, Fresnel and Schlicks approximation
- Chromatic Dispersion
- Cubemapping
Assignment:
- Write shaders for reflection and refraction using cube mapping
Materials:
Lecture 7 – Normal, Parallax Mapping, and Deferred Rendering
22/03/31
Topics:
- Normal mapping and bump mapping
- Tangent space and the TBN matrix
- Computing NM in tangent space and in camera space
- Normal mapping issues
- Parallax Mapping and Steep Parallax Mapping with Self Shadowing
Assignment:
- Nau Project for normal mapping (ZIP)
Materials:
- Nau simple project for deferred rendering (ZIP)
- Nau project for deferred rendering – Barrel (ZIP)
- Notes on Deferred Rendering (PDF)
- Nau project for parallax Mapping (ZIP)
- Learning OpenGL – Normal Mapping (LINK)
- Parallax Mapping (LINK)
Lecture 8 – Geometry Shader
22/04/07
Topics:
- Geometry Shader: where it fits on the graphics pipeline, features and use cases.
Assignment:
- NAU Projects: show normals (to do) (ZIP)
Materials:
- Geometry Shader at Khronos (LINK)
- Mike Bailey notes on Geometry Shaders (LINK)
- GLSL Tutorial at Lighthouse3D (LINK)
- Nau Project Samples (ZIP)
Lecture 9 – Tessellation Shaders
22/04/21
Topics:
- Features and functionality of the Tessellation shaders.
- The full graphics pipeline.
The tessellation process. - Bezier patches, PN-Triangles, Phong tessellation
Assignment:
- Phong Tessellation(ZIP)
Materials:
Lecture 10 – Compute Shaders
22/04/28
Topics:
- Compute Shader: inputs e outputs.
- Work groups and shared memory.
- Image processing: exploring three alternatives with the graphics pipeline
Assignment:
- Implement a gaussian filter (ZIP)
Materials:
- Compute Shader Slides by Mike Bailey (LINK)
- OpenGL.org wiki – compute shader (LINK)
- Nau Projects (ZIP)
Lecture 11 – Shadows
22/05/05
Topics:
- Shadow Volumes
- Shadow Maps: Vanilla version, PCF, VSM and ESM
- Trapezoidal Shadow Maps and Parallel split shadow maps
Assignment:
- Complete the project to implement PCF shadows (ZIP)
Materials:
- Variance shadow maps paper (paper, example)
- Exponential shadow maps theory (paper, theory, intuition)
- Trapezoidal shadow maps (paper, recipe)
- Parallel split shadow maps (GPU GEMS 3)
- Nau Projects (ZIP)
Lecture 12 – Volumetric techniques
22/05/12
Topics:
- Ray Casting
- Voxelization
- Voxel Cone Tracing
Assignment:
- Complete the project to implement a ray caster (ZIP)
Materials:
- Ray-Box intersection (LINK)
- Marching Cubes (LINK1, LINK2)
- Voxel Cone Tracing (PDF)
- Nau Projects (voxelsCubes)
Lecture 13 – Caustics, BRDFs, Tone Mapping, IBL
22/05/19
Topics:
Assignment:
- Complete the project adding tone mapping and gamma correction (ZIP)
Materials:
- Nau Projects (ZIP)