3d mental vision

20
3D Mental Vision A teaching platform for Computer Graphics and Virtual Reality

Upload: booth

Post on 09-Jan-2016

43 views

Category:

Documents


2 download

DESCRIPTION

3D Mental Vision. A teaching platform for Computer Graphics and Virtual Reality. Plan. Introduction MVisio modules MVisio engine Conclusion and perspectives. Foreword. Virtual Reality Laboratory (VRLab/EPFL) VRLab mainly involved in virtual humans, virtual crowds, haptic VR. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 3D Mental Vision

3D Mental Vision

A teaching platform for Computer Graphics and Virtual Reality

Page 2: 3D Mental Vision

Plan

• Introduction

• MVisio modules

• MVisio engine

• Conclusion and perspectives

Page 3: 3D Mental Vision

Foreword

• Virtual Reality Laboratory (VRLab/EPFL)

• VRLab mainly involved in virtual humans, virtual crowds, haptic VR.

• VRLab also in charge to teach Computer Graphics and Virtual Reality to bachelor, master and doctoral students.

Page 4: 3D Mental Vision

What is this Mental Vision?

• MVisio is the short name of “Mental Vision”

• A set of interactive compact demonstrators (called pedagogical modules)

• A programmer-friendly, pedagogical-oriented 2D/3D graphic engine

• MVisio is aimed at CG and VR.

Page 5: 3D Mental Vision

MVisio goals

• Improve comprehension of abstract notions of 3D Computer Graphics (CG)

• Break the limitations of static images and videos

• Bring interactivity and direct experience about the learned topics

• Offer to advanced student a comfortable development framework for their projects (VR)

Page 6: 3D Mental Vision

MVisio goals

• Unify the work, to avoid unprofessional copy/pasted course content and a unique, common graphic engine to be used by students and assistants

• Reduce students’ time involved on corollary aspects during their projects (weeks spent learning how to configure the APIs, adapting/importing 3D models, brief: solving CG problems on a VR project)

Page 7: 3D Mental Vision

MVisio modules

• Modules are small demos allowing students and teachers to dynamically interact with the algorithms and concepts introduced during the class

• Modules uses the MVisio engine and we provide the source-code to students

• Modules run virtually on every pc/laptop (MVisio automatically tunes itself)

Page 8: 3D Mental Vision

MVisio modules

• Typically, a module features:– a screenshot of the lesson slide– an intuitive and user-friendly interface (few buttons,

click & drag interaction)

• Students can practice with modules directly on their notebooks or PDAs during the lessons

• Modules can be directly inserted in PowerPoint presentations or launched separately

Page 9: 3D Mental Vision

MVisio modules

Lesson slide

Click & drag controls

Simplified interface

PowerPoint-like style

Real-time WYSIWYG

display

Page 10: 3D Mental Vision

MVisio graphic engine

• Technically spoken, MVisio is:– Built in C++ on the top of OpenGL, OpenGL|

ES and SDL (Simple DirectMedia Library) – Just a 200 KB DLL– Capable to display a complex textured scene

with dynamic lighting and shadows in just 7 lines of code

Page 11: 3D Mental Vision

MVisio graphic engine

• MVisio directly support VR specific devices, like stereographic rendering on HMDs or camera handling through motion/rotation sensors

• MVisio allows students to immediately start using the different devices we dispose in our lab

Page 12: 3D Mental Vision

MVisio graphic engine

• MVisio reduces:– Lines of code to write to obtain results– Complexity of the code itself, by automatically

optimizing the scene-graph, managing the resources, sorting, etc.

– Data import, through a powerful plugin for 3D Studio Max and a plethora of 3D objects, scenes, characters and animations ready to be used

Page 13: 3D Mental Vision

MVisio graphic engine3D Studio Max

MVisio application

Our exporter

.MVE

(MVisio Entity file format)

Page 14: 3D Mental Vision

MVisio graphic engine#include <mvisio.h>

#pragma comment(lib, "mvisio.lib")#pragma comment(lib, "sdl.lib")#pragma comment(lib, "sdlmain.lib")

int main(int argc, char *argv[]){ MVISIO::init(NULL); MVNODE *bar = MVISIO::load("bar.mve"); MVISIO::clear(true, true, true); MVISIO::begin3D(NULL); bar->pass(); MVISIO::end3D(); MVISIO::swap(); _sleep(5000); MVISIO::free(); return 0;}

Initialize MVisio (NULL means autosetup)

Load the scene exported from 3D Studio MAX

Clear buffers, start a 3D rendering, tell MVisio to render the bar entity, execute the rendering, swap back to front bufferFree resources

Page 15: 3D Mental Vision

MVisio graphic engine

• MVisio used on student projects:

Page 16: 3D Mental Vision

Current status

• Modules actually available:– Mixing parabola– Hermite interpolation– Kochanek-Bartels splines– Bézier splines– Bézier surfaces– Camera handling– Sweeping techniques

• The graphic engine is currently used on several on-going student projects

Page 17: 3D Mental Vision

Current statusMVisio engine features:

• Extremely user-friendly API, based on an C++ class-oriented architecture • Multi-device rendering on PC, PDA and CAVE, without changing the source code • Full OpenGL and OpenGL|ES support • Dynamic scene graph management • Dynamic lighting and real-time shadows • Vertex and pixel shaders • Skinning and animations • Particle emitters • Terrain engine • Loading of scenes directly exported from 3D Studio MAX through a specific plugin • 2D GUI system with event handling • Object picking • Support for Head-Mounted Displays (HMD) • Expandability through new customizable objects directly pluggable to the MVisio core

Page 18: 3D Mental Vision

Current status

• MVisio now runs also on CAVE systems (75% done)

Page 19: 3D Mental Vision

Next steps

• Add more modules, mainly on advanced topics like inverse kinematics, skeletal animation, …

• Bring more modules to handheld devices, more comfortable to use during the lessons

Page 20: 3D Mental Vision

Try MVisio!

http://vrlab.epfl.ch

http://vrlab.epfl.ch/~apeternier