General information

Subject type: Optional

Coordinator: Adso Fernández Baena

Trimester: Second term

Credits: 6

Teaching staff: 



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.


The subject of Advanced Graphic Programming is part of the development specialty. Although within the degree subjects related to Motor and Gameplay programming have been seen, this subject will talk in more detail about the creation of advanced graphic effects through the programming of current video cards. This subject, despite being related to the programming branch and being related to the subjects of Programming I, Programming II, Mathematical Fundamentals of Video Games and Game Engines is very close to the artistic branch of the degree as 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.

This subject has methodological and digital resources to make possible its continuity in non-contact mode in the case of being necessary for reasons related to the Covid-19. In this way, the achievement of the same knowledge and skills that are specified in this teaching plan will be ensured.

Learning outcomes

At the end of the course students must be able to:

E6.6. Develop 2D and 3D video games (or parts thereof) in high-level languages ​​on platforms and engines designed for this purpose.

Working methodology

The subject uses the following work methodologies:

Master class, Case study, Research and critical reading of articles and Problem solving.


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. Light scattering
  3. SSR
  4. Color correction
  5. Noise
  6. vignetting
  7. Fog
  8. Screen Space Ambient Occlusion (ODS)

Learning activities

With the aim of collecting evidence of the achievement of the expected learning outcomes, the following activities of an evaluative nature will be carried out (related to all the common competences):

A1. Laboratory practice: Custom shader with Unity (Evidence of all learning outcomes)

A2. Partial examination (Evidence of all learning outcomes)

A3. Laboratory practice: Custom shader with Unity using Shader Graph (Evidence of all learning outcomes)

A4. Final exam (Evidence of all learning outcomes)


General criteria of the activities:

  • The teacher will present a statement for each activity and the evaluation and / or rubric criteria.
  • The teacher will inform of the dates and format of the delivery of the activity.

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


  • You must obtain a grade higher than 4 to the two exams to pass the subject.
  • It is the responsibility of the student to prevent plagiarism in all its forms. In the case of detecting a plagiarism, regardless of its scope, in some activity it will correspond to have a note of 0. In addition, the professor will communicate to the Head of Studies the situation so that measures applicable in matter of sanctioning regime are taken. .


  • You must obtain a grade higher than 5 in the resit exam to pass the course.
  • In case of passing the recovery, the maximum final mark of the subject will be 5



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).