Skip to main content

Virtual and Augmented Reality

Credits
6
Types
Specialization compulsory (Computer Graphics and Virtual Reality)
Requirements
This subject has not requirements , but it has got previous capacities
Department
CS
This course presents the algorithms and techniques required to develop and deploy virtual reality and augmented reality applications. The course will cover VR and AR hardware, stereoscopic vision, VR software development, 3D user interfaces and presence.

Teachers

Person in charge

Others

Weekly hours

Theory
3
Problems
0
Laboratory
1
Guided learning
0.15
Autonomous learning
7.4

Competences

Computer graphics and virtual reality

  • CEE1.2 - Capability to understand and know how to apply current and future technologies for the evaluation, implementation and operation of virtual and / or increased reality environments, and 3D user interfaces based on devices for natural interaction.
  • Generic

  • CG1 - Capability to apply the scientific method to study and analyse of phenomena and systems in any area of Computer Science, and in the conception, design and implementation of innovative and original solutions.
  • Reasoning

  • CTR6 - Capacity for critical, logical and mathematical reasoning. Capability to solve problems in their area of study. Capacity for abstraction: the capability to create and use models that reflect real situations. Capability to design and implement simple experiments, and analyze and interpret their results. Capacity for analysis, synthesis and evaluation.
  • Objectives

    1. Understand the elements, architecture, input and output devices of virtual and augmented reality systems.
      Related competences: CEE1.2,
    2. Be able to develop and evaluate 3D interactive applications involving stereoscopic output, virtual reality hardware and 3D user interfaces.
      Related competences: CG1, CEE1.2, CTR6,

    Contents

    1. VR systems
      VR as a discipline. Basic features of VR systems. Architecture of VR systems.
    2. VR hardware
      VR input hardware: tracking systems, motion capture systems, data gloves. VR output hardware: visual displays.
    3. Stereoscopic Vision
      Fundamentals of the human visual system. Depth cues. Stereopsis. Retinal disparity and parallax. Synthesis of stereo pairs. Pipeline for stereo images.
    4. Haptic rendering
      Haptic sense. Haptic devices. Algorithms for haptic rendering
    5. VR software development
      Challenges in VR software development. Windowing, viewing, input/output and networking issues. Master/slave and Client/server architectures. Cluster rendering. VR Juggler and XVR. Game Engines and available sdk to develop VR applications for different hardware (HTC VIVE, Oculus, Google VR).
    6. AR software development
      AR software. Camera parameters and camera calibration. Marker-based augmented reality. Pattern recognition. AR Toolkit
    7. 3D user interfaces
      Why 3D user interfaces. Major user tasks in VE. Interaction techniques for selection, manipulation and navigation. 3DUI evaluation.
    8. Presence
      Presence: concept, definition, measurement and applications.

    Activities

    Activity Evaluation act


    VR project

    Development of a programing project using a game engine and google VR software to run it on a smarphone inside a head set.
    Objectives: 2
    Contents:
    Theory
    2h
    Problems
    0h
    Laboratory
    4h
    Guided learning
    4h
    Autonomous learning
    8h

    Project sterescopy

    Development of a project with sterescopy
    Objectives: 1 2
    Contents:
    Theory
    2h
    Problems
    0h
    Laboratory
    4h
    Guided learning
    4h
    Autonomous learning
    8h

    AR Project

    Development of a project for Augmented Reality applications using ARToolkit or Unity
    Objectives: 1
    Contents:
    Theory
    2h
    Problems
    0h
    Laboratory
    4h
    Guided learning
    4h
    Autonomous learning
    8h

    Midterm exam

    Midterm exam
    Objectives: 1
    Contents:
    Theory
    2h
    Problems
    0h
    Laboratory
    0h
    Guided learning
    0h
    Autonomous learning
    19h

    Theory
    2h
    Problems
    0h
    Laboratory
    0h
    Guided learning
    0h
    Autonomous learning
    25h

    Theory
    26h
    Problems
    0h
    Laboratory
    0h
    Guided learning
    8h
    Autonomous learning
    0h

    Student presentation

    Student presentation

    Theory
    4h
    Problems
    0h
    Laboratory
    0h
    Guided learning
    0h
    Autonomous learning
    10h

    Teaching methodology

    The course is based on weekly theory classes explaining the course concepts, techniques and algorithms.

    The students will have to complete weekly assignments. The assigments require the student to read and analyse a few papers about the course topics and to answer questions or solve problems on the subject.

    The students will have to complete a programming project involving the development of a moderate-complexity VR or AR application.

    The course assumes advanced knowledge of the C++ language and OpenGL and GLSL APIs.

    Evaluation methodology

    The course assessment is based on three types of activities:

    - 3 Programming project ( P1, P2, P3)
    - Final exam ( F )
    - Presentation ( Pr )

    Grade = 0.15*P1+ 0.15*P2 + 0.15*P3 + 0.10*Pr + 0.45*F

    Bibliography

    Basic

    Web links

    Previous capacities

    The course assumes advanced C++ and or C# programming skills, as well as computer graphics knowledge (OpenGL and GLSL knowledge required).
    Also convenient to be familiar with Unity.