Outline

Contents

Staff

Tim Lambert is Lecturer in Charge and will administer the course and give the lectures. Contact Details.

Course Details

COMP3421 and COMP9415 are each worth 6 units of credit and are taught together.

COMP3421 (Handbook entry) has a prerequisite of COMP2011 or COMP2711.

COMP9415 (Handbook entry) has a co-requisite of COMP9024 or enrollment in MIT program 8684 or GradCert program 7344.

Aims

Computer graphics concerns itself with everything you might see on a computer screen. The aim of this course is to teach you how to represent graphical information (modeling) and turn that representation into images (rendering).

Learning Outcomes

Knowledge and Understanding

After successfully completing this course you should have knowledge and understanding of

  • modeling: the mathematical representation and computer implementation of lines, curves, surfaces, and transformations
  • rendering: the mathematics of projection, hidden surface removal and local and global illumination; the computer implementation of this in the graphics pipeline
  • how modeling and rendering work together in graphics hardware and software

Practical Skills

After successfully completing this course you should be able to use OpenGL to write interactive computer to manipulate and render complex 3D scenes.

My Approach to Teaching and Learning

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’re 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’ve earned it.

Teaching

Lectures

Lectures will be held in the Biomed Theatre D, Tuesday 3-6pm.

Tutorials

Each week (except the first) there will be a one hour tutorial:

Tutorial times.

Tutorial exercises will be posted here on the Wednesday of the week before.

Labs

Labs are not formally scheduled, but can be done when convenient.

Lab exercises will be posted here.

Schedule

The references are to pages in the text book (Hill).

Week Topic
1 colour perception (672-686)
1 graphics hardware (22-34)
2 two dimensional modeling transformations (209-233)
2 2D viewing transformation (window to viewport to physical device) (82-87)
3 parametric curves and surfaces: Bezier, B-Spline (597-671)
4 three dimensional modeling transformations (233-258)
5 solid modeling (boundary, implicit, sweep and CSG representations) (321-345,802-814)
5 clipping (188-196)
5 3D viewing transformation including 3D to 2D projections and camera transformation (258-266, 359-404)
6 visible surface algorithms (painter’s algorithm, back-face cull, Z-buffer, BSP Trees) (436-438, 699-730)
7 simple local illumination model (Phong illumination model) (408-430)
7 polygon modeling and rendering (flat, gouraud and phong shading) (430-436)
8 general theory of ray tracing (primary rays, secondary reflection rays, shadow rays, transmitted rays, concept of a ray tree) (732-764,790-802)
8 texture and bump mapping including 2D to 3D (surface) and 2D to 3D (solid) using both bitmap and procedurally defined textures (439-464,770-778).
9 anti-aliasing (Nyquist sampling theorem, supersampling, adaptive supersampling, stochastic sampling and jittering) (577-587)
9 Animation techniques: tweening (170-172), double buffering (91), scene graph manipulation.
11 fractals (476-531)
11 Graphics standards
11 introduction to 3D graphics hardware technology, vertex and pixel shaders, GLSL (various sources)
12 drawing lines, filling polygons (554-577)
12 integration: Using everything we’ve learnt to design practical graphical solutions

Resources

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.

Assessment

The mark used for assessment is computed by adding the mark obtained for assignments (out of 40) and the exam mark (out of 60). You need at least 40% in each component or you will get a UF (unsatisfactory fail). Each assignment is out of 20.

Assignments

There will be two assignments in this subject, each worth 20 marks.

Students will use Java, Swing and JOGL (or C++, QT and OpenGL) for their assignments.

Assignment 1 will be released in week 2 and is due at the end of week 6 and will be a graphical editor for maps for a driving simulator.

Assignment 2 will be released in week 7 and is due at the end of week 11 and will be a 3D driving simulator using the maps created in assignment 1.

Exam

There will be a three hour final exam at a time to be arranged.

Originality of assignments–read this carefully

For this subject, as in all subjects in the Department of Computer Science, assignments must be substantially your own work. Assignments are submitted on-line (that is, to a central account on the computer), and all submissions are routinely subject to scrutiny for similarities with other students’ assignments. If you copy from another person, or get an unreasonable amount of help from a friend (so your assignment begins to look like theirs), or if you work very closely with someone, there is a good chance we will detect it. When we do, you will be penalised. At the very least, you will lose some or all marks for that assignment. In the past, students have been automatically failed for submitting stolen assignments. Further details are given in the first section of the UNIX Primer.


Bad Behavior has blocked 221 access attempts in the last 7 days.