||Computer Graphics' techniques, especially rendering and Computer Animation are used in many areas, primarily in entertainment (movies, television, video games, etc. ) but also in others such as scientific visualization, medical imaging, mapping, industrial design (realization and both static and dynamic simulation products) to mention just a few. The fact that we see those computer generated images often should not obscure the complex process involved in generating them. In most cases (as in the case of the entertainment industry) there is a graphic designer to create the character, screenwriters to write the script and also computer engineers to model the shape of the character and define the dynamic equations of motion, as well as to generate and visualize these movements. The main objective of the course is to learn and master the necessary skills in order to apply the most advanced technologies in computer graphics and multimedia systems, so that the students, future professionals, will be able to decide the best techniques to be used or implemented in the creation, design and implementation of a graphical or multimedia application. During the course we will describe the structure of multimedia systems that include storage, processing and interaction of different media (graphics, video, sound, images, etc. ) in an interactive and user friendly system. With regard to computer graphics, we will delve into animation themes (physical, collisions, animating behaviour, human movement , etc) and also advanced modeling (schemes of multi-resolution meshing and geometric mesh approach). In programming topics we will teach graphics library OpenGL 3. 3 incorporating shaders using GLSL shading language. To improve understanding of the interactive systems in graphics and multimedia, an interface class will be given (both graphic and natural interfaces will be mentioned); among others we will explain the most innovative devices suchas Kinect and Leap motion. Finally we will discuss the basic concepts and applications of two cutting edge technologies such as Virtual and Augmented Reality. 1 On the practical side we expect the students to develop skills in using graphics library OpenGL 3. 3 (Open Graphics Library) and in shaders in GLSL, using Qt, GLFW or WebGL frameworks to design, implement and validate advanced techniques discussed in the module. Basic knowledge of Computer Graphics (2D and 3D) is recommended, as well as working knowledge on C programming and object oriented C++; in addition, a basic knowledge of OpenGL would be beneficial. KNOWLEDGE: After completing the course the student should be able to: Know and understand the structure and technologies needed in a multimedia system and be able to discriminate which technology may be more useful in order to best achieve the expected end result Know, understand and implement or effectively use advanced techniques in animation, modeling, visualization and graphics animation. Know and understand the different kinds of user interfaces in order to be able to decide which one will be more efficient and ergonomic according to the required specifications of the application to be developed. Know and understand the main kinematic models (such as rigid solids and articulated objects), widely used in computer animation techniques Know and understand the main concepts and operating techniques of Virtual Reality and Augmented Reality, so they can effectively decide and implement the most appropriate algorithms to suit the purpose of the application of Virtual Reality or Augmented Reality that they would like to develop. Know and understand the graphics library OpenGL 3. 1 (Open Graphics Library), used for graphical visualization in Windows, Linux and Mac OS platforms, as well as in workstations (Sun, Silicon Graphics) and GLSL shaders language, which willallow the students to implement shaders, graphic effects or optimization displays in scenes with lots of geometry. SKILLS: The goal is for the students to acquire the following skills: Have a good level of knowledge and practical experience in OpenGL 3. 1 and GLSL shaders in order to be able to implement a graphical application, Virtual Reality and Augmented Reality, be able to define complex mesh models and to use efficient visualization efficiently, implement visual and animation effects in an efficient manner Know how to design a Virtual Reality or Augmented Reality graphic application (such as a video game) based on a set of requested requirements, making decisions about the type of user interface, architecture and hardware required to develop the application.