Contents

Course Details

Course Code COMP3421 / COMP9415
Course Title Computer Graphics
Convenor Ali Darejeh
Admin Ali Darejeh
Classes
  • Monday 6-8pm (Rex Vowels Theatre (K-F17-LG3))
  • Thursday 6-8pm (Physics Theatre (K-K14-19))
Consultations Friday 6pm online
Units of Credit 6
Course Website https://moodle.telt.unsw.edu.au/course/view.php?id=79462
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, static meshes, 2D Transforms, 3D Transforms, surface, texture maps, materials, cameras, object physical behaviors, collision detection, hierarchical modeling of objects, shaders, 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

The computer graphics course employs a variety of teaching strategies and rationales to ensure effective learning outcomes. One key approach is teaching different concepts through practical projects, which forms the foundation of the course. This enables students to learn theoretical knowledge in a practical way, allowing them to apply their computer graphics skills in designing real-world projects. Furthermore, students are actively encouraged to work on their proposed projects and seek consultation from their tutors. This approach fosters the development of problem-solving abilities and nurtures creativity. Tutorials play a vital role in providing support and guidance through interactive sessions, which are designed to enhance students' skills. Additionally, weekly meetings with mentors ensure that students receive personalized feedback and guidance, thereby ensuring that their progress aligns with the objectives of the course. By incorporating these effective teaching strategies, the course aligns seamlessly with the project-based assessment structure. Moreover, this instructional approach is underpinned by research studies that provide compelling evidence of the positive impact of practical projects on learning outcomes in computer science education.

Lectures

  • Teaching using practical projects
  • Lecture activities to practice lecture content
  • Lectures will be in-person:
    • Monday 6-8pm (Rex Vowels Theatre (K-F17-LG3))
    • Thursday 6-8pm (Physics Theatre (K-K14-19))
  • 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 Project presentation (Phase 1: 2D or 3D system) 10%
10
Project presentation (Phase 2: Mini system or 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
Creating Visual Effects (The Niagara VFX System)
-
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:

  • Romero, M., Sewell, B., & Cataldi, L. (2022). Blueprints Visual Scripting for Unreal Engine 5: Unleash the true power of Blueprints to create impressive games and applications in UE5. Packt Publishing Ltd.<o:p></o:p>
  • Hardman, C. (2020) Game Programming with Unity and C# : A Complete Beginner's Guide. Berkeley, CA : Apress : Imprint: Apress.

Course Evaluation and Development

Shift in Course Focus:

  • In response to feedback from previous offerings of this course, we've shifted the syllabus away from OpenGL and GLSL.
  • The new focus is on game engines that are relevant in the industry, such as Unreal Engine 5.1.
  • This change is designed to better prepare you for real-world projects and future career opportunities.

Lecture Material Update:

  • All lecture slides for this term have been updated.
  • These updates reflect the latest advancements and are specifically based on Unreal Engine 5.1 to keep you up-to-date.

Options for Phase Two of the Project:

Primary Option: Convert Phase One Project to VR:

  • This option is for students who have access to a Virtual Reality (VR) headset.

Alternative Option:

  • Recognizing that not all students have access to a VR headset, and acknowledging that the lab's VR headsets might not be sufficient for everyone, we are offering an alternative.
  • This alternative could be a mini-game or subsystem and is designed to be equally challenging and educational without requiring VR equipment.

Resource created Tuesday 20 June 2023, 04:25:51 AM, last modified Saturday 02 September 2023, 05:06:25 AM.


Back to top

COMP3421 23T2 (Computer Graphics ) is powered by WebCMS3
CRICOS Provider No. 00098G