What this is not: The C++ MiniLab is not part of any course, and is not related to the exam of any course.
It is not, by any means, mandatory.
What this is: The C++ MiniLab is an occasion given to the students to learn C++, by coding, as an example, the 3D math concepts that are used in courses such as 3DVG, Computer Graphics, and others. The C++ language is not a subject of any of these courses, or of their exams, but it's one of the de-facto standard languages of 3D graphics and videoGames.
When: Every Thursday, 18:30.
Where: Gamma room
How long: Approx 1.0h per meeting.
Language: English
How to partecipate: Just bring a (fully charged!) laptop, with some IDE installed (e.g. Visual Studio) and a C++ compliler; make sure that you can already compile and exectue a "hello world" program.
Code:
01 | 2023-03-07 (Thursday) 18:30..19:30 Gamma Room |
Kick-off: a class for 3D vectors |
main.cpp main_with_comments.cpp |
02 | 2023-03-14 (Thursday) 18:30..19:30 Gamma Room |
Operations between vectors |
c++lab02.zip |
03 | 2023-04-04 (Thursday) 18:30..19:30 Gamma Room |
Angle between vectors, etc. |
c++lab03.zip |
04 | 2023-04-11 (Thursday) 18:30..19:30 Gamma Room |
Ray-sphere intersection. |
c++lab04.zip |
05 | 2023-04-18 (Thursday) 18:30..19:30 Gamma Room |
A class for images (and ASCII art?). | c++lab05.zip |
06 | 2023-05-02 (Thursday) 18:30..19:30 Gamma Room |
A simple raycast of a sphere. | c++lab06.zip |
07 | 2023-05-09 (Thursday) 18:30..19:30 Gamma Room |
Added lighting. | -- |
08 | 2023-05-16 (Thursday) 18:30..19:30 Gamma Room |
Multiple spheres. | c++lab07.zip |
09 | 2023-05-23 (Thursday) 18:30..19:30 Gamma Room |
Cast shadows (plus bigfixes). | c++lab08.zip |
10 | 2023-05-30 (Thursday) 18:30..19:30 Gamma Room |
Multiple lights. | c++lab09.zip [output] |