Logo UAB
2022/2023

Interactive Graphic Visualisation

Code: 102753 ECTS Credits: 6
Degree Type Year Semester
2502441 Computer Engineering OB 3 1
2502441 Computer Engineering OT 4 1

Contact

Name:
Enric Marti Godia
Email:
enric.marti@uab.cat

Use of Languages

Principal working language:
catalan (cat)
Some groups entirely in English:
No
Some groups entirely in Catalan:
Yes
Some groups entirely in Spanish:
No

Prerequisites

It is recommended that the student have or review knowledgements and concepts of:

  • Programming in object-oriented programming languages (C ++, etc.)
  • Basic data structures.
  • Basic concepts in 3D geometry (planes, lines, vectors and matrices).

Objectives and Contextualisation

The techniques of Graphics for Computer and Visualization Graphics, especially those of realism (rendering) and animation by Computer (Computer Animation) are present in many fields, essentially 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 both static and dynamic products) and others.

The fact of seeing these computer-generated images usually does not have to remove or minimize the complexity in which they have been designed and generated. In many cases (essentially entertainment) there must be a graphic designer who designs the character, scriptwriters, but also a computer scientist who modifies the shape of the character and defines the dynamic equations of movements as well as generates them.

This subject intends to present the concepts related to the different processes and algorithms that must be used to obtain a realistic image. It is not intended that these algorithms be known to implement them (many of them are already implemented in graphic libraries), but to know the possibilities of each algorithm and the parameters that are used to configure them.

Basic and advanced concepts of computer animation are introduced, both trajectories (rotation and translation) and articulated objects in order to know how to define cinematic models and generate movements of these objects.

In a more appliedway, the student is required to acquire abilities in the OpenGL graphical library (Open Graphics Library) in a Visual C ++ graphical environment with MFC interface or Qt environment

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

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

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

  • Have a degree of knowledge and practice in OpenGL for:
  • Be able to model an object from basic OpenGL primitives.
  • Know how to model different sources of light and clearly define their parametersto visualize the scene that is desired.
  • Assign texture to an object to give it a betterdegree of realism.
  • Define the cinematic model of a moving object based on geometrical transformations (translation, rotation and scaling), be it of a rigid or articulated object. Know how to represent it, render it and move it to OpenGL.

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

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

Competences

    Computer Engineering
  • Acquire personal work habits.
  • Capacity to design, develop, evaluate and ensure the accessibility, ergonomics, usability and security of computer systems, services and applications, as well as of the information that they manage.
  • Have the capacity to develop and evaluate interactive and complex information display systems and apply them to problem solving in the design of person-computer interaction.

Learning Outcomes

  1. Apply basic methods of animation modeling of 3D shapes.
  2. Implement basic algorithms for geometrical transformation and modelling (2D and 3D).
  3. Know about the basic theory and operation of different algorithms for lighting rendered scenes.
  4. Work independently.

Content

PART 1. GRAPHIC SYSTEMS AND DEVICES

1. Introduction (1 hour)

  • Definitions
  • History and aplications
  • Future trends

2. Graphic Harware (1 hour)

  • System, devices and visualization controller
  • Graphic Input Devices
  • Graphic Output Devices
  • Input Interactive Techniques

PART 2. 2D COMPUTER GRAPHICS. TRANFORMS AND MODELLING

3. 3D Transformations (1 hour)

  • Geometrical Transforms
  • BitBlt Transformst
  • Visualization Transforms

4. 2D Modelling 2D (1 hour)

  • Basic Primitives
  • CAD Applications

PART 3. 3D COMPUTER GRAPHICS. TRANSFORMS AND MODELLING

5. 3D Transform (2 hours)

  • Cordinate Systems
  • Geometrical Transforms
  • Visualization Transforms

6. Modelling (4 hours)

  • Basic Concepts
  • Geometrical Models
  • Procedural Models
  • Spatial Models
  • Fractals

BLOC 4. RENDERING

7. Introduction and antaliasing techniques (1 hour)

  • Introduction
  • Aliasing

