Course Code  COMP3421 
Course Title  Computer Graphics 
Units of Credit  6 
Course Website  http://cse.unsw.edu.au/~cs3421 
Handbook Entry  http://www.handbook.unsw.edu.au/undergraduate/courses/current/COMP3421.html 
This course teaches the fundamental algorithms underlying computer graphics in both 2D and 3D. It introduces students to an industry standard graphics API (OpenGL) and gives them experience developing graphical applications.
The course timetable is available here .
This course aims to teach the fundamental algorithms underlying computer graphics in both 2D and 3D. The course also aims to introduce students to an industry standard graphics API (OpenGL) and give them experience developing graphical applications using JOGL.
After successfully completing this course, students will:
This course contributes to the development of the following graduate capabilities:
Graduate Capability  Acquired in 
scholarship: understanding of their discipline in its interdisciplinary context 
lectures, assignments

scholarship: capable of independent and collaborative enquiry 
assignments

scholarship: rigorous in their analysis, critique, and reflection 
tutorials

scholarship: able to apply their knowledge and skills to solving problems 
tutorials, assignments

scholarship: ethical practitioners 
all coursework by doing it yourself

scholarship: capable of effective communication 
tutorials, final assignment demonstration

scholarship: digitally literate 
everywhere in CSE

leadership: enterprising, innovative and creative 
assignments

leadership: collaborative team workers 
assignments

professionalism: capable of operating within an agreed Code of Practice 
assignments

The formal prerequisite for this subject is COMP2911
You are expected to have a working knowledge of:
Lecturer in Charge:
Angela Finlayson
angf@cse.unsw.edu.au, Weeks 16
Lecturer:
Rob Everest
robertce@cse.unsw.edu.au, Week712
Computer Graphics is fun. You can use it to make cool games and amazing special effects in movies. So learning it should be fun.
Computer Graphics is hard. The reason why the world looks like it does is because there are gazillions of photons bouncing around between all the objects. Simulating all the photons and the properties of the objects is too hard to do, so we have to come up with mathematical approximations and clever algorithms.
So you are going to have to work hard to understand the maths and the algorithms. But then you get the reward of making pretty pictures. Which is even more fun because you have earned it.
Lectures will be used to introduce theoretical concepts and will include exercises, demonstrations and live coding examples. Angela will be the lecturer for weeks 1 to 6 and Robert will be the lecturer for weeks 7 to 12
In week 2 you will have a lab instead of your tutorial. In your normal tutorial time you will go to the piano lab for week 2 only. This is your chance to get help setting up jogl on your laptops too if you need it, so bring them along as well.
Tutorials aim to clarify ideas from lectures. There will be a number of exercises set for each tutorial class. The aim of the class is not to simply get the tutor to give you the answers; the aim is to focus on just one or two of the exercises and work through them in detail, discussing as many aspects, alternative approaches, fine details, etc. as possible. You must be active and ask questions in tutorials. Ideally, students should run the entire tute themselves, with the tutor being a moderator and occasionally providing additional explanations or clarifications. Any questions that are not completed during tutorials can be used for self study and revision. Sample solutions to most tutorial questions will be provided at the end of each week.
Assignments are a very important part of the course. They allow students apply the techniques introduced in the course and the final assignment involves students working in pairs to create a significant application
Assessment will be based on 2 assignments and a final exam and is subject to scaling. Contributions are as follows:
Task  Value 

Assignment 1  15% 
Assignment 2  25% 
Exam  60% 
This is an individual assignment
Released: Week 2
Due: End of week 5
Covers: 2D drawing and transformations in OpenGL(JOGL)
This will be a pair assignment
Released: Week 7
Due: Milestone 1 due end of week 9, final submission due end of week 12. Demo in week 13
Covers: 3D drawing and transformations in OpenGL(JOGL)
There will be a two hour final exam at a time to be arranged, covering the entire syllabus.
The exam will be open book. Calculators and rulers will also be allowed into the exam.
Plagiarism is defined as using the words or ideas of others and presenting them as your own . UNSW and CSE treat plagiarism as academic misconduct, which means that it carries penalties as severe as being excluded from further study at UNSW. There are several online sources to help you understand what plagiarism is and how it is dealt with at UNSW:
Make sure that you read and understand these. Ignorance is not accepted as an excuse for plagiarism.
The (current and subject to change) schedule of lecture topics is:
Week  Lectures  Tutes 
Week 1  Introduction, getting started with JOGL 
NO TUTORIAL

Week 2 
2D Transformations in JOGL, Vector/Matrix Revision

LAB setting up/getting started with JOGL

Week 3 
Homogeneous Coordinates, Vector Geometry, Clipping Algorithms

2D Transformations in JOGL, Vector/Matrix Revision 
Week 4 
3D Graphics, Depth, Perspective

Homogeneous Coordinates, Vector Geometry, Clipping Algorithms 
Week 5 
Hidden Surface Removal, Illumination

3D Graphics, Depth, Perspective 
Week 6 
Shaders and the Programmable Pipeline

Hidden Surface Removal, Illumination 
Week 7 
Modeling and VBOs

Shaders and the Programmable Pipeline 
Week 8 
Textures

Modeling and VBOs 
Week 9 
Rasterisation

Textures 
Week 10 
Ray Tracing

Rasterisation 
Week 11 
Radiosity, Splines

Ray Tracing 
Week 12 
Advanced Topics, Revision, Exam Info

Radiosity, Splines, Revision 
Week 13 
NO LECTURE

Assignment 2 Demos

Note: There will be no tutorial in Week 1. Week 2 there will be a lab instead of a tutorial please check your lab location for week2. Week 13 will be an assignment demo instead of a tutorial. Locations for the assignment demos will be arranged closer to the date. The rest of the weeks will be tutorials in your allocated tutorial rooms.
The textbook is Computer Graphics using OpenGL by FS Hill. It doesn't matter whether you have the 3rd or 2nd edition.
The text book uses C++ for its example programs, but you should have no trouble understanding them if you are familiar with Java or C.
For lecture examples and assignments will be using JOGL , a Java interface to the native OpenGL libraries. We will be using version 2.3.2 of jogl .
This course is evaluated each session using the CATEI system. Students are also encouraged to provide informal feedback during the session and to let the lecturer in charge know of any problems as soon as they arise. Suggestions will be listened to very openly, positively, constructively and thankfully, and every reasonable effort will be made to address them.
Feedback from the previous session has indicated that some students felt that since there were no labs except in week2, they would like to be given some smaller tasks instead of just 2 major assignments. To address this issue, we will be giving a number of optional programming tasks (with sample solutions coming out) along the way and are also breaking the final assignment down into 2 sections. This will allow students to get focus on and get feedback on a smaller subtask of assignment 2 before building on that for their final submission and demonstration.
Resource created Sunday 10 July 2016, 12:40:12 PM, last modified Sunday 24 July 2016, 12:47:02 PM.