Students

COMP3170 – Computer Graphics

2024 – Session 1, In person-scheduled-weekday, North Ryde

General Information

Download as PDF
Unit convenor and teaching staff Unit convenor and teaching staff
Cameron Edmond
Malcolm Ryan
Credit points Credit points
10
Prerequisites Prerequisites
130cp at 1000 level or above including (MATH1010 or MATH135 or MATH1007 or DMTH137) and (COMP2000 or COMP229)
Corequisites Corequisites
Co-badged status Co-badged status
Unit description Unit description

This unit is the study of pictures, images and animations generated by computers, as well as tools used to produce these pictures. This unit introduces the mathematical foundations of computer graphics, examines how to model three-dimensional objects, introduces techniques for creating animations, and explores how realistic scenes are rendered. Practical work involves using a graphics library, such as OpenGL, under Unix or Windows platforms.

Important Academic Dates

Information about important academic dates including deadlines for withdrawing from units are available at https://www.mq.edu.au/study/calendar-of-dates

Learning Outcomes

On successful completion of this unit, you will be able to:

  • ULO1: Understand the fundamentals of vector geometry and employ them in devising algorithms to achieve a variety of graphic effects.
  • ULO2: Program 2D and 3D graphical applications using OpenGL embedded in a programming language (such as OpenGL in Java)
  • ULO3: Apply vector geometry to implement and combine 3D transformations including rotation, translation, scale and perspective.
  • ULO4: Program vertex and fragment shaders to implement effects such as lighting, texturing, shadows and reflections.
  • ULO5: Explain the core concepts behind advanced graphics techniques such as ray-casting and indirect lighting.

General Assessment Information

Requirements to Pass this Unit

To pass this unit you must:

  • Achieve a total mark equal to or greater than 50%.

Weekly Quizzes

The weekly quizzes are provided on iLearn. The quizzes provide weekly feedback on your progress in the unit. They are intended to help you identify areas that you need to study further. Each quiz must be done within the designated week or the following week at the latest. You may attempt each quiz multiple times, and your final mark for each quiz will be the best mark that you achieve on that quiz. The quiz questions change each time that you attempt it. Take each quiz early, study anything that you were unable to answer correctly, and take the quiz again for your best mark.

Weekly Workshops

The weekly workshops are divided into two parts: a theory-based, discussion section where students work with the tutor to solve problems, and a practical, programming section where students must complete a worksheet of graphics programming tasks. To receive a mark for the discussion section, students must attend class that week and contribute.

For the programming section, students are able to turn in two pieces of completed work a week to allow them to catch-up or get a headstart. Students should not expect to have enough time within class to start and complete these programming tasks, and should instead endeavor to begin them before class and use class time to debug and receive feedback on their programming.  

Policy on Late Submissions

Students enrolled in Session based units with written assessments will have the following late penalty applied. Please see https://students.mq.edu.au/study/assessment-exams/assessments for more information.

Unless a Special Consideration request has been submitted and approved, a 5% penalty (of the total possible mark) will be applied each day a written assessment is not submitted, up until the 7th day (including weekends). After the 7th day, a grade of ‘0’ will be awarded even if the assessment is submitted. Submission time for all written assessments is set at 11:55 pm. A 1-hour grace period is provided to students who experience a technical concerns.

For any late submission of time-sensitive tasks, such as scheduled tests/exams, performance assessments/presentations, and/or scheduled practical assessments/labs, students need to submit an application for Special Consideration.

In this unit, late submissions will be accepted as follows:

  • 2D Interactive Graphics Program – YES, Standard Late Penalty applies
  • Graphics Transformations – YES, Standard Late Penalty applies
  • 3D Interactive Visualisation – YES, Standard Late Penalty applies
  • Workshop Participation – NO, unless Special Consideration is granted
  • Online quizzes – NO, unless Special Consideration is granted

Special Consideration

The Special Consideration Policy aims to support students who have been impacted by short-term circumstances or events that are serious, unavoidable and significantly disruptive, and which may affect their performance in assessment. If you experience circumstances or events that affect your ability to complete the assessments in this unit on time, please inform the convenor and submit a Special Consideration request through ask.mq.edu.au.

Assessment Tasks

Name Weighting Hurdle Due
Online quizzes 10% No Weekly
Workshop Participation 10% No Weekly
2D Interactive Graphics Program 25% No Week 6
Graphics Transformations 25% No Week 8
3D Interactive Visualisation 30% No Week 13

Online quizzes

Assessment Type 1: Quiz/Test
Indicative Time on Task 2: 8 hours
Due: Weekly
Weighting: 10%

 

Weekly online quizzes covering the lecture material.

 


