Crèdits
6
Tipus
Obligatòria d'especialitat (Gràfics i Realitat Virtual)
Requisits
Aquesta assignatura no té requisits
, però té capacitats prèvies
Departament
CS
Professorat
Responsable
- Nuria Pelechano Gomez (npelechano@cs.upc.edu)
Altres
- Carlos Andujar Gran (andujar@cs.upc.edu)
- Marta Fairen Gonzalez (mfairen@cs.upc.edu)
Hores setmanals
Teoria
3
Problemes
0
Laboratori
1
Aprenentatge dirigit
0.15
Aprenentatge autònom
7.4
Competències
Gràfics i realitat virtual
Genèriques
Raonament
Objectius
-
Understand the elements, architecture, input and output devices of virtual and augmented reality systems.
Competències relacionades: CEE1.2, -
Be able to develop and evaluate 3D interactive applications involving stereoscopic output, virtual reality hardware and 3D user interfaces.
Competències relacionades: CEE1.2, CTR6, CG1,
Continguts
-
Sistemes de RV
RV com a disciplina. Elements bàsics d'un sistema de realitat virtual. Arquitectura dels sistemes de realitat virtual. -
VR hardware
VR input hardware: tracking systems, motion capture systems, data gloves. VR output hardware: visual displays. -
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.
Activitats
Activitat Acte avaluatiu
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.Objectius: 2
Continguts:
Teoria
2h
Problemes
0h
Laboratori
4h
Aprenentatge dirigit
4h
Aprenentatge autònom
8h
AR Project
Development of a project for Augmented Reality applications using ARToolkit or Unity.Objectius: 1
Continguts:
Teoria
2h
Problemes
0h
Laboratori
4h
Aprenentatge dirigit
4h
Aprenentatge autònom
8h
Teoria
2h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
19h
Presentació estudiants
Student presentation
Teoria
4h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
10h
Metodologia docent
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.
Mètode d'avaluació
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
Bibliografia
Bàsic
-
3D user interfaces : theory and practice
- LaViola, Joseph J,
Addison-Wesley,
2017.
ISBN: 9780134034324
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991004123579706711&context=L&vid=34CSUC_UPC:VU1&lang=ca
Web links
- Software library for building Augmented Reality applications http://www.hitl.washington.edu/artoolkit/
- Scripting language and IDE for developing Virtual Reality applications. http://www.vrmedia.it/en/xvr.html
Capacitats prèvies
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.