Students

COMP330 – Computer Graphics

2019 – S1 Day

General Information

Download as PDF
Unit convenor and teaching staff Unit convenor and teaching staff Convenor, Lecturer
Malcolm Ryan
by appointment
Lecturer
Len Hamey
Lecturer, Tutor
Peter Reeves
Tutor
Daniel Brown
Credit points Credit points
3
Prerequisites Prerequisites
(39cp at 100 level or above) including ((COMP202 and (COMP225 or COMP229) and (MATH135 or DMTH137))
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:

  • 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 WebGL and Javascript.
  • 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.

Assessment Tasks

Name Weighting Hurdle Due
Assignment 1 20% No Week 7
Assignment 2 10% No Week 8
Assignment 3 20% No Week 12
Online quizzes 10% No Weekly
Final exam 40% No TBA

Assignment 1

Due: Week 7
Weighting: 20%

2D interactive graphics

You will develop an interactive 2D graphics application using WebGL and Javascript. This application will provide an interactive experience for the user but will only involve 2D graphics.

Submit your work via iLearn.


On successful completion you will be able to:
  • Program 2D and 3D graphical applications using WebGL and Javascript.

Assignment 2

Due: Week 8
Weighting: 10%

Geometric transformations

You will practise using geometric transformations both conceptually and in graphics programming. Composition of transformations is a key concept to master.

Your solutions should be neatly presented as a PDF.  If you need to submit hand drawn sketches or hand-written mathematical equations, you may scan them and insert them into a document, then save it to PDF.  Take care to ensure that the resulting document can be easily read on screen.

Submit your solution via iLearn.


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.

Assignment 3

Due: Week 12
Weighting: 20%

3D visualiser (3D)

You will create an interactive 3D graphics application using WebGL and Javascript. Your program will display on the screen the 3D appearance of a scene.

Submit your work via iLearn.


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 WebGL and Javascript.
  • 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.

Online quizzes

Due: Weekly
Weighting: 10%

There will be online quizzes, one approximately every week.  Each quiz will be worth 1% to a maximum of 10% mark so your final mark for the online quizzes will be the sum of your best ten quiz results.  You can attempt each quiz as many times as you wish, and your final mark for each quiz will be the maximum mark of any attempt.  These quizzes are intended to provide you with feedback on your learning as you proceed through the unit, and should be attempted early in order to benefit you the most,


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.

Final exam

Due: TBA
Weighting: 40%

Your performance in the final exam constitutes 40% of your final mark. The exam will focus on material that was covered in the lectures, on-line lecture notes and mixed workshop classes. There could also be some exam questions designed to test how well you understood the assignments you did. The final exam will be a closed book two hour paper and will be held in the examination period at the end of the semester. The final examination will consist of two parts, which roughly correspond to the following two topic groupings:  

  • 2D and raster graphics, geometric  transformations 
  • 3D graphics including modelling, viewing and rendering

Within each part there is a mixture of short answer questions and more complex questions. The more complex questions could require you to write a few paragraphs of prose, to develop some code, or to perform some mathematical computations.

Regarding the examination process, note that:

  • you must attend all required classes and submit all required assessment, otherwise the Executive Dean of the Faculty or delegated authority has the power to refuse permission to attend the final examination;
  • you are expected to present yourself for examination at the time and place designated in the University Examination Timetable;
  • the timetable will be available in draft form approximately eight weeks before the commencement of the examinations and in final form approximately four weeks before the commencement of examinations;
  • no early examinations for individuals or groups of students will be set. All students are expected to ensure that they are available until the end of the teaching semester, that is the final day of the official examination period;
  • The only valid reason for not sitting an examination at the designated time is because of documented illness or unavoidable disruption. In these circumstances you may wish to consider applying for Special Consideration.
  • If you receive special consideration for the final exam, a supplementary exam will be scheduled in the interval between the regular exam period and the start of the next session.  By making a special consideration application for the final exam you are declaring yourself available for a resit during the supplementary examination period and will not be eligible for a second special consideration approval based on pre-existing commitments.  Please ensure you are familiar with the policy prior to submitting an application. You can check the supplementary exam information page on FSE101 in iLearn (bit.ly/FSESupp) for dates, and approved applicants will receive an individual notification one week prior to the exam with the exact date and time of their supplementary examination.

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.

Delivery and Resources

Classes

Each week you should attend three hours of lectures. Each week you should also attend your two hour mixed workshop class (the first hour of this class is supervised and includes tutorial material; the second hour is unsupervised practical time). Most weeks some assessable work will need to be submitted after your workshop (details are provided under Assessment). 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 required to attend and submit work after your mixed workshop classes. Failure to do so may result in you failing the unit or being excluded from the exam (see the rules regarding the examination process which are detailed below).

Resources to assist your learning

Echo360 Lecture Recordings (previously known as iLecture) are available. For more information see Echo360 student guide.

The textbook for this unit is WebGL Programming Guide: Interactive 3D Graphics Programming with WebGL by R. Lea and K. Matsude The textbook is available from the University Co-op Bookshop, or online through the Library. 

The OpenGL Programming Guide ("The Red Book") is available online and can be downloaded from the unit web page. This book provides a number of valuable examples in using OpenGL. You do not need to purchase the Red Book (RB), and you do not need to print RB (remember your print quotas). You should skim the readings for the week before the lecture (see Unit Schedule). The lectures will focus and expand on key areas.

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.

Technology used and required

We will concentrate on using the Google Chrome web browser to run and debug WebGL programs. We also recommend you use an editor with built-in Javascript support. We will be using VS Code in labs, but many different editors support this language.

Websites

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

Discussion Boards

We will use the forums hosted within iLearn. Feel free to post questions there. Important announcements (such as tips and clarifications on assignments) will often be posted there.

Teaching and learning strategy

COMP330 is taught via lectures in a lecture room 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.

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. During lectures, you are encouraged to ask the lecturer questions to clarify anything you might not be sure of. Each week, you will be given problems to solve in the mixed workshop classes and you will have to submit your solutions to some of these problems via iLearn after your class. The comments 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
  • Submit homework weekly and read any feedback provided
  • Start working on any assignments as soon as they have been released.

Time management and programming

COMP330 is a three credit point unit.  You are therefore expected to spend approximately nine hours per week on this unit.  Since each week each student should attend three hours of lectures, and attend a two hour mixed workshop, the remaining four hours per week will be spent on assigned assessable work outside of class. A significant portion of the outside time will be spent on programming.  Mastering some basic skills early in the semester can save you tenfold in time and energy.  In particular, many students have difficulty managing large projects and have problems with some of the trickier aspects of Javascript.  There are many Javascript tutorials and online books available. Go through a couple of them.

You cannot learn graphics programming - or any kind of programming for that matter - simply by reading a textbook. You could make a start by copying some of the programs from the unit website, then modifying and running the programs to gain an understanding of how they work. Make sure you try to understand each line of code.  Programming is a science and an art; it is not magic. The assignments in this unit could take many hours to complete. Don't expect to complete any of the assignments over a single weekend. Start each assignment early, get some basic functionality going, and try to become proficient in the parts of WebGL that will be necessary for the assignment. It is often a good idea to write sample programs that let you test a single feature you are exploring before embedding it in the large project.

 

Unit Schedule

Classes will consist of a 2 hour theory lecture covering the mathematical foundations of graphics, and a 1 hour programming lecture demonstrating how these ideas are implemented in WebGL and Javascript.

The provisional schedule of lectures is as follows. Changes may be made as the session progresses.

Week Theory Programming Assessment
1

Unit admin

History of computer graphics 

What is the GPU? 

Overview of the graphics pipeline

Introduction to Javascript & WebGL  
2 Vector geometry refresher

GLSL programming.

Uniforms, attributes, vector math

 
3

2D models & transformations 

World to view mapping 

Coordinate systems, transformations. 

Model transformation, view transform. 

The vertex shader  
4

Homogeneous coordinates 

2D affine transformations

Matrix math in Javascript. Animation  
5

3D modelling as meshes

3D transformations The scene graph

Representing 3D meshes

Building a scene graph

 
6

The view volume

Orthographic and perspective projections 

Clipping 

Adding a projection matrix  
7

Backface culling 

Rasterisation 

Antialiasing 

Color 

The fragment shader Assignment 1 due: 2D world
8

Depth buffer 

Occlusion-culling 

Transparency 

Forward/Deferred rendering 

Working with the depth buffer

Assignment 2 due: 3D transformations quiz
9 Shading & Illumination

Passing data between vertex & fragment shaders

 
10

Textures

Normal maps

Using textures  
11

Effects: 

  • Ambient Occlusion 
  • Shadow maps 
  • Reflection maps 
  • Screen-space reflections 
Working with buffers Blitting  
12 Ray-tracing and indirect lighting Advanced WebGL effects Assignment 3 due: 3D world
13 No lecture No lecture  

 

Policies and Procedures

Macquarie University policies and procedures are accessible from Policy Central (https://staff.mq.edu.au/work/strategy-planning-and-governance/university-policies-and-procedures/policy-central). Students should be aware of the following policies in particular with regard to Learning and Teaching:

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

If you would like to see all the policies relevant to Learning and Teaching visit Policy Central (https://staff.mq.edu.au/work/strategy-planning-and-governance/university-policies-and-procedures/policy-central).

Student Code of Conduct

Macquarie University students have a responsibility to be familiar with the Student Code of Conduct: https://students.mq.edu.au/study/getting-started/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 ask.mq.edu.au or if you are a Global MBA student contact globalmba.support@mq.edu.au

Policy on late assignments

No extensions will be granted except in cases of approved disruption. Students who have not submitted their work for the task prior to the deadline will be awarded a mark of 0 for the task, except for disruption cases.

Student Support

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

Learning Skills

Learning Skills (mq.edu.au/learningskills) provides academic writing resources and study strategies to improve your marks and take control of your study.

Student Services and Support

Students with a disability are encouraged to contact the Disability Service who can provide appropriate help with any issues that arise during their studies.

Student Enquiries

For all student enquiries, visit Student Connect at ask.mq.edu.au

If you are a Global MBA student contact globalmba.support@mq.edu.au

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.

Graduate Capabilities

Creative and Innovative

Our graduates will also be capable of creative thinking and of creating knowledge. They will be imaginative and open to experience and capable of innovation at work and in the community. We want them to be engaged in applying their critical, creative thinking.

This graduate capability is supported by:

Learning outcomes

  • 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 WebGL and Javascript.
  • Program vertex and fragment shaders to implement effects such as lighting, texturing, shadows and reflections.

Assessment tasks

  • Assignment 1
  • Assignment 3

Capable of Professional and Personal Judgement and Initiative

We want our graduates to have emotional intelligence and sound interpersonal skills and to demonstrate discernment and common sense in their professional and personal judgement. They will exercise initiative as needed. They will be capable of risk assessment, and be able to handle ambiguity and complexity, enabling them to be adaptable in diverse and changing environments.

This graduate capability is supported by:

Assessment task

  • Assignment 3

Commitment to Continuous Learning

Our graduates will have enquiring minds and a literate curiosity which will lead them to pursue knowledge for its own sake. They will continue to pursue learning in their careers and as they participate in the world. They will be capable of reflecting on their experiences and relationships with others and the environment, learning from them, and growing - personally, professionally and socially.

This graduate capability is supported by:

Assessment tasks

  • Assignment 1
  • Assignment 3

Discipline Specific Knowledge and Skills

Our graduates will take with them the intellectual development, depth and breadth of knowledge, scholarly understanding, and specific subject content in their chosen fields to make them competent and confident in their subject or profession. They will be able to demonstrate, where relevant, professional technical competence and meet professional standards. They will be able to articulate the structure of knowledge of their discipline, be able to adapt discipline-specific knowledge to novel situations, and be able to contribute from their discipline to inter-disciplinary solutions to problems.

This graduate capability is supported by:

Learning outcomes

  • 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 WebGL and Javascript.
  • 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.

Assessment tasks

  • Assignment 1
  • Assignment 2
  • Assignment 3
  • Online quizzes
  • Final exam

Critical, Analytical and Integrative Thinking

We want our graduates to be capable of reasoning, questioning and analysing, and to integrate and synthesise learning and knowledge from a range of sources and environments; to be able to critique constraints, assumptions and limitations; to be able to think independently and systemically in relation to scholarly activity, in the workplace, and in the world. We want them to have a level of scientific and information technology literacy.

This graduate capability is supported by:

Learning outcomes

  • Program 2D and 3D graphical applications using WebGL and Javascript.
  • Program vertex and fragment shaders to implement effects such as lighting, texturing, shadows and reflections.

Assessment tasks

  • Assignment 3
  • Online quizzes
  • Final exam

Problem Solving and Research Capability

Our graduates should be capable of researching; of analysing, and interpreting and assessing data and information in various forms; of drawing connections across fields of knowledge; and they should be able to relate their knowledge to complex situations at work or in the world, in order to diagnose and solve problems. We want them to have the confidence to take the initiative in doing so, within an awareness of their own limitations.

This graduate capability is supported by:

Learning outcomes

  • 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 WebGL and Javascript.
  • Program vertex and fragment shaders to implement effects such as lighting, texturing, shadows and reflections.

Assessment tasks

  • Assignment 1
  • Assignment 2
  • Assignment 3
  • Online quizzes
  • Final exam

Effective Communication

We want to develop in our students the ability to communicate and convey their views in forms effective with different audiences. We want our graduates to take with them the capability to read, listen, question, gather and evaluate information resources in a variety of formats, assess, write clearly, speak effectively, and to use visual communication and communication technologies as appropriate.

This graduate capability is supported by:

Assessment tasks

  • Assignment 3
  • Final exam

Changes from Previous Offering

We have undertaken a major revision of the unit in 2019, to bring it up to date with modern graphics programming practices. In particular, we have changied from OpenGL/C++ to WebGL/Javascript and have introduced new material on shader programming in GLSL.

Grading and Standards

 

Final Grades

At the end of the semester, you will receive a final grade that reflects your overall achievement in the unit including the final exam. Your grade will be determined based on your total mark out of 100.

The different possible final grades are defined in general and more concrete terms below.

  • Fail (F): does not provide evidence of attainment of all learning outcomes. There is missing or partial or superficial or faulty understanding and application of the fundamental concepts in the field of study; and incomplete or confusing communication of ideas in a way that gives little attention to the conventions of the discipline. That is, overall work is unsatisfactory or still developing.
  • Pass (P): provides sufficient evidence of the achievement of learning outcomes. There is demonstration of understanding and application of fundamental concepts of the field of study; information and ideas are adequately communicated in terms of the conventions of the discipline. The learning attainment is considered satisfactory or adequate or competent in relation to the specified outcomes. The pass mark is 50.
  • Credit (Cr): provides evidence of learning that goes beyond replication of content knowledge or skills relevant to the learning outcomes. There is demonstration of substantial understanding of fundamental concepts in the field of study and the ability to apply these concepts in a variety of contexts; there is fluent and clear communication of ideas in terms of the conventions of the discipline. The overall learning attainment is proficient. The minimum mark to be awarded a Credit is 65.
  • Distinction (D): provides evidence of integration and evaluation of critical ideas, principles and theories, distinctive insight and ability in applying relevant skills and concepts in relation to learning outcomes. There is demonstration of frequent originality in defining and analysing issues or problems and providing solutions; and the use of means of communication appropriate to the discipline and the audience. The overall learning attainment is excellent. The minimum mark to be awarded a Distinction is 75.
  • High Distinction (HD): provides consistent evidence of deep and critical understanding in relation to the learning outcomes. There is substantial originality and insight in identifying, generating and communicating competing arguments, perspectives or problem solving approaches; critical evaluation of problems, their solutions and their implications; creativity in application. The overall learning attainment is outstanding. The minimum mark to be awarded a High Distinction is 85.

 

Changes since First Published

Date Description
03/03/2019 Moved submission dates for Ass 1 & 2. Ass 1 is now due in week 7 (was week 5) Ass 2 is now due in week 8 (was week 7).