VI I – 19/20 Edition
Assessment
Assessment details and theme proposals (Google Docs)
Nau3D
GitHub (LINK)
Documentation in (LINK)
Windows Binaries (ZIP)
Syntax Highlight for GLSL – Notepad++
Dark and Light Themes (ZIP)
Lecture 13 – Compute Shaders
19/12/18
Topics:
Compute Shader: inputs e outputs.
Work groups and shared memory.
Image processing: exploring three alternatives with the graphics pipeline
Materials:
Compute Shader Slides by Mike Bailey (LINK)
OpenGL.org wiki – compute shader (LINK)
Nau Projects (ZIP)
TO DO (ZIP)
Lecture 12 – Tessellation Shaders II
12/12/18
Topics:
Tessellation shaders in practice
Materials:
Nau projects TODO: (ZIP)
Lecture 11 – Tessellation Shaders
05/12/18
Topics:
Features and functionality of the Tessellation shaders. The full graphics pipeline.
The tessellation process.
Bezier patches, PN-Triangles, Phong tessellation
Materials:
Phong Tessellation (LINK)
PN-Triangles (PDF)
Slides on Tessellation shaders with OpenGL (PDF)
Nau Projects (ZIP)
Lecture 10 – Geometry Shader
28/11/17
Topics:
Análise das funcionalidades e características do geometry shader, e o seu posicionamento no pipeline.
Dados de entrada e leque de opções para saídas: texture arrays e viewports.
Análise de exemplos: detecção de contornos, visão stereo, e visualização de normais.
Materials:
Geometry Shader at Khronos (LINK)
Mike Bailey notes on Geometry Shaders (LINK)
GLSL Tutorial at Lighthouse3D (LINK)
NAU Projects: show normals (to do) (ZIP)
Lecture 9 – Procedural Materials
14/11/19
Topics:
Ivory, Gooch and Hatch shading
Perlin Noise
Marble and Wood Shaders
Deferred Rendering
Materials:
Nau project for procedural materials (ZIP)
Nau Projects: Barrel (ZIP)
Lecture 8 – Normal and Parallax Mapping
07/11/19
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 project for parallax Mapping (ZIP)
Lecture 7 – Reflection and Refraction
31/10/19
Topics:
Reflection and refraction
Snell’s law, Fresnel and Schlicks approximation
Cubemapping
Assignment:
Write shaders for reflection and refraction using cube mapping starting from ZIP
Materials:
Cube Mapping (PDF)
Nau Projects: Cube mapping (ZIP)
Lecture 6 – Texturing
24/10/19
Topics:
Applying textures
Using multiple textures to achieve complex effects
Materials:
Texturing notes (ZIP)
Nau projects (ZIP)
Lecture 5 – Texture coordinates
17/10/19
Topics:
Texture coordinates as a vertex attribute
Usage of texture coordinates as data
Implementing functions based on texture coordinates
Usage of textures as precomputed functions
Assignment:
Build a project to texture a cube
Materials:
Texture Coordinates (LINK)
Nau projects (ZIP)
Lecture 4 – Point and spot lights
10/10/19
Topics:
Equations and notes regarding point and spotlights
Assignment:
Extend the suplied shader to implement point and spotlights
Materials:
NAU project for directional light (ZIP)
Lecture 3 – Gouraud vs. Phong
03/10/19
Topics:
Toon Shading per vertex (Gouraud), mixed, and per pixel (Phong)
Normalization issues
Assignment:
Implement directional light with specular component
Materials:
Notes: Lighting – Gouraud and Phong (PDF)
NAU Projects (Projectos-Aula-3-toon-TO_DO)
Lecture 2 – Introduction to shader writing
26/09/19
Topics:
NAU Project definition
Writing Shaders: Lighting per vertex
Materials:
NAU Projects (Projectos-Aula-2 -TO_DO)
Writing shaders (PDF)
Lecture 1 – Introduction to the graphics pipeline and shader programming
19/09/19
Topics:
Course presentation and details of the assessment procedure.
The rasterization pipeline and its components.
Shader programming.
Brief introduction to NAU.
Materials:
Lighthouse GLSL Tutorial (LINK)
Core OpenGL Setup (PDF)