University of Technology Sydney

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 2022 is available in the Archives.

UTS: Information Technology: Computer Science
Credit points: 6 cp

Subject level:

Postgraduate

Result type: Grade and marks

There are course requisites for this subject. See access conditions.

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. Discern possible applications of Computer Graphics and current trends.
2. Explain the different stages of the OpenGL graphics pipeline.
3. Understand how linear Algebra is important in the context of Computer Graphics.
4. Demonstrate foundational knowledge of modelling and representations of 3D shapes.
5. Understand how real time shading and lighting is implemented.
6. Implement an interactive application using ThreeJS and WebGL.
7. Communicate their design ideas, models, implementations and outcomes.
8. Reflect critically on their work.

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):

1, 2 and 3

This assessment task contributes to the development of the following Course Intended Learning Outcomes (CILOs):

C.1 and 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, 4 and 5

This assessment task contributes to the development of the following Course Intended Learning Outcomes (CILOs):

C.1 and 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):

3 and 4

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, 5, 6, 7 and 8

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