32501 Computer Graphics
Warning: The information on this page is indicative. The subject outline for a
particular session, location and mode of offering is the authoritative source
of all information about the subject for that offering. Required texts, recommended texts and references in particular are likely to change. Students will be provided with a subject outline once they enrol in the subject.
Subject handbook information prior to 2025 is available in the Archives.
Credit points: 6 cp
Subject level:
Postgraduate
Result type: Grade and marksThere are course requisites for this subject. See access conditions.
Anti-requisite(s): 31264 Computer Graphics
Recommended studies:
some experience with an integrated development environment such as Visual Studio would be an advantage, but is not essential; knowledge of linear algebra (e.g. vectors, matrices and their manipulation), data structures (e.g. multi-dimensional arrays, stack) is strongly recommended; good programming skills in at least one programming language is required to successfully complete the subject
Description
This subject helps students develop problem-solving and communication skills in the context of computer graphics, including shape representation, manipulation and visualisation. It helps students enhance their skills to design and implement three-dimensional (3D) computer images, such as those used in animated films, virtual reality (VR), data visualisation and computer games. This subject aims to give students a balance of theory and practice, both of which are important to understanding an efficient development with computer graphics technology. Students learn fundamental principles of graphical pipelines and representations and put them into practice in the modern context of WebGL via the ThreeJS framework. By completing this subject, students gain valuable knowledge of the underlying graphical systems of game engines and 3D animation software and skill in creating interactive 3D web.
Subject learning objectives (SLOs)
Upon successful completion of this subject students should be able to:
1. | Implement an interactive application using ThreeJS and WebGL. (C.1) |
---|---|
2. | Integrate principles of linear algebra into computer graphics applications. (D.1) |
3. | Implement data structures and algorithms for 3D shape representation and real-time rendering. (D.1) |
4. | Communicate design ideas, models, implementations and outcomes to a range of audiences. (E.1) |
5. | Critically reflect on one’s own work to identify changes in practice for future projects. (F.1) |
Course intended learning outcomes (CILOs)
This subject also contributes specifically to the development of the following Course Intended Learning Outcomes (CILOs):
- Design Oriented: FEIT graduates apply problem solving, design thinking and decision-making methodologies in new contexts or to novel problems, to explore, test, analyse and synthesise complex ideas, theories or concepts. (C.1)
- Technically Proficient: FEIT graduates apply theoretical, conceptual, software and physical tools and advanced discipline knowledge to research, evaluate and predict future performance of systems characterised by complexity. (D.1)
- Collaborative and Communicative: FEIT graduates work as an effective member or leader of diverse teams, communicating effectively and operating autonomously within cross-disciplinary and cross-cultural contexts in the workplace. (E.1)
- Reflective: FEIT graduates critically self-review their own and others' performance with a high level of responsibility to improve and practice competently for the benefit of professional practice and society. (F.1)
Teaching and learning strategies
This subject will offer one 2-hour face-to-face interactive workshop each week and one 1.5-hour lab each week.
During the workshop, students will get a blend of traditional lecture presentations on the theory of computer graphics as well as some live programming session in the ThreeJS framework to demonstrate the theory being put into practice. Students are encouraged to bring their laptops (if they are available) and follow along with the live programming sessions in order to deepen their own understanding of the content. Students are also encouraged to actively participate during the workshop by raising questions, discussing concepts with peers, and experimenting with the provided code.
During the labs, students will implement components of their project by using the implementation details shown during the lecture. By following the live programming sessions and participating in the lab, students will build a solid foundation from which they can draw further knowledge and inspiration for their group assessment projects.
Content (topics)
- Applications of Computer Graphics
- Ray Tracing vs Raster
- Coordinate Systems
- Camera model
- Vector and Matrix Mathematics Refresher
- Lighting
- Shading
- The OpenGL Pipeline
- 3D Model Representations
- Texturing
- Shaders
Assessment
Assessment task 1: Quiz 1
Intent: | This task assesses student knowledge on the content presented within the first half of the session, including ray tracing vs raster, coordinate systems, camera views, vector and matrix mathematics, lighting, and shading. |
---|---|
Objective(s): | This assessment task addresses the following subject learning objectives (SLOs): 2 This assessment task contributes to the development of the following Course Intended Learning Outcomes (CILOs): D.1 |
Type: | Quiz/test |
Groupwork: | Individual |
Weight: | 15% |
Assessment task 2: Quiz 2
Intent: | This task assesses student knowledge on the content presented within the first half of the session, including the OpenGL pipeline, 3D modeling representations, texturing methods, and shaders. |
---|---|
Objective(s): | This assessment task addresses the following subject learning objectives (SLOs): 2 This assessment task contributes to the development of the following Course Intended Learning Outcomes (CILOs): D.1 |
Type: | Quiz/test |
Groupwork: | Individual |
Weight: | 15% |
Assessment task 3: Exercises
Intent: | To become familiar with the lecture contents and acquire the coding skills needed to assemble the final project. |
---|---|
Objective(s): | This assessment task addresses the following subject learning objectives (SLOs): 1 and 3 This assessment task contributes to the development of the following Course Intended Learning Outcomes (CILOs): C.1 and D.1 |
Type: | Exercises |
Groupwork: | Individual |
Weight: | 20% |
Assessment task 4: Group Project Presentation and Quality
Intent: | This task assesses individual contributions to the group project and the extent of each individual’s knowledge via a presentation and open dialogue with the lecturer. It also assesses students’ grasp of the practical knowledge and skills presented throughout the session, requires students to collaborate closely with a small group of their peers, and encourages students to broaden their understanding via self-learning to produce an authentic 3D web application. It is also a chance for students to see what other groups have worked on and gain inspiration through collegial discourse. |
---|---|
Objective(s): | This assessment task addresses the following subject learning objectives (SLOs): 1, 2, 3, 4 and 5 This assessment task contributes to the development of the following Course Intended Learning Outcomes (CILOs): C.1, D.1, E.1 and F.1 |
Type: | Presentation |
Groupwork: | Group, group and individually assessed |
Weight: | 50% |
Minimum requirements
In order to pass the subject, a student must achieve an overall mark of 50% or more.
Recommended texts
Fundamentals of Computer Graphics, 4th Edition by Steve Marschner & Peter Shirley
References
Polygon Mesh Processing
Mario Botsch, Leif Kobbelt, Mark Pauly, Pierre Alliez, Bruno Levy
An interactive introduction to WEBGL and three.JS
https://dl.acm.org/citation.cfm?id=3084875