Logo UAB
2023/2024

Graphic and Augmented-Reality Environments

Code: 104372 ECTS Credits: 6
Degree Type Year Semester
2503758 Data Engineering OT 4 1

Contact

Name:
Felipe Lumbreras Ruiz
Email:
felipe.lumbreras@uab.cat

Teaching groups languages

You can check it through this link. To consult the language you will need to enter the CODE of the subject. Please note that this information is provisional until 30 November 2023.


Prerequisites

It is recommended that students have the knowledge and skills to:

· Programming in object-oriented programming languages (C ++, etc.)
· Basic data structures.
· 3D geometry.


Objectives and Contextualisation

The techniques of Computer Graphics and Graphic Visualization, especially those of realism (rendering) and animation by Computer (Computer Animation) are present in many fields, fundamentally in the entertainment (cinema, television, videojuegos, etc.) but also in others such as scientific visualization, visualization of medical images, cartography, industrial design (realization and simulation of both static and dynamic products) and others. Regularly viewing these computer-generated images should not detract from or minimize the complexity with which they have been designed and generated. In many cases (mainly entertainment) there must be a graphic designer who designs the character, some screenwriters, but also a computer scientist who models the shape of the character and defines the dynamic equations of the movements as well as generating them properly. This course aims to introduce the different processes and algorithms that must be used to obtain a realistic image. These algorithms are not intended to be known for you to implement (many of them are already implemented in graphical libraries), but to know the possibilities of each algorithm and the parameters used to configure them. Important concepts of computer animation of both trajectories (rotation and translation) and of articulated objects are also introduced in order to know how to define kinematics models and generate movements of these objects. More specifically, the student is expected to acquire skills in the OpenGL (Open Graphics Library) graphics library within a Visual C ++ graphical environment with MFC interface or Qt environment.

KNOWLEDGE: At the end of the course the student must be able to:

· Understand and know how to apply the main techniques to generate and visualize three-dimensional scenes on a computer.
· Understand volumetric models and fractal models to represent three-dimensional objects, widely used for the generation of realistic images.
· Understand both the basic concepts and the main algorithms of realism (rendering): algorithms for removing hidden faces, models and types of lighting of a scene, shading and transparency models as well as models to represent and visualize textures. The textures significantly increase the realism of the scene.
· Understand and know how to apply the main kinematic models (those of rigid solids and those of articulated objects), widely used in computer animation techniques.
· Understand and know how to apply the OpenGL (Open Graphics Library) graphics library, which is used in graphical visualization on both Windows and Linux and Mac OS platforms.
· Understand and know how to apply the programming of shaders (GLSL, HLSL languages) to make the most of the processing capacity of the GPUs (Graphic Processing Unit) of current graphics cards.

SKILLS: It is intended that students acquire the following skills:

· Have a degree of knowledge and practice in OpenGL for:
o Be able to model an object from basic OpenGL primitives.
o Know how to model different light sources and clearly define their parameters to visualize the desired scene.
o Assign textures to an object to give it a better degree of realism.
· Define the kinematic model of a moving object based on geometric transformations (translation, rotation and scaling), be it a rigid or articulated object. Know how to represent, render and move it in OpenGL.

COMPETENCES: It is intended that students acquire the following skills:

· Teamwork.
· Self-employment
· Capacity for analysis, synthesis and foresight.
· Critical reasoning.
· Ability to solve problems.


Competences

  • Prevent and solve problems, adapt to unforeseen situations and take decisions.
  • Students must be capable of collecting and interpreting relevant data (usually within their area of study) in order to make statements that reflect social, scientific or ethical relevant issues.
  • Students must develop the necessary learning skills to undertake further training with a high degree of autonomy.
  • Work cooperatively in complex and uncertain environments and with limited resources in a multidisciplinary context, assuming and respecting the role of the different members of the group.

Learning Outcomes

  1. Prevent and solve problems, adapt to unforeseen situations and take decisions.
  2. Students must be capable of collecting and interpreting relevant data (usually within their area of study) in order to make statements that reflect social, scientific or ethical relevant issues.
  3. Students must develop the necessary learning skills to undertake further training with a high degree of autonomy.
  4. Work cooperatively in complex and uncertain environments and with limited resources in a multidisciplinary context, assuming and respecting the role of the different members of the group.

Content

BLOCK 1. GRAPHIC SYSTEMS AND DEVICES

1. Introduction to Computer Graphics (1 hour)
· Definitions
· History and applications
· Future trends

2. graphic hardware (1 hour)
· Display system and display controller
· Graphic output devices
· Graphic input devices
· Interactive input techniques

