Lab Course - Web-based Virtual Reality Lab
Lehrveranstaltungsnummer:12.00007Room: bitstars Offices, Hanbrucher Str. 40, 52064 Aachen
Begin: TBA
Lecturer: Prof. Dr. Bernhard Rumpe
Supervising Assistants:
- Simon Heinen
- Marx Bievor
- Florian Klingner
- Jens Böttcher
The Lab will be done in collaboration with HoloBuilder, Inc., which is a start-up and spin-off of the computer science department at RWTH Aachen. This allows students to gain insights into the professional start-up and software engineering worlds by working on industry-relevant projects that will be integrated into real-world software products.
Topic/Description
In this lab the content and educational objectives of the module handbook will be worked out using an exemplary software project in the area of Virtual Reality (VR) with focus on browser-based rendering and related technologies.
Similar to existing products like HoloBuilder (https://www.holobuilder.com/app/index.html), software components in the fields of 3D rendering and virtual reality will be developed, which run completely standalone in the browser without the requirement of plug-ins. Three.js and similar existing libraries will be our foundation for working with completely browser-based 3D. Hence, the primary requirements for you will be to bring some initial experience in JavaScript as well as an interest in 3D technologies and the future of virtual reality.
Virtual reality and products like HoloBuilder do not only have exciting use cases in the gaming and movie industries, but are already successfully used in areas like construction, real estate, tourism, marketing and many more. For instance, creating virtual tours of construction sites makes it easy for project managers to inspect these at any time, leaving remarks and tasks for workers directly in the virtual rooms, which saves them huge amounts of time and money. Thus, making the authoring process (the creation of VR content) for everyday users as simple as possible is the primary aim of HoloBuilder. Enabling the user to embed and combine 360° imagery and 3D models right in their browser are the first steps to making this possible. As a participant in the Virtual Reality Lab, you can be a part of this exciting development.
Related Links
- https://app.holobuilder.com - You can try the VR editor yourself to get an idea how it works
- https://youtu.be/M_9ipylE_iY - The web-editor running in the browser using WebVR on a Acer Windows Mixed Reality Headset
- https://youtu.be/Uvsi9hBA7ZE - HoloBuilder for Htc Vive (Annotation mode in 360 Scenes)
- https://youtu.be/CC9scV9S57g - Measurements in 360 images
Registration and Initial briefing
For your registration, please provide information about your qualification, current experience and study situation (known programming languages, projects related to JavaScript & Web development, ..). If you have special interest in the topic of this lab you can send us an email or fill out the related field in the registration process. You will be informed about the first meeting in the weeks after the registration closes.Technologies you will work with:
- Solid knowledge of JavaScript (& HTML+CSS), the model-view-controller pattern as well as the basic principles of web development are required.
- Based on WebGL and Javascript, you will work with the Three.js (http://threejs.org/) and Backbone.js (http://backbonejs.org/) libraries to develop components of a 3D web application.
- Emscripten (http://kripken.github.io/emscripten-site/) and asm.js (http://asmjs.org/) will become relevant depending on the components you are working on.
- The coding standards used in the lab will include ES2015 (https://en.wikipedia.org/wiki/ECMAScript#6th_Edition_-_ECMAScript_2015).
- Having attended the lectures Software Engineering, Web Technologies and/or Computer Graphics is a plus.
- Knowledge of BIM and/or CAD technology is a plus.
- While most of this can be learned hands-on, please make yourself familiar with the above mentioned technologies at an early stage in order to be optimally prepared for the lab.
Contents and learning targets from the handbook of modules (B.Sc.)
- Colloquial phrases of the requirements
- Profound knowledge in a programming language
- Design of a software architecture
- Implementation according to the coding guidelines
- Generation and implementation of software tests
- Review of the results by inspections
- systematic and structured documentation of the code as well as the previous requirements e.g. architecture
- Working with a modern development environment and frameworks
- Presentation of the developed results
- Group dynamic effects by collaborative working
Contents and learning targets from the handbook of modules (M.Sc.)
During the internship, the students should apply specialist knowledge and methods in regard of the conception, implementation and tests of software and hardware systems, as well as the conduct of experiments and measurements. Usually the tasks will be processed in small-group work and/or pair-programming sessions.- Ability to independently apply knowledge and methods from hardware and software development.
- Ability to work together in teams