On successful completion you will be able to:
  • Understand the fundamentals of vector geometry and employ them in devising algorithms to achieve a variety of graphic effects.
  • Apply vector geometry to implement and combine 3D transformations including rotation, translation, scale and perspective.
  • Program vertex and fragment shaders to implement effects such as lighting, texturing, shadows and reflections.
  • Explain the core concepts behind advanced graphics techniques such as ray-casting and indirect lighting.

Workshop Participation

Assessment Type 1: Participatory task
Indicative Time on Task 2: 0 hours
Due: Weekly
Weighting: 10%

 

Participation in weekly workshop exercises.

 


On successful completion you will be able to:
  • Understand the fundamentals of vector geometry and employ them in devising algorithms to achieve a variety of graphic effects.
  • Program 2D and 3D graphical applications using OpenGL embedded in a programming language (such as OpenGL in Java)
  • Apply vector geometry to implement and combine 3D transformations including rotation, translation, scale and perspective.
  • Program vertex and fragment shaders to implement effects such as lighting, texturing, shadows and reflections.
  • Explain the core concepts behind advanced graphics techniques such as ray-casting and indirect lighting.

2D Interactive Graphics Program

Assessment Type 1: Programming Task
Indicative Time on Task 2: 26 hours
Due: Week 6
Weighting: 25%

 

Develop an interactive graphics application using only 2D graphics. The application will be built using OpenGL.

 


On successful completion you will be able to:
  • Program 2D and 3D graphical applications using OpenGL embedded in a programming language (such as OpenGL in Java)

Graphics Transformations

Assessment Type 1: Problem set
Indicative Time on Task 2: 15 hours
Due: Week 8
Weighting: 25%

 

Use mathematics and sketching to solve computer graphics problems involving 2D and 3D geometric transformations

 


On successful completion you will be able to:
  • Understand the fundamentals of vector geometry and employ them in devising algorithms to achieve a variety of graphic effects.
  • Apply vector geometry to implement and combine 3D transformations including rotation, translation, scale and perspective.

3D Interactive Visualisation

Assessment Type 1: Programming Task
Indicative Time on Task 2: 26 hours
Due: Week 13
Weighting: 30%

 

Create an interactive 3D graphics application using OpenGL. Your program will display on the screen the 3D appearance of a scene.

 


On successful completion you will be able to:
  • Understand the fundamentals of vector geometry and employ them in devising algorithms to achieve a variety of graphic effects.
  • Program 2D and 3D graphical applications using OpenGL embedded in a programming language (such as OpenGL in Java)
  • Apply vector geometry to implement and combine 3D transformations including rotation, translation, scale and perspective.
  • Program vertex and fragment shaders to implement effects such as lighting, texturing, shadows and reflections.

1 If you need help with your assignment, please contact:

  • the academic teaching staff in your unit for guidance in understanding or completing this type of assessment
  • the Writing Centre for academic skills support.

2 Indicative time-on-task is an estimate of the time required for completion of the assessment task and is subject to individual variation

Delivery and Resources

Week 1

Tutorials and lectures both begin in Week 1.

Classes

Lectures include both pre-recorded lecture videos and online live demonstrations with Q&A.You should watch both each week.

Each week you should also attend your two hour mixed workshop class (the first hour of this class includes tutorial material; the second hour is practical time). For details of days, times and rooms for classes consult the timetables webpage. Note that mixed workshop classes commence in week 1. You should have selected a mixed workshop class during enrolment. You should attend the mixed workshop class which you are enrolled in. If you do not have a class, or if you wish to change one, you should follow the usual procedures for change of enrolment. Please note that you are expected to attend your mixed workshop class - this is the first place to obtain help with the unit.

Resources to assist your learning

iLearn is your first place to visit for weekly unit information including lectures, workshops, assignment specifications, discussion forums and other resources.

Echo360 Lecture Recordings are available - for more information, see the Echo360 student guide. If using lecture recordings, be sure to keep up to date with the lectures each week. The lectures will present material that is relevant to asignments and workshops, so keeping up with lectures is important for your progress in the unit.

The required textbook for this unit is Developing Graphics Frameworks with Java and OpenGL by L. Stemkoski and J. Cona, 2022. This textbook is available for purchase through Booktopia. It is also available as an ebook in the library.

There are a number of online resources about OpenGL. You can use http://www.opengl.org/, as your starting point or use Google to look for specific items. The LWJGL interface to OpenGL is described at https://www.lwjgl.org/.

Technology used and required

We will use Java JDK, Eclipse and LWJGL to develop and debug OpenGL programs. See iLearn for more details.

Websites

We will be using the University's online learning system iLearn. Students should check COMP3170 on iLearn regularly for updates.

Methods of Communication

