CGRA350 (2019) - Real-time 3D Computer Graphics
This course addresses graphics programming for real-time 3D graphics. It covers graphics APIs, in particular OpenGL, and the graphics processing pipeline (including geometry processing, viewing, projection, transformation, illumination, texture mapping). It also addresses display hardware and graphics cards. Please note: this course will run for the first time in 2018
Course learning objectives
Students who pass this course should be able to:
- Explain and navigate the structure of the interactive 3D graphics pipeline, from 3D geometry input to final rendering images.
- Efficiently and effectively use a standard graphics API (e.g., OpenGL) for implementing real-time 3D graphics applications.
- Implement and modify programs that use important computer graphics algorithms to solve interactive computer graphics problems.
The course focuses on 3D computer graphics algorithms; it is not a course on creative content creation and manipulation.
We will explore how final images are produced once a 3D model has been created or acquired. Topics include: the graphics pipeline, shader programming in GLSL, hierarchical modelling, animation, lighting, illumination, textures, procedural modelling, simulation, and other computer graphics algorithms.
The course is based on the belief that computer graphics is best learned by doing. Implementing programs is a significant component of the course because many of the subtleties and difficulties encountered in computer graphics only become apparent when one actually tries to write programs and show the results on the display. The programming assignments and project serve both to increase your understanding of the relevant concepts and techniques, and also to give you confidence in being able to apply the techniques to real applications.
Required Academic Background
Students need to be confident in the programming language (C++) and mathematics (linear algebra) that was used in the prerequisite, CGRA 251.
Withdrawal from Course
Withdrawal dates and process:
We expect to have one or two guest lectures from expert staff at Weta Digital.
During the trimester there will are three scheduled slots per week. Two of those slots are for lectures. The third slot may be used for tutorials, labs, or student presentations.
Student feedback on University courses may be found at: http://www.cad.vuw.ac.nz/feedback/feedback_display.php
Dates (trimester, teaching & break dates)
- Teaching: 04 March 2019 - 09 June 2019
- Break: 15 April 2019 - 28 April 2019
- Study period: 10 June 2019 - 13 June 2019
- Exam period: 14 June 2019 - 29 June 2019
Set Texts and Recommended Readings
There are no required texts for this offering.
Mandatory Course Requirements
In addition to achieving an overall pass mark of at least 50%, students must:
- Obtain at least 40% on the final project.
If you believe that exceptional circumstances may prevent you from meeting the mandatory course requirements, contact the Course Coordinator for advice as soon as possible.
This course is assessed through assignments, project proposal, project presentation, and project report. Students will be required to give two oral presentations, submit three programming assignments, and submit all of the documents for the project (proposal, report, code, presentation slides).
|Assessment Item||Due Date or Test Date||CLO(s)||Percentage|
|Programming Assignment 1||week 4||CLO: 1,2,3||20%|
|Programming Assignment 2||week 6||CLO: 1,2,3||15%|
|Project proposal||in the mid-trimester break||CLO: 1||10%|
|Programming Assignment 3||week 9||CLO: 1,2,3||20%|
|Project submission and report||in the study and exam period||CLO: 1,2,3||35%|
- Each assignment that is late (i.e., submitted on the submission system after the deadline) will be penalised by 25% for each day that it is late.
- Each student will have 3 "late days" which can be used for any assignment or assignments during the course (except for the final project submission). There will be no penalty applied for these late days. You do not need to apply for these - any late days you have left will be automatically applied to assignments that you submit late. Late days are used up in fractions of a day, for example, using 0.1 of a day will leave you with 2.9 days.
- The late days are intended to cover minor illnesses or other personal reasons for being late. You should ask for extensions only in the case of more significant or longer lasting problems and we reserve the right to ask you for documentation to support your case. Do not waste "late days" on procrastination.
- All submitted code must be compiled and run on the ECS Linux system. You can work on any other platforms, but programs that do not compile and run on the ECS Linux system will not be marked. Since computer graphics is all about showing results on the screen, assignments and projects are marked based primarily on the final output on the display.
Individual extensions will only be granted in exceptional personal circumstances, and should be negotiated with the course coordinator before the deadline whenever possible. Documentation (e.g., a medical certificate) may be required in some circumstances.
Submission & Return
All work is submitted through the ECS submission system, accessible through the course web pages. Marks and comments will be returned through the ECS marking system, also available through the course web pages.
Computer graphics is best learned by doing and showing the results. There will be three programming assignments, and a substantial programming projects. Work for marking should be submitted electronically using the ECS Submission System. The project consists of both individual and group tasks.
All submitted code must be compiled and run on the ECS Linux system. You can work on any other platforms, but programs that do not compile and run on the ECS Linux system will not be marked. Since computer graphics is all about showing results on the screen, assignments and projects are marked based primarily on the final output on the display.The details of the assignments and projects will be provided in the lectures and on the course website.
The project is group work in groups of 2 or 3 students. The number of group member depends on the total number of enrolled students and the project topics. Part of the project is done and marked as a group. Therefore, we strongly encourage students to engage with their group. Well-collaborated and integrated projects will receive more marks. However, most of the assessment is based on individual contributions. The group marks will be limited to a part of the project proposal (5 marks), the integrated system (5 marks), and presentation (5 marks) of the final project; the other parts of the project proposal (5 marks) and final submission (25 marks) will be assessed individually.
In order to maintain satisfactory progress in CGRA 350, you should plan to spend an average of 10 hours per week (including 1 week of mid-trimester break) on this paper. A plausible and approximate breakdown for these hours would be:
- Lectures: 2 hours
- Reading and online research: 3 hours
- Assignments: 5 hours
Communication of Additional Information
All online material for this course can be accessed at https://ecs.victoria.ac.nz/Courses/CGRA350_2019T1/.
Links to General Course Information
- Academic Integrity and Plagiarism: https://www.victoria.ac.nz/students/study/exams/integrity-plagiarism
- Academic Progress: https://www.victoria.ac.nz/students/study/progress/academic-progess (including restrictions and non-engagement)
- Dates and deadlines: https://www.victoria.ac.nz/students/study/dates
- Grades: https://www.victoria.ac.nz/students/study/progress/grades
- Special passes: Refer to the Assessment Handbook, at https://www.victoria.ac.nz/documents/policy/staff-policy/assessment-handbook.pdf
- Statutes and policies, e.g. Student Conduct Statute: https://www.victoria.ac.nz/about/governance/strategy
- Student support: https://www.victoria.ac.nz/students/support
- Students with disabilities: https://www.victoria.ac.nz/st_services/disability/
- Student Charter: https://www.victoria.ac.nz/learning-teaching/learning-partnerships/student-charter
- Terms and Conditions: https://www.victoria.ac.nz/study/apply-enrol/terms-conditions/student-contract
- Turnitin: http://www.cad.vuw.ac.nz/wiki/index.php/Turnitin
- University structure: https://www.victoria.ac.nz/about/governance/structure
- VUWSA: http://www.vuwsa.org.nz
Offering CRN: 28400
Prerequisites: CGRA 251, COMP 261, NWEN 241
Duration: 04 March 2019 - 30 June 2019
Starts: Trimester 1