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
Understand the elements, architecture, input and output devices of virtual and augmented reality systems.
Related competences:
CEE1.2,
Be able to develop and evaluate 3D interactive applications involving stereoscopic output, virtual reality hardware and 3D user interfaces.
Related competences:
CEE1.2,
CTR6,
CG1,
Contents
VR systems
VR as a discipline. Basic features of VR systems. Architecture of VR systems.
Stereoscopic Vision
Fundamentals of the human visual system. Depth cues. Stereopsis. Retinal disparity and parallax. Synthesis of stereo pairs. Pipeline for stereo images.
Haptic rendering
Haptic sense. Haptic devices. Algorithms for haptic rendering
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).
AR software development
AR software. Camera parameters and camera calibration. Marker-based augmented reality. Pattern recognition. AR Toolkit
3D user interfaces
Why 3D user interfaces. Major user tasks in VE. Interaction techniques for selection, manipulation and navigation. 3DUI evaluation.
Presence
Presence: concept, definition, measurement and applications.
Activities
ActivityEvaluation 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:
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 )
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.