Back to Module List

CMPC2G04 - GRAPHICS I

Module Code:
CMPC2G04
Department:
Computing Sciences
Credit Value:
20
Level:
2
Organiser:
Dr. Stephen Laycock
This module covers the basics of computer graphics for all computer scientists and concentrates on two-dimensional and three-dimensional graphics fundamentals. It puts an emphasis on 2D graphics, algorithms, interaction and OpenGL. Other topics covered include fonts, algorithms for line drawing, curves, clipping and colour. Ability to program is a pre-requisite. An introduction to C++ will be presented as part of the module.

Where necessary, lectures will be given using a data projector to allow theory and example programs to be demonstrated. The primary delivery route is by lectures. Students are expected to make their own notes from lectures and recommended texts. Example programs and course notes where applicable are distributed via blackboard, which is accessible to all students registered on the module.  

CMP teaching laboratories are available to CMP students during term time outside time-tabled teaching hours. You should aim to test your coursework, as you develop it. General computing resources are located elsewhere on campus.


Recommended:

  • Hearn & Baker, Computer Graphics with OpenGL, Prentice-Hall

Recommended for coursework (particularly if you are taking Graphics II as well):

  • Shreiner,D., Woo,M., Neider,J., Davis,T. Opengl Programming Guide: The Official Guide to Learning Opengl ,Addison Wesley
    Good programming guide with many Examples.
  • An electronic copy of version 1.1 can be found at www.opengl.org/documentation/red_book. (perfectly fine for Graphics I)

Alternatives:

  • Foley, van Dam, Feiner and Hughes, Computer Graphics, Principles and Practice, Addison-Wesley (suitable for Graphics I and Graphics II)
  • Foley, van Dam, Feiner, Hughes and Phillips, Introduction to Computer Graphics, Addison-Wesley

This is a cut-down and cheaper revision of the above, suitable for those who do not intend to continue by taking third level graphics units.

  •  Hearn, D. and Baker,M.P., Computer Graphics C version, Prentice Hall.

Supplementary Texts (not for purchase):

  • Rogers, Procedural Elements for Computer Graphics, McGraw-Hill
  • Rogers and Adams, Mathematical Elements for Computer Graphics, McGraw-Hill

Journals in the UEA or CMP Library:

  • IEEE Computer Graphics and Applications.
  • Computer Graphics Forum (Eurographics).
  • ACM Transactions on Graphics.
  • Computer Graphics, Vision and Image Processing.

Submission:

Written coursework should be submitted by following the standard CMP practice. Students are advised to refer to the Guidelines and Hints on Written Work in CMP.

Deadlines:

If coursework is handed in after the deadline day or an agreed extension:
 

 

Work submitted Marks deducted
After 15:00 on the due date and before 15:00 on the day following the due date 10 marks
After 15:00 on the second day after the due date and before 15:00 on the third day after the due date 20 marks
After 15:00 on the third day after the due date and before 15:00 on the 20th day after the due date.  All the marks the work merits if submitted on time (ie no marks awarded) 
After 20 working days Work will not be marked and a mark of zero will be entered


Saturdays and Sundays will NOT be taken into account for the purposes of calculation of marks deducted.

All extension requests will be managed through the LTS Hub. A request for an extension to a deadline for the submission of work for assessment should be submitted by the student to the appropriate Learning and Teaching Service Hub, prior to the deadline, on a University Extension Request Form accompanied by appropriate evidence. Extension requests will be considered by the appropriate Learning and Teaching Service Manager in those instances where (a) acceptable extenuating circumstances exist and (b) the request is submitted before the deadline. All other cases will be considered by a Coursework Coordinator in CMP.

For more details, including how to apply for an extension due to extenuating circumstances download Submission for Work Assessment (PDF, 39KB)
 

Plagiarism:

Plagiarism is the copying or close paraphrasing of published or unpublished work, including    the work of another student; without due acknowledgement. Plagiarism is regarded a serious offence by the University, and all cases will be investigated. Possible consequences of plagiarism include deduction of marks and disciplinary action, as detailed by UEA's Policy on Plagiarism and Collusion.


Module specific:

  • Introduce computer graphics
  • Discuss uses of computer graphics.
  • Describe raster fundamentals.
  • Using OpenGL, with emphasis on writing 2D graphics applications
  • Develop mathematical foundations
  • Describe the rendering pipeline
  • Give examples of Graphic entities
  • Understand 2D Lines and Line drawing algorithms.
  • Understand 2D Geometry, 2D transformations and Homogeneous co-ordinates.
  • Investigate Clipping: Clipping lines, Clipping algorithms, Clipping polygons.
  • Investigate Filling: Scan conversion, Filling polygons and Pattern filling Algorithms.
  • Text and Fonts: Text and fonts for raster devices.
  • Introduce the fundamentals of Colour

Transferable skills:

  • To gain experience in the application of computer graphics in other areas of computing
  • To gain experience in the efficient implementation of algorithms.
  • To develop a methodical approach to problem solving
  • To gain experience of implementation of common data structures

On completion of this module students should be able to:

  • Understand the fundamentals of computer graphics and its applications
  • Understand the meaning of raster graphics.
  • Write programs using OpenGL and C++
  • Describe simple Graphic entities and the rendering environment.
  • Understand the technical issues of 2D Lines and Line drawing algorithms.
  • Understand the theory and practice of 2D Geometry, 2D transformations and Homogeneous co-ordinates.
  • Describe Clipping: Clipping lines, Clipping algorithms, Clipping polygons.
  • Describe Filling: Scan conversion and Filling polygons
  • Understand the basic theory of Text and Fonts
  • Understand the fundamentals of Colour

Total hours: 50

Lectures: 20, hours: 20, Content (with provisional weekly schedule):

  1. Introduction to C++
  2. Introduction to C++
  3. Introduction to OpenGL with C++
  4. Further study of OpenGL
  5. Further study of OpenGL
  6. Further study of OpenGL
  7. Further study of OpenGL
  8. Geometry of 2D transformations
  9. 2D transformations and homogeneous co-ordinates
  10. Graphics Systems and Architecture
  11. Theory of lines in computer graphics
  12. Introduction to line drawing algorithms
  13. Basic clipping algorithms
  14. Further Clipping algorithms
  15. Scan conversion and Filling polygons
  16. Fundamental computational geometry of lines and polygons
  17. Introduction to colour for computer graphics
  18. Further colour  
  19. Fonts

Workshops: 10; Hours: 10; Content (with provisional weekly schedule):

The workshops will be run as a support lecture aimed at covering additional background material and examples.

Laboratory Work: 10; Hours: 20; Content (with provisional weekly schedule):

  1-3. Non-assessed exercises covering C++ and OpenGL
  3-11. Implementation of Coursework


This module is assessed by coursework and examination. The coursework involves writing a graphics program that is demonstrated to a member of the teaching staff. All source code, project files and executables must be submitted to the unit organiser for assessment., during your demonstration in week 12.
 

The report must be submitted Monday of Week 12 by midnight.
 

The examination is based on the lectures.
 

Non-assessed lab sheets will be distributed via Blackboard.
 

The final submission is due in week 12 (report on Monday, demonstrations to be arranged in week 12).
 

Setting of coursework:

Coursework assignment is set in week 3.