BLOCK 2. 2D GRAPHICS. Transformations and modeling

3. 2D transformations (1 hour)
· Geometric transformations
· BitBlt transformations
· Visualization transformations

4. 2D modeling (1 hour)
· Graphic Primitives
· CAD application

BLOCK 3. 3D GRAPHICS. TRANSFORMATIONS AND MODELING

5. 3D Transformations (2 hours)
· Coordinate systems
· Geometric transformations
· Visualization transformations

6. 3D modeling (4 hours)
· Basic concepts
· Geometric models
· Procedural models
· Spatial models
· Fractals

BLOCK 4. REALISM

7. Introduction and antialiasing techniques (1 hour)
· Introduction
· Aliasing

8. Concealments (1 hour)
· Basic concepts
· Object space algorithms
· Image space algorithms

9. Lighting (6 hours)
· Basic concepts
· Lighting models
· Local lighting algorithms
· Textures
· Transparencies
· Shadows
· Global lighting algorithms

BLOCK 5. COMPUTER ANIMATION

10. Computer Animation (4 hours)
· Basic concepts
· Computer assisted animation
· Computer animation
· Computer animation techniques
· Morphing

BLOCK 6. COMPLEMENTARY TOPICS

· Gray and color levels
· Curves and surfaces
· Morphing
· Virtual Reality and Augmented Reality Systems


Methodology

ABP itineraries:

This itinerary offers a teaching methodology called Project-Based Learning (PBL) as an alternative to the classic methodology of the TPPE itinerary. The ABP methodology aims to enhance and motivate students in learning. The rules of operation and evaluation of students who follow this itinerary are detailed in the document of OPERATION, accessible in Charon.

THEORY:

The teacher will monitor and tutor the weekly work of the groups in the two-hour theory sessions. Students will submit a minutes of the meeting with the discussion and agreements made in the session.

SEMINARS:

In the seminar classes, there will be an alternation between master class and problem-solving or puzzle-type dynamics to support the realization of the project.

COMPETENCES:

It is intended that students acquire (in addition to those specified in section 5) the following skills:
· Develop autonomous learning strategies.
· Ability to organize and plan.
· Ability to solve problems.

However, due to the fact that this subject is in its early years, there may be discrepancies between what is presented in this guide and what is discussed in the introduction to the subject on the first day of class. What is explained on the first day will be the methodology chosen for that course.

 

Annotation: Within the schedule set by the centre or degree programme, 15 minutes of one class will be reserved for students to evaluate their lecturers and their courses or modules through questionnaires.


Activities

Title Hours ECTS Learning Outcomes
Type: Directed      
Explanation and problem solving 12 0.48 1, 3, 2, 4
Master class 26 1.04 1, 3, 2, 4
Resolution of practical exercises 12 0.48 1, 3, 2, 4
Type: Autonomous      
Individual study 36 1.44 1, 3, 2, 4
Problem solving individually or in groups 20 0.8 1, 3, 2, 4
Solve practical exercises individually or in groups 32 1.28 1, 3, 2, 4

Assessment

Note: This course only has continuous assessment, there is no unique assessment option.

 

ABP itineraries:

The evaluation will also be done continuously. The acts that the group will write after each tutored session will be evaluated, in which they will describe their discussions and agreements, the two written controls during the semester and the self-evaluation surveys that each student will do of his classmates and himself. . In the last week of the school year, students will give an oral presentation of the project and give a report on the work done. Both will be evaluated by three professors in the department. Students on this itinerary will not take any written exams.

The following INSTRUMENTS and ACTIVITIES will be used to evaluate the ABP itinerary:
· An evaluation made by the teachers from the presentation of the project carried out by the group (quality of the work, presentation, report delivered). Group Note (10). From:
   o STUDENT PORTFOLIO: Document explaining the development of the work done: project approach, meeting minutes, information sought, explanation of the application implemented with a small user manual and tests and tests performed.
   o PRESENTATION: Oral presentation in 10-14 transparencies on the project developed and results obtained.
   o APPLICATION: Source and executable version (Debug and Release) of the developed application.
   o ACTS and CONTROLS: Presentation of the documentation submitted.
· An individual evaluation based on the observations made by the tutors in the tutored sessions, where the attitude, initiative, participation, attendance and punctuality of the student in the group sessions will be taken into account. Individual Note (10).
· Co-evaluation and self-evaluation surveys among group members. There will be 3 evaluations via Charon. Note Co-evaluation Companies (1).
· Oral presentations are made in front of the students and the groups will evaluate the work of their classmates as a ranking from 1 (the one they liked the most) to the 5 (the one they liked the least). Note Co-evaluation Groups (0.5).

