University of Technology Sydney

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

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

Subject level:

Undergraduate

Result type: Grade and marks

Requisite(s): 31080 Interactive Media OR 31263 Introduction to Computer Game Development
Anti-requisite(s): 31140 Introduction to Computer Graphics AND 32501 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 applications that can be applied to a broad range of future studies and careers.

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

Course intended learning outcomes (CILOs)

This subject also contributes specifically to the development of the following Course Intended Learning Outcomes (CILOs):

  • Socially Responsible: FEIT graduates identify, engage, interpret and analyse stakeholder needs and cultural perspectives, establish priorities and goals, and identify constraints, uncertainties and risks (social, ethical, cultural, legislative, environmental, economics etc.) to define the system requirements. (B.1)
  • Design Oriented: FEIT graduates apply problem solving, design and decision-making methodologies to develop components, systems and processes to meet specified requirements. (C.1)
  • Technically Proficient: FEIT graduates apply abstraction, mathematics and discipline fundamentals, software, tools and techniques to evaluate, implement and operate systems. (D.1)
  • Collaborative and Communicative: FEIT graduates work as an effective member or leader of diverse teams, communicating effectively and operating within cross-disciplinary and cross-cultural contexts in the workplace. (E.1)
  • Reflective: FEIT graduates critically self-review their performance to improve themselves, their teams, and the broader community and society. (F.1)

Contribution to the development of graduate attributes

Engineers Australia Stage 1 Competencies

This subject contributes to the development of the following Engineers Australia Stage 1 Competencies:

  • 1.2. Conceptual understanding of the mathematics, numerical analysis, statistics, and computer and information sciences which underpin the engineering discipline.
  • 1.3. In-depth understanding of specialist bodies of knowledge within the engineering discipline.
  • 1.5. Knowledge of engineering design practice and contextual factors impacting the engineering discipline.
  • 2.1. Application of established engineering methods to complex engineering problem solving.
  • 3.2. Effective oral and written communication in professional and lay domains.
  • 3.3. Creative, innovative and pro-active demeanour.
  • 3.5. Orderly management of self, and professional conduct.

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

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

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

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

B.1, 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