Upload
booth
View
49
Download
2
Embed Size (px)
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
Citation preview
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.
• VRLab also in charge to teach Computer Graphics and Virtual Reality to bachelor, master and doctoral students.
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.
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)
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)
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)
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
MVisio modules
Lesson slide
Click & drag controls
Simplified interface
PowerPoint-like style
Real-time WYSIWYG
display
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
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
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
MVisio graphic engine3D Studio Max
MVisio application
Our exporter
.MVE
(MVisio Entity file format)
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
MVisio graphic engine
• MVisio used on student projects:
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
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
Current status
• MVisio now runs also on CAVE systems (75% done)
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
Try MVisio!
http://vrlab.epfl.ch
http://vrlab.epfl.ch/~apeternier