QUALIFICATION INDICATORS:

The final grade of the subject is calculated in a weighted and global way taking into account the previous activities and the degree of involvement of each member of the group.

SUBJECT FINAL GRADE (10) = (0'6 * Group Grade (10) + 0'4 * Individual Grade (10) + Grade Co-assessment Companions (0.5) + Grade Co-assessment Groups (0.5) )

In case of suspension, the group can choose between improving the work for the second call following the suggestions of the teacher or moving on to the TPPE itinerary, having to present the internship of the itinerary.

EVALUATION CRITERIA:

To be considered passed, a minimum of 5 must be obtained in the final grade.

IMPORTANT FOR ALL STUDENTS:

It is important to register in Charon, as the materials of the subject are published, the deliveries are made and the notes of the subject are published. You also need to sign up for an ABP group. At the beginning of the course you must register in Charon in the subject of Interactive Graphic Visualization, course "VGI Course 2019-20" with the password "VGI2019". If this is your first time entering Charon, you must provide your NIU, password, number and surname and a photo ID in JPG format. Caronte is a different manager at the UAB Virtual Campus, so the passwords need to be the same.

EVALUATION CALENDAR:

· Monitoring of groups and controls: during the course.
· Delivery of the portfolio, oral presentation and application by the students: The last week of class.


Assessment Activities

Title Weighting Hours ECTS Learning Outcomes
First partial exam 25 2 0.08 1, 3, 2
Labs delivery 50 6 0.24 1, 3, 2, 4
Problem delivery 1 2 0.08 1, 3, 2
Second partial exam 25 2 0.08 1, 3, 2

Bibliography

MATERIAL OF THE COURSE: http://caronte.uab.cat, course Visualització Gràfica Interactiva, curs ‘VGI Curs 2019-20’.

BASIC BIBLIOGRAPHY:
· J.F. Hughes, A. van Dam, M. McGuire, D.F.Sklar, F.D. Foley, S.K. Feiner, K. Akeley, Computer Graphics. Principles and Practice, third edition in C, Addison-Wesley, 2014.
· D. Hearn, P. Baker, Computer Graphics with OpenGL, 4th edition, Pearson, 2014.

COMPLEMENTARY BIBLIOGRAPHY:
· D. Shreiner, G. Sellers, J. Kessenich, B. Licea-Kane, OpenGL Programming Guide, 8th Edition, 2013, Addison-Wesley, (red book).
· M. Bailey, S. Cunningham, Graphic Shaders. Theory and Practice, 2nd Edition, CRC Press, 2012.
· G. Sellers, R.S. Wright Jr., N. Haemel, OpenGL Superbible - Comprehensive Tutorial and Reference, 7th eds, Addison-Wesley, 2016 (blue book).
· Edward Angel and David Shreiner "Interactive Computer Graphics - A top-down approach using OpenGL", 6th ed, Pearson Education, 2012. Good undergraduate text book on Computer Graphics.
· JungHyun Han, 3D Graphics for Game Programming", CRCPress, 2011. Good and simple explanation for the Graphics Renderer Pipeline and the various transforms, with many nice diagrams.
· E. Lengyel, Mathematic for 3D game programming & Computer Graphics, 3rd edition, Course Technology, 2011.

WEB LINKS:
· OpenGL mother site @ www.opengl.org.
· Nehe OpenGL Tutorials @ http://nehe.gamedev.net. One of the best sites on OpenGL.
· Nate Robin's OpenGL Tutor @ http://www.xmission.com/~nate/opengl.html. One of the best sites on OpenGL. Provides a few animated programs to illustrate OpenGL functions, such as gluLookAt. Nate Robin also provide the original GLUT library.
· The Visualization Toolkit (VTK) is an open-source, freely available software system for 3D computer graphics, image processing and visualization.VTK consists of a C++ class library andseveral interpreted interface layers including Tcl/Tk, Java, and Python.
· Computer Graphics (MIT). Curs de Gràfics per Computador del MIT amb transparències que toca molts dels temes de l'assignatura.
· EUROGRAPHICS. Associació europea de Gràfics per Computador, que agrupa els principals centres de recerca europeus en Computer Graphics i organitza el congrés anual d’Eurographics.
· ViRVIG: Visualització, Realitat Virtual i Interacció Gràfica (UPC-UdG). Grup de R+D en Realitat Virtual.


Software

OpenGL