We will communicate with you via your university email or through announcements on iLearn. Queries to convenors can either be placed on the iLearn discussion board or sent to their emails noted on iLearn from your university email address. You are encouraged to post your questions to the discussion boards to allow other students to benefit from your query, and only use email for more student-specific matters. Emails from non-University emails will not be responded to.

Teaching and learning strategy

COMP3170 is taught via online video lectures, live-streamed demos and mixed workshop classes in a laboratory. The work you do and the feedback that you receive play a crucial role in your learning. Lectures are used to introduce new material, give examples of the use of programming methods and techniques and put them in a wider context. Furthermore, to highlight the relationship between teaching, research and learning, an advanced topic will occasionally be introduced during the lectures. This additional material will not be examined as such but may prove useful to complete the assignments. During Q&A lectures, you are encouraged to ask the lecturer questions to clarify anything you might not be sure of.

You learn by processing concepts, not just by hearing them. Mixed workshop classes are small group classes in the laboratories which give you the opportunity to do exactly that by interacting with a tutor who has a sound knowledge of the subject and with your peers. This also gives you a chance to practice your programming skills. You have many opportunities to seek and to receive feedback. Each week, you will be given problems to solve in the mixed workshop classes. The discussion and the solutions provided will help you to understand the material in the unit, to do the work for the assignments, and to prepare you for the final exam. It is important that you keep up with these problems every week. Each week you should:

Attend lectures, take notes, ask questions

  • Study the on-line lecture slides/notes and textbook as directed by the lecturer
  • Attend your mixed workshop class and seek feedback from your tutor on your work
  • Attempt the weekly online quiz and study/seek assistance with any questions that you do not know how to answer correctly
  • Start working on any assignments as soon as they have been released.

 

Unit Schedule

The provisional schedule of lecture content is as follows. Changes may be made as the session progresses and will be seen on iLearn.

Week Topics Covered
1 Introduction, Pixels & Colors, the OpenGL pipeline, programming the GPU
2 Vector geometry, points and coordinate frames, transformation matrices
3 2D transformation, translation, rotation and scale, vertex shaders, animation, instancing
4 2D Camera, Scene graphs, Bezier curves
5 3D Transformations, Meshes, Extrusion, Loading Meshes
6 3D Camera, Orhographic and Perspective projections, Backface culling
7 Rasterisation, Anti-aliasing, fragments and the fragment shader, depth
8 Bilinear interpolation, Lighting basics, Ambient lighting
Break  
9 Normals, Diffuse & Specular lighting
10 Gamma correction, Transparency, non-photorealisitc rendering
11 Texture mapping, scaling textures, bump mapping
12 Multipass rendering, Screen-space effects, reflections & shadows
13 Revision

Policies and Procedures

Macquarie University policies and procedures are accessible from Policy Central (https://policies.mq.edu.au). Students should be aware of the following policies in particular with regard to Learning and Teaching:

Students seeking more policy resources can visit Student Policies (https://students.mq.edu.au/support/study/policies). It is your one-stop-shop for the key policies you need to know about throughout your undergraduate student journey.

To find other policies relating to Teaching and Learning, visit Policy Central (https://policies.mq.edu.au) and use the search tool.

Student Code of Conduct

Macquarie University students have a responsibility to be familiar with the Student Code of Conduct: https://students.mq.edu.au/admin/other-resources/student-conduct

Results

Results published on platform other than eStudent, (eg. iLearn, Coursera etc.) or released directly by your Unit Convenor, are not confirmed as they are subject to final approval by the University. Once approved, final results will be sent to your student email address and will be made available in eStudent. For more information visit connect.mq.edu.au or if you are a Global MBA student contact globalmba.support@mq.edu.au

Academic Integrity

At Macquarie, we believe academic integrity – honesty, respect, trust, responsibility, fairness and courage – is at the core of learning, teaching and research. We recognise that meeting the expectations required to complete your assessments can be challenging. So, we offer you a range of resources and services to help you reach your potential, including free online writing and maths support, academic skills development and wellbeing consultations.

Student Support

Macquarie University provides a range of support services for students. For details, visit http://students.mq.edu.au/support/

The Writing Centre

The Writing Centre provides resources to develop your English language proficiency, academic writing, and communication skills.

The Library provides online and face to face support to help you find and use relevant information resources. 

Student Services and Support

Macquarie University offers a range of Student Support Services including:

Student Enquiries

Got a question? Ask us via the Service Connect Portal, or contact Service Connect.

IT Help

For help with University computer systems and technology, visit http://www.mq.edu.au/about_us/offices_and_units/information_technology/help/

When using the University's IT, you must adhere to the Acceptable Use of IT Resources Policy. The policy applies to all who connect to the MQ network including students.


Unit information based on version 2024.02 of the Handbook