General information


Subject type: Optional

Coordinator: Juan José Pons López

Trimester: Second term

Credits: 6

Teaching staff: 

Jordi Arnal Montoya

Teaching languages


  • Catalan
  • Spanish
  • English

The materials can be provided in Catalan as well as in Spanish or English.

Skills


Specific skills
  • E6. Develop video games in high-level programming languages ​​in graphics engines based on specifications.

General competencies
  • G1. Demonstrate having and understanding advanced knowledge of their area of ​​study that includes the theoretical, practical and methodological aspects, with a level of depth that reaches the forefront of knowledge.

  • G2. Solve complex problems in their field of work, by applying their knowledge, developing arguments and procedures, and using creative and innovative ideas.

  • G5. Develop the learning skills needed to undertake further studies with a high degree of autonomy.

Transversal competences
  • T2. Work as a member of an interdisciplinary team either as an additional member or performing management tasks in order to contribute to developing projects with pragmatism and a sense of responsibility, making commitments and taking into account available resources.

Description


The Advanced Graphic Programming subject is part of the development specialty. While the degree has seen subjects related to Engine and Gameplay programming, this subject will discuss in more detail the creation of advanced graphics effects by programming today's video cards. This subject, despite being related to the branch of programming and related to the subjects of Programming I, Programming II, Mathematical foundations of video games and Game engines, is very close to the artistic branch of the degree since the results sought are the visual improvement of the product through graphic programming. The subject is presented as an eminently practical subject where students implement and experiment with shaders.

Contents


Topic 1: Render pipeline

  1. Fixed pipeline
  2. Shaders
  3. Vertex Shader / Pixel Shader

 

Topic 2: Lighting

  1. Fixed pipeline
  2. Forward rendering / Deferred rendering
  3. Lambert
  4. Phong
  5. PBR
  6. Shadows

 

Topic 3: PostProcessing

  1. Depth of field
  2. Volumetric lighting
  3. SSR
  4. color correction
  5. Noise
  6. vignetting
  7. Fog
  8. Screen Space Ambient Occlusion (SSAO)

Evaluation system


The grade of each student will be calculated following the following percentages:

A1. Laboratory practice: Custom shader with Unity 25%

A2. Partial examination 25%

A3. Laboratory practice: Custom shader with Unity using Shader Graph 25%

A4. Final exam 25%

Final grade = A1 0.25 + A2 0.25 + A3 0.25 + A4 0.25

Considerations:

  • You must obtain a grade higher than 4 in both exams to pass the subject.
  • It is the student's responsibility to avoid plagiarism in all its forms. In the case of detecting plagiarism, regardless of its extent, in some activity it will correspond to having a grade of 0. In addition, the professor will communicate the situation to the Department Management so that applicable measures can be taken in terms of disciplinary regime.

Recovery:

  • You must get a grade above 5 in the make-up exam to pass the subject.
  • In case of passing the recovery, the maximum final mark of the subject will be 5

REFERENCES


Basic

Engel, Wolfgang. ShaderX4: Advanced Rendering Techniques (2006).

Engel, Wolfgang. GPU PRO 3: Advanced Rendering Techniques (2012).

Fernando, Randima. GPU Gems: Programming Techniques, Tips and Tricks for Real-Time Graphics (2004).