Contents

Course Details

Course Code COMP3421 / COMP9415
Course Title Computer Graphics
Convenor Ali Darejeh
Admin Simon Haddad
Classes See the course timetable
Consultations Friday 6pm online
Units of Credit 6
Course Website https://moodle.telt.unsw.edu.au/course/view.php?id=70158
Student Reps stureps@cse.unsw.edu.au
Email the stureps if you have any issues with the course.
They will pass these anonymously to the relevant people to get the issues resolved.

Course Summary

In this course you will learn the fundamentals and practical side of Computer Graphics by doing some projects in game engines.

You will learn:

• How to develop 2D, 3D and Virtual Reality-based graphical objects and environments with the use of game engines (Unreal Engine and Unity).

• Computer graphics concepts including lighting, reflection, shader, static meshes, projectiles, 2D Transforms, 3D Transforms, surface, texture maps, materials, cameras, object physical behaviours, collision detection, hierarchical modelling of objects and rendering.

This course will:

• Prepare you to work in industry as a computer graphics expert in the areas of graphical interactive environments and game development.

• Teach you the practical aspects of computer graphics and the necessary theoretical background that will enable you to work in industry.

Assumed Knowledge

Students are expected to:

• Know the fundamentals of programming (COMP2511 or COMP9024 or equivalent)

No prior game engine experience is required.

Student Learning Outcomes

After completing this course, students should be able to:

  • Work with game engines in order to design 2D, 3D and virtual reality-based graphical environments and objects including lines, curves, surfaces, geometrical shapes, etc.
  • Work with the computer graphics elements, such as lighting, shadow, surface, texture map, physical behaviour of objects and camera.
  • Render scenes on a range of platforms and hardware devices.

This course contributes to the development of the following graduate capabilities:

· Getting a practical knowledge to conduct a master’s or a PhD research project in the area of computer graphics.

· Getting different job opportunities in industry as a graphic developer, game developer, and virtual reality application developer.

Teaching Strategies

Lectures

  • Teaching using practical projects
  • Lecture activities to practice lecture content
  • Lectures will be held through Blackboard collaborate on Moodle
    • Monday 6-8pm
    • Thursday 6-8pm
  • Recordings will be made available

Tutorials

  • Weekly meeting with mentor
  • Project progress updates
  • Working on your proposed project and getting consultation from your tutor
  • Attendance to labs is compulsory (you should attend at least 80% of the labs)

Assessment

  • This is a project-based course split into different milestones. Students work in teams of ideally five (5) members.
  • You will:
    • Understand, define, implement and evaluate a choice of either a 2D or 3D interactive environment in accordance with a project specification.
    • Convert your interactive environment into a virtual reality-based environment.
    • Project teams meet weekly starting from Week 1 with project mentors (tutors) to report on the progress of the project and gain valuable feedback

Technology

  • Unreal Engine
  • Unity
  • VR Headsets (such as HTC Vive or Meta / Oculus Quest)
  • Students online or who wish to develop locally must have a VR headset (at least one memeber in the team) and a computer capable of running VR games. These will not be provided for by the course.

Teaching Rationale

In addition to the assessment structure of the course, which is project-based, the teaching content of this course will be taught using practical projects as well. Our research studies at UNSW have shown that teaching Computer Science-related concepts using practical projects, in addition to theoretical explanations, can increase learning performance and yield a better learning outcome in tertiary education.

Student Conduct

The Student Code of Conduct ( Information , Policy ) sets out what the University expects from students as members of the UNSW community. As well as the learning, teaching and research environment, the University aims to provide an environment that enables students to achieve their full potential and to provide an experience consistent with the University's values and guiding principles. A condition of enrolment is that students inform themselves of the University's rules and policies affecting them, and conduct themselves accordingly.

In particular, students have the responsibility to observe standards of equity and respect in dealing with every member of the University community. This applies to all activities on UNSW premises and all external activities related to study and research. This includes behaviour in person as well as behaviour on social media, for example Facebook groups set up for the purpose of discussing UNSW courses or course work. Behaviour that is considered in breach of the Student Code Policy as discriminatory, sexually inappropriate, bullying, harassing, invading another's privacy or causing any person to fear for their personal safety is serious misconduct and can lead to severe penalties, including suspension or exclusion from UNSW.

