Code 3
| Day | Start Lecture | Who | Contents | Notes |
|---|---|---|---|---|
| Mon, 01 Jun | 14:00 | C | Hello ArrayMesh | Morning: free half day |
| Tue, 02 Jun | 09:45 | U | Hello WebGL | |
| Wed, 03 Jun | 09:45 | C | A Disc made of triangles | |
| Fri, 05 Jun | 09:45 | U | 3D Rendering | |
| Mon, 08 Jun | 10:45 | C | A Cylinder | |
| Tue, 09 Jun | 09:45 | U | Interaction and textures | |
| Wed, 10 Jun | 09:45 | U | Guest lecture | |
| Wed, 10 Jun | 11:30 | C | Shaders in Godot | |
| Thu, 11 Jun | 14:00 | C | Shaders in Godot (continued) | Morning: free half day |
| Fri, 12 Jun | 09:45 | U | Lighting | |
| Mon, 15 Jun | 10:45 | C | Advanced Shading Techniques in Game Engines | |
| Tue, 16 Jun | 09:45* | U | Work on final project | |
| Wed, 17 Jun | 09:45* | C | Work on final project | |
| Thu, 18 Jun | 14:00* | U | Work on final project | Morning: free half day |
| Fri, 19 Jun | 09:45 | U&C | Exams | |
| Mon, 22 Jun | 09:45 | U | Post-exam follow-up |
(*) At the “Work on final project” days, the starting times mark the start of the lecturers’ presence. Lecturers will be there for providing individual support with the projects. There won’t be any new contents during these days.
Final Project
For the final project, you can choose between WebGL and Godot.
WebGL
Create a WebGL project implementing a scene with either several objects (hierarchical) or a single complex object. Implement your own .obj loader if necessary. Implement one or more set(s) of shaders (vertex and fragment shader) that demonstrate a visual effect of your choice suiting the contents of your scene.
It is also possible to implement something completely different, like a raytracer or raymarcher in Vulkan or WebGPU, but please check with the lecturers before starting such a project.
Godot
Create a Godot implementing
- A procedurally generated mesh with the ability to adjust at least the meshes tesselation (number of triangles)
- One or more set(s) shaders implementing additional visual effect performing animation (either using animated uniforms or the TIME built-in variable)
Submission
The project will be presented in the last week of the course in groups of four. The entire project (including the source code) needs to be submitted by the end of the course block. Please upload your project to GitHub using this GitHub Classroom link: GitHub Classroom. Add a readme.md file so that we can understand your project. The readme should include:
- A short description of your project
- How to run it (e.g., which files to open, how to start the server, Godot Version, etc.)
- A list of features you implemented
- A list of features you wanted to implement but didn’t have time for
- Your name and email address
Exam
The exams will take places in parties of four (four students are examined simultaneously). Prepare to demonstrate your project and to explain how it works. Prepare for questions such as “what would you do to add a feature like xxx to your project?”!