Course Material for 159-709 Advanced Graphics

This paper will be run during Semester 1, 2011. Material will appear here during the semester.

Course Outline: PDF.

A brief synopsis:
This paper is closely aligned with some of the research on Visualisation and Simulation in the Computer Science group. We will cover most of the key ideas in computer graphics for animation and simulation visualisation and this paper should provide students with a background for further work or research in the games or computer-generated movie industries. You will learn how to: use advanced computer graphics techniques in 2-D and 3D rendering; understand how advanced computer graphics can be used to help interpret simulations; and appreciate the power and scope of computer animation. We cover topics including: Graphics devices; Interactive graphics systems; Drawing algorithms; Lines and Polygons; Curves and Surfaces; Representation of 3-D objects; Perspective; Techniques for Visual Realism; Animation techniques; Visualisation of Scientific Simulations. We will also look at the use of Graphical Processing Units (GPUs) as accelerators for speeding up visualisation and simulation calculations. There are several project topics with the Complex Systems & Simulations group that follow on from ideas covered in this paper.


Lectures

The lecture slot for this paper is provisionally set for:


Additional lecture material will appear here during the course of the semester:


Assignments

There will be four assignments.

Assignment One - Due 5pm Friday 25th March (end of Week 4). Specification PDF.


Assignment Two - due 5pm Friday 6th May (end of S1 Week 8). Specification PDF | MS-Word-Doc
Some test data of pre-grown DLA aggregates are:


Assignment Three - due 5pm Friday 20th May (End of Week 10). Specification PDF | MS-Word-Doc

A link to some useful file format definitions is http://local.wasp.uwa.edu.au/~pbourke/dataformats/. VEF or VF is enough for simple structures, OBJ supports a lot more information, and there are various other layers of sophistication to choose from.


Assignment Four - Due 5pm Friday 10th June. (1 week after semester ends) Specification PDF | MS-Word-Doc


Other Material

There is no particular recommended textbook for this paper, although some useful books are:


OpenGL Documentation such as:


The classic graphics text, now in 2nd edition is: Computer Graphics Principles and Practice, James Foley, Andries van Dam, Steven Feiner and John Hughes, Addison-Wesley, Second Edition (in C with SRGP and SPHIGS) 1997, ISBN 0-201-84840-6.
You may find it gives a more detailed explanation of many of the algorithms we have discussed during this paper. The algorthms and "maths" in the book is excellent although the graphical systems they use a little old fashioned. Remember the pace at which computer science is moving forwards - "old -fashioned" only means they are just 2-3 years out dated :-)

Another excellent book for studying algorithms and the maths behind the ideas, is: Computer Graphics with OpenGL Donald Hearn and M. Pauline Baker, Third Edition, Prentice Hall 2004, ISBN 0-13-015390-7.

You may find Java 2D Graphics by Johnathan Knudsen, Published by O'Reilly, ISBN 1-56592-484-3, of use in understanding some of the more advanced features of the Java 2D Graphics API. It covers the Swing GUI library fairly lightly. There are plenty of "brightly coloured" books in the library or in your bookshop on Swing. Unfortunately such books tend to have a short life time. You may find the online Swing tutorials at the Sun web site more valuable as they will be up to date with the software.

Another good book on OpenGL is Interactive Computer Graphics - A Top Down approach with OpenGLby Edward S. Angel. It comes with good online support material - ie programs - at this link.


The OpenGL Foundation is a useful Source of information on OpenGL.

Prof Edward Angel's books on Interactive Computer Graphics and OpenGL are also useful texts and are supported by lots of online example material.

The OpenGL Programming Guide (Fourth Edition) by D.Shreiner, M.Woo, J.Neider and T.Davis is also a good read and guide. Published by Addison Wesley, ISBN 0-321-17348-1, 2004. There are online program examples with this book: ftp.sgi.org/opengl.

A variety of OpenGL tutorials and accompanying programs are to be found on the Net.
One such is: http://zavie.free.fr/opengl/index.html.en.

and another is: http://www.xmission.com/~nate/tutors.html.

and yet another is: http://nehe.gamedev.net/
Browsing the example programs often helps learn OpenGL and its capabilities.

The Berkeley MPEG encoder is one possible tool to use for making animation sequences easily. Have your graphics program produce a series of static images in files nemed "frame00001", "frame00002",... etc and the encoder can convert the stills into an mpeg movie file. There other encoder packages available on the net.


A valuable online resource is also the Sun Java Tutorial which will help with general Java programming questions as well as the Swing Graphics library specifics.

Another useful link is the Java API.

You may also find the online material for the undergraduate graphics paper 159235 to be useful revision/refresher material.
K.A.Hawick, 2011.