If you have any concerns, you may raise them with your lecturer, or approach the School Ethics Officer , Grievance Officer , or one of the student representatives.

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 on-line 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. In particular, you are also responsible that your assignment files are not accessible by anyone but you by setting the correct permissions in your CSE directory and code repository, if using. Note also that plagiarism includes paying or asking another person to do a piece of work for you and then submitting it as your own work.

UNSW has an ongoing commitment to fostering a culture of learning informed by academic integrity. All UNSW staff and students have a responsibility to adhere to this principle of academic integrity. Plagiarism undermines academic integrity and is not tolerated at UNSW. Plagiarism at UNSW is defined as using the words or ideas of others and passing them off as your own.

If you haven't done so yet, please take the time to read the full text of

The pages below describe the policies and procedures in more detail:

You should also read the following page which describes your rights and responsibilities in the CSE context:

Assessment

Week Deliverable Mark
4
Written Proposal 10%
8 Presentation (2D or 3D system) 10%
10
Presentation (VR system) 10%
11 Project Report 10%
11 Project Final Implementation 60%

Course Schedule

Week Lectures Project Checkpoint
1 Introduction to computer graphics
Player pawn and transform tools in 3D
Introduction to Blueprints coding
-
2 Mapping controllers to move objects in 3D
Introduction to material concept
Introduction to geometry brushes in 3D
Introduction to static meshes
-
3 Introduction to collision detection and physics in 3D
Introduction to the trigger box 3D
Introduction to rendering
Advanced concepts in geometry brushes in 3D
Introduction to lights and shadows
Introduction to blueprint classes
-
4 Player pawn class and camera
Mapping controllers to rotate objects in 3D
Advanced concepts of camera
Advanced material design
Advanced collision detection and physics in 3D
Animating objects
Blueprint functions
Blueprint macros
Submitting project proposal
5 Creating projectile in 3D
Importing prebuilt graphical elements (FBX files)
Applying damage to the player pawn
Creating conditional trigger box
Introduction to landscape brushes
Texture layers
Advanced concepts in landscape brushes
-
6 Term Break (Flex Week) -
7 Introduction to virtual reality
Rendering VR scenes
Mapping virtual reality controllers
Creating VR player pawn
Developing VR hand
-
8 Grabbing and moving objects in VR
Movement in VR
Snap turn in VR
Teleportation Movement in VR
Presentation (2D or 3D system)
9 2D Objects and transform
Player pawn 2D
Introduction to C# programming
Mapping controllers in 2D
Prefab objects and projectiles in 2D
-
10 Physics and collision detection 2D
Introduction to trigger box 2D
Applying damaging and destroying objects 2D
Spawn manager
Adding user interface elements
Animating objects in 2D
Rendering 2D sprites
Presentation (VR system)
11 - Project report
Project implementation

Resources for Students

Texts and recommended readings:

  • Hardman, C. (2020) Game Programming with Unity and C# : A Complete Beginner's Guide. Berkeley, CA : Apress : Imprint: Apress.
  • Maestri, G. (2019). Unreal Engine: Lunchtime Lessons. CA linkedin.com
  • Pagano., S. (2017). VR Motion Graphics with Unreal Engine. Carpenteria, CA linkedin.com

Course Evaluation and Development

This course is evaluated each session using the myExperience system.

In the previous offering of this courses, students asked for updated content that can be used in the real-world projects.

Based on their comments, we have changed the course syllabus from OpenGL and GLSL to game engines that are used in industry. This decision was made to prepare students for their future careers.

Resource created Tuesday 16 August 2022, 05:48:56 AM, last modified Tuesday 20 June 2023, 04:40:00 AM.


Back to top

COMP3421/COMP9415 22T3 (Computer Graphics) is powered by WebCMS3
CRICOS Provider No. 00098G