8. Hidden Lines and Surfaces (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

PART 5. COMPUTER ANIMATION

10. Computer Animation (4 hours)

  • Basic Concepts
  • Computer Assisted Animation
  • Computer Animation
  • ComputerAnimation Techniques

PART 6. SHADER PROGRAMMING

11. Shaders (4 hours)

  • Graphic Pipeline
  • Definitions
  • GLSL Language
  • Practical Examples

Methodology

This subject offers students the opportunity to take it in two itineraries from which they must choose one. The itineraries are TPPE (Theory, Problems, Practices and Exam) and PBL (Project-Based Learning). The activities to be carried out in each itinerary are explained below.

TPPE Itinerary:

The student's learning process will be based on these three types of activities: theory classes, problems and practices.

LEARNING MANAGEMENT SYSTEM (LMS) in this itinerary: Virtual Campus (https://cv.uab.cat  subject Visualització Gràfica Interactiva).

THEORY:

Theoretical classes are taught through magisterial classes with transparencies. These are accessible and students can have them from the first day of the course in the documentary manager Caronte (caronte.uab.cat, asignatura Visualización Gráfica Interactiva, Curs VGI).

In these sessions, the cross-curricular competences will be worked out:

  • Develop the capacity for analysis, synthesis and prospecting.
  • Develop a critical thinking and reasoning mode.

PROBLEMS:

In the problem classes, the OpenGL graphics library will be explained, performing 3D object modeling, visualization and lighting exercises, as well as shaders in GLSL.

In 2 specific days there will be two free deliveries of problems realized in seminar hours that will be scored, with a maximum of 0.5 points (total 1 point), which will be the NPrb1 and NPrb2 notes that will be added to each delivery. The Note of Theory.

The declarations of problems and documentation on OpenGL are available to thedocumentary manager Caronte.

In these sessions, the cross-curricular competences will be worked out:

  • Develop the capacity for analysis, synthesis and prospecting
  • Cooperative work
  • Autonomous work

PRACTICE WORK:

The practices are intended to enable the student to define and develop graphic applications in graphical C ++ environments with the OpenGL graphical library (Open Graphics Library) using theWindows MFC interface or the Qt multiplatform interface. The graphic environment is based on shutter menus, dialogs and keyboard and mouse commands that are added to the application as the practices are performed until they get an application that includes them all. 3D visualization practices and 3D animation will be performed.

The statements of the practices are available in the LMS in PDF format.

This part consists of 3 practices distributed in 6 sessions in closed regime tutored by the teacher:

  • Creating an OpenGL visual environment and Visual Studio 19 - session 1
  • Display volume, scene assembly and textures - session 2
  • Practice dons in the sessions 3, 4, 5 and 6. To choose on from the following:
    • Fractal landscape and lighting
    • Modeling and animation of a leg, a robot or articulated fair attraction
    • Viewing a mobile object for splines
    • Hanoi Towers game

They will be carried out in groups of THREe people and for each student, 30 hours of work will be required to prepare the practice and think the questions that are formulated in the statements, 12 hours in 6 sessions in the classroom of PC's tutored by the teacher and 6 hours of student work in the computer room without a teacher.

Each group of internships must sign up for a 12-hour session to practice tutoring by the teacher. To sign up to the practice groups will be used the manager Caronte.

Online attendance to tutored practices sessions by teacher IS COMPULSORY. Case studies of duly justified practice sessions will be studied.

The student prepares the practical work explained in the practice statement. This preparation must be prior to online attendance at the corresponding practice session. The work is done by attending the practical sessions during the established hours.

The regulations for delivery and evaluation of practices can be found in the normative document available in Caronte (caronte.uab.cat, subject VGI Course 2019-20). The practical work will be evaluated and an individual examination will be carried out in the delivery of each practice.

In these sessions, the cross-curricular competences will be worked out:

  • Develop the capacity for analysis, synthesis and prospecting.
  • Work cooperatively
  • Ability to solve problems
PBL Itinerary:
 
This itinerary offers a teaching methodology called Project-Based Learning (PBL) as an alternative to the classic methodology of the TPPE itinerary. The PBL 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 Caronte.
 
LEARNING MANAGEMENT SYSTEM (LMS) in this itinerary: Caronte (https://caronte.uab.cat  subject Visualització Gràfica Interactiva, course VGI Curs 2022-23).
 
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.

SKILLS:

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.

 

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 resolution of problems 12 0.48 1, 2, 4
Master classes 26 1.04 3
Solving practical exercices 12 0.48 1, 2
Type: Autonomous      
Individual study 36 1.44 3, 4
Resolution of practical exercises individually or in groups 32 1.28 1, 2, 4
Solve problems individually or in groups 20 0.8 1, 2, 4

Assessment

TPPE Itinerary:

The evaluation will be carried out continuously. There will be two individual theoretical and practical exams in writing, with a weight of 50% each on the final grade. The first test (Par1) will be done in the middle of the semester and will evaluate the theoretical concepts and their application in problems with 2D and 3D transformations, 2D and 3D visualization and modeling.

The second test (Par2) will be done at the end of the semester and evaluate the theoretical concepts and skills acquired in computer animation and interactive techniques.

Recovery test: In case the theory note does not reach the approved, students may submit to a review of recovery on the contents of the partial examination suspended.

There are two issues of problem solving sessions evaluated each with 0.5 points to add to the partial exam mark (Par1 or Par2). The first of OpenGL modeling exercises, where the student's abilities are evaluated in the definition of OpenGL drawing commands and geometric transformations to build 3D objects (NPrb1). The second consists of an exercise to obtain kinematic models of articulated objects or an exercise of lighting of 3D scenes, evaluating the ability of the student to obtain movement models, both of objects as well as properties of light sources (NPrb2).

The evaluation of the practices (Pr1, Pr2, Pr3, Pr4) .es notes through two activities:

  • Evaluation of the demo of the application that shows the work done in practice (marks D1, D2, D3), group note.
  • Individual written examination with questions related to the practice (marks E1, E2, E3).

QUALIFICATION INDICATORS:

The final grade of the subject is calculated in the following way (between square brackets the minimum marks to make half):

  • Parcial Mark #1 = (Par1 + NPrb1)    [Par1 >=4,5]
  • Parcial Mark #2 = (Par2 + NPrb2)   [Par2 >= 4,5]
  • Teory Mark = 0'5 * (Partial Mark #1) + 0'5 * (Partial Mark #2)  [Partial Mark #i >=5]
  • Pr_i Mark= Di * 0,5 + Ei * 0,5 ( i=1..4)   [Di >= 5, Ei >= 2]
  • Practice Work Mark = 0,2 * Pr_1 + 0,2 * Pr_2 + 0,5 * Pr_3 + 0,5* Pr_4    [Pr_i >=5, i=1..4]
  • SUBJECT FINAL GRADE = 0,5 * Nota Teory Mark + 0,5 * Practice Work Mark

ASSESSMENT CRITERIA:

  • To count the seminar marks (NPrb1 and NPrb2) In the partial examinations, you must obtain a minimum of 4.5 in the corresponding partial exam mark (Par1 or Par2).
  • In order to consider approved any of the parts (theory and practices) a minimum of 5 must be obtained, that is to say Theory Mark> = 5 and Practice Work Mark > = 5.
  • To calculate the final grade of the subject, the theory and practices work marks must be approved.
  • In all recovery activities (partial exams or internships), practice demos the maximum grade will be 8.
  • NOT EVALUABLE: In the case of not reaching the minimum required in any of the assessment activities, if the calculation of the final grade is equal to or greater than 5, a 4 note will be placed on thefile.
  • NOT PASS: In the event of not reaching the minimum required in any of the evaluation activities, if the calculation of the final grade is equal to or greater than 5, a grade of 4 will be added to the file.
  • REPEATING STUDENTS: No approved part is approved (theory, problems, practices) from one academic year to another.
  • MH: Students with a grade equal to or higher than 9 points will be able to obtain an MH, at the discretion of the teacher. As the number of MH cannot exceed 5% of the enrolled students, they will be awarded to the students with the highest final grades, at the discretion of the teacher.
  • EVALUATION OF PRACTICES: The practices presented in the normal calendar will be evaluated on 10punts. Those presented in recovery periods will be evaluated on 8 points. The practice exams will always be assessed on 10 points. It is established as a minimum mark for the practice exam of 3.
  • IMPORTANT FOR ALL STUDENTS: It is important to enroll in Caronte, because the materials of the subject are published, the deliveries are made and the notes of the subject are published. You must also sign up for a group of internships. At the start of the course you must sign up for Caronte in the Interactive Graphical View course "VGI Curs 2020-21" course. If this is the first time you enter Caronte, you must provide your NIU, password, first and last name and a photo ID in JPG format. Caronte is a manager different from the UAB Virtual Campus, with the need for passwords to be the same.
  • MH: Students with a grade equal to or higher than 9 points will be able to obtain an MH, at the discretion of the teacher. As the number of MH cannot exceed 5% of the enrolled students, they will be awarded to the students with the highest final grades, at the discretion of the teacher.

ASSESSMENT CALENDAR:

  • Partial Exam: Dates at the end of the teaching guide, published in the LMS and provided to students on the first day of class.
  • Recovery Exam: According to the academic calendar ofthe Schoolof Engineering.
  • Deliveries in the seminar sessions: it will not be seen in advance, since being a voluntary activity is intended to encourage attendance at the seminars throughout the semester.
  • Demo and individual test of each practice:
    • Practice #1 and #2: Week 3 of practices.
    • Practice #3: Week 5 of practices.
    • Practice #4: Week 7 of practices.

The delivery of notes will also be done through Caronte. At the beginning of the course, you must sign up in the LMS. If its your first time in Caronte, you must to create an account providing your NIU, password and a photo card in JPGformat. Carontees is a manager different from the UAB Virtual Campus, which means that passwords may not the same.

Notwithstanding other disciplinary measures deemed appropriate, and in accordance with the current academic regulations, irregularities committed by a student that may lead to a variation of the qualification will be classified by zero (0). Assessment activities qualified in this way and by this procedure will not be recoverable. If it is necessary to pass any of these assessment activities to pass the subject, this subject will be suspended directly,without opportunity to recover it in the same course. These irregularities include, among others:

  • The total or partial copy of a practice, report, or any other evaluation activity
  • Let copy
  • Present a group work not done entirely by the members of the group.
  • Present as own materials produced by a third party, although they are translations or adaptations, and generally works with non-original and exclusive elements of the student.
  • Have communication devices (such as mobile phones, smart watches, etc.) accessible during theoretical-practical tests (individual exams).

If you do not pass the subject due to the fact that none of the evaluation activities do not reach the required minimum level of work, the numerical note of the file will be the lowest value between 4 and the weighted average of the notes. With the exceptions that the "non-evaluable" qualification will be awarded to students who do not participate in any of the assessment activities, and that the numerical note of the file will be the lowest value between 3.0 and the weighted average of the notes in case the student has committed irregularities in an evaluation act (and therefore not approved for compensation).

SUMMING UP: Copying, copying, or plagiarizing any of the assessment activities is equivalent to a SUSPENSION with a score of less than 3.5.

The dates of continuous evaluation and delivery of work will be published by Caronte and may be subject to possible changes of programming for reasons of adaptation to possible incidents; Charon will always be informed about these changes as it is understood that the Virtual Campus or equivalent places such as Caronte are the usual mechanism for exchanging information between teacher and student.

PBL Itinerary:

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 of 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 TOOLS 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:
    • 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.
    • PRESENTATION: Oral presentation in 10-14 transparencies on the project developed and results obtained.
    • APPLICATION: Source and executable version (Debug and Release) of the developed application.
    • 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 Mark (10).
  • Co-evaluation and self-evaluation surveys among group members. There will be 3 evaluations via Charon. Co-assessment  Mark (1).
  • Oral presentations are made in front of the students and the groups will rate 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). Co-assessment Groups Mark(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 MARK (10) = (0,6 * Grupal Mark (10) + 0,4 * Individual Mark (10) + Co-assessment Mark (0,5) + Co-assessment Groups Mark(0,5))

Encas de suspendre, el grup pot triar entre millorar el treball per la segona convocatòria seguint les suggeriments del professor o passar-se a l’itinerari TPPE, havent de presentar les pràctiques de l'itinerari.

ASSESSMENT 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 at Caronte in the subject of Interactive Graphic Visualization, course "VGI Curs 2021-22" with the password "VGI2021". If this is your first time entering Caronte, 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.

ASSESSMENT CALENDAR:

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

1ª Call

2ª Call

Continuous Assessment:             Yes [X] No [  ]

[  ] doesn't have

Groupal Assessment

Avaluació individual

[ X ] have

Portfolio delivery.

Graphical application delivery.

Oral presentation.

Periodical controls assessment.

Portfolio assessment.

Graphical application assessment.

Oral presentation assessment.

 

Follow-up of the student during the tutored sessions.

Self-assessment.

 

There is final exam

(official calendar) Yes []  No [ X ]

Not presented:

The portfolio was not delivered or the oral presentation was not made, or an Internship delivery was not made.

 

Not presented:

The portfolio was not delivered or the oral presentation was not made, or an Internship delivery was not made.

 

 

Assessment Activities

Title Weighting Hours ECTS Learning Outcomes
Delivery of problems 0,1 2 0.08 1, 2, 4
First partial exam 0,25 2 0.08 3
Practice delivery 0,5 6 0.24 1, 2, 4
Second partial examn 0,25 2 0.08 3

Bibliography

SUBJECT MATERIALS: In LMS Caronte (https://caronte.uab.cat) or in Virtual Campus (https://cv.uab.cat) according itinerary chosen.

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:

  • J. de Vries, Learn OpenGL (an offline transcript of learnoopengl.com), 2015
  • 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 (data darrer accés: juliol 2020).
  • Learn OpenGL (J. De Vries) http://learnopengl.com (data darrer accés: juliol 2020).
  • Nehe OpenGL Tutorials, http://nehe.gamedev.net, one of the best sites on OpenGL (data darrer accés: juliol 2020).
  • 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,(data darrer accés: juliol 2020).
  • Visualization Toolkit (VTK), https://vtk.org/, is an open-source, freely available software system for 3D computer graphics, image processing and visualization. VTK consists of a C++ class library and several interpreted interface layers including Tcl/Tk, Java, and Python.

  • Computer Graphics (MIT), https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-837-computer-graphics-fall-2012/, curs de Gràfics per Computador del MIT amb transparències que toca molts dels temes de l'assignatura, (data darrer accés: juliol 2020).

  • EUROGRAPHICS, https://www.eg.org/wp/ ,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, (data darrer accés: juliol 2020).

  • ViRVIG: Visualització, Realitat Virtual i Interacció Gràfica (UPC-UdG), https://www.virvig.eu/equipment.php, Grup de R+D en Realitat Virtual més important de Catalunya, (data darrer accés: juliol 2020).

Software

In the practice part we will use the following framework:
  • Visual Studio 2019 Community for C ++ programming and the OpenGL library. Students have access to it through the Azure Dev Tools for Teaching (https://azureforeducation.microsoft.com/devtools).
  • Visual Studio 2022 Community for C ++ programming and the OpenGL library. Students have access to it through the Azure Dev Tools for Teaching (https://azureforeducation.microsoft.com/devtools).
  • Students can work in a Visual-like framework that can be inserted into OpenGL libraries, such as Qt or CLion.
  • Also GLFW, GLM, IMGui libaries and OpenGL shader language GLSL will be used.
 All software to be used is freely accessible.