Virtual and Augmented Reality

You are here

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

  • Nuria Pelechano Gomez ( )

Others

  • Carlos Andujar Gran ( )
  • Marta Fairen Gonzalez ( )

Weekly hours

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

Competences

Technical Competences of each Specialization

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 Technical Competences

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.

Transversal Competences

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.