MVisio: a multi-device 2D/3D graphic engine for PDAs, PCs and CAVEs Achille Peternier, Ph. D. Student VRLab, EPFL, Switzerland 3D Mental Vision.

Slides:



Advertisements
Similar presentations
Programming with OpenGL - Getting started - Hanyang University Han Jae-Hyek.
Advertisements

Introduction to Direct3D 10 Course Porting Game Engines to Direct3D 10: Crysis / CryEngine2 Carsten Wenzel.
3D Mental Vision A teaching platform for Computer Graphics and Virtual Reality.
Välkommen till Sommarkollo Introduce XNA Game Studio Express Make A Game!
Executional Architecture
© Copyright Khronos Group, Page 1 COLLADA FX Update and FX Composer 2.0 Daniel Horowitz & Ignacio Castaño.
FireMonkey Deep Dive The Next Generation of Business Application Development.
Android Platform Overview (1)
Computer Graphics from your pockets to your CAVE Achille Peternier, Ph. D. Student VRLab, EPFL, Switzerland.
1 Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005 What is Computer Graphics? Ed Angel Professor of Computer Science, Electrical and Computer.
Ch 1 Intro to Graphics page 1CS 367 First Day Agenda Best course you have ever had (survey) Info Cards Name, , Nickname C / C++ experience, EOS experience.
By Steven Taylor.  Basically a video game engine is a software system designed for the creation and development of video games.  There are many game.
AGD: 5. Game Arch.1 Objective o to discuss some of the main game architecture elements, rendering, and the game loop Animation and Games Development.
Development of mobile applications using PhoneGap and HTML 5
An Overview of Qt - asankar1. Agenda About Qt –A brief intro of Qt Qt development tools –Tools used for building Qt application Qt Architecture –The underlying.
How to turn on the robot How to start Bluetooth How to connect to robot How to initialize the robot How to not break the robot Sec Getting Started.
Company/Product Overview. You have lots of files all over the place.
Chapter 11 Adding Media and Interactivity. Flash is a software program that allows you to create low-bandwidth, high-quality animations and interactive.
Antigone Engine Kevin Kassing – Period
TerraForm3D Plasma Works 3D Engine & USGS Terrain Modeler Heather Jeffcott Craig Post Deborah Lee.
CHAPTER 4 Window Creation and Control © 2008 Cengage Learning EMEA.
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
Zhonghua Qu and Ovidiu Daescu December 24, 2009 University of Texas at Dallas.
Computing and the Web Operating Systems. Overview n What is an Operating System n Booting the Computer n User Interfaces n Files and File Management n.
1Computer Graphics Input and Interaction Lecture 8 John Shearer Culture Lab – space 2
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
Computer Graphics I, Fall : What is Computer Graphics?
Computer Graphics Using Direct 3D Introduction. 2 What are we doing here? Simply, learning how to make the computer draw.
CS 480/680 Intro Dr. Frederick C Harris, Jr. Fall 2014.
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
CHAPTER TWO INTRODUCTION TO VISUAL BASIC © Prepared By: Razif Razali 1.
1 Geospatial and Business Intelligence Jean-Sébastien Turcotte Executive VP San Francisco - April 2007 Streamlining web mapping applications.
Lecture 11: Exam Revision 1  Principles of Interactive Graphics  CMSCD2012  Dr David England, Room 718,  ex 2271  Coursework.
Useful Tools for Making Video Games Part II An overview of.
The Cg Runtime Cyril Zeller. Cg Pipeline Graphics programs are written in Cg and compiled to low-level assembly code... Cg Runtime API...
Introduction to OpenGL and GLUT. What’s OpenGL? An Application Programming Interface (API) A low-level graphics programming API – Contains over 250 functions.
What is Computer Graphics?. 2 Objectives In this lecture, we explore what computer graphics is about We will give a historical introduction.
1 Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005 What is Computer Graphics?
Tim Madden ODG/XSD.  Graphics Processing Unit  Graphics card on your PC.  “Hardware accelerated graphics”  Video game industry is main driver.  More.
Interface Opportunities for 3D Data and Media User Interface Software TechNote Panel Virginia Tech CS Fall 2002 Nicholas F. Polys Umur Yilmaz Will Lee.
Computer Graphics: Programming, Problem Solving, and Visual Communication Steve Cunningham California State University Stanislaus and Grinnell College.
Framework for Virtual Web Laboratory I. Petković M. Rajković.
Maths & Technologies for Games Graphics Optimisation - Batching CO3303 Week 5.
GAM666 – Introduction To Game Programming ● Programmer's perspective of Game Industry ● Introduction to Windows Programming ● 2D animation using DirectX.
Chapter 11 Adding Media and Interactivity. Chapter 11 Lessons Introduction 1.Add and modify Flash objects 2.Add rollover images 3.Add behaviors 4.Add.
Overview of Previous Lesson(s) Over View  ASP is a technology that enables scripts in web pages to be executed by an Internet server.  ASP.NET is a.
Graphics Programming. Graphics Functions We can think of the graphics system as a black box whose inputs are function calls from an application program;
Introducing To 3D Studio Max George Atanasov Telerik Corporation
COMP413: Computer Graphics Overview of Graphics Systems Chapter 1.
Computer Graphics (Fall 2003) COMS 4160, Lecture 5: OpenGL 1 Ravi Ramamoorthi Many slides courtesy Greg Humphreys.
Game Engines Game: – Engine – Assets (models, animations, sounds, AI, and physics) – Code (Rules, AI, Scripting, etc.)
UMBC GDC Programming Tutorial
Ogre Overview Lecture 3.
UI-Performance Optimization by Identifying its Bottlenecks
Immediate Mode GUI – Theory and Example
Ogre Overview.
Application with Cross-Platform GUI
Introduction to OpenGL
From Turing Machine to Global Illumination
The Graphics Rendering Pipeline
Understanding Theory and application of 3D
Introduction to Computer Graphics with WebGL
HW for Computer Graphics
Game Engines Non-game specific technology Game: Engine
CIS 441/541: Introduction to Computer Graphics Lecture 15: shaders
Introduction to OpenGL
Free Samples! Take One! Take advantage of Intel’s free sample code to jump-start your game development. Dave Houlton Game Technology Development.
Computer Graphics Introducing DirectX
Presentation transcript:

MVisio: a multi-device 2D/3D graphic engine for PDAs, PCs and CAVEs Achille Peternier, Ph. D. Student VRLab, EPFL, Switzerland 3D Mental Vision

Plan Foreword… Goals of the Mental Vision project MVisio Graphic Engine

Foreword… Mental Vision is a long term on-going project: these are the first results MVisio is a graphic engine and it is a part of the Mental Vision project Let me introduce this project goals with an example…

Foreword… You enter a toy-store, looking for the new version of your favorite videogame. You find the game, you turn the box to read what the content should look like and what you find is…

Foreword… DirectX 10 compatible! 4 GB of textures! 10 km x 10 km environment! 1kk of triangles per frame! Real-time this, pixel shader that, etc… Ok, but… what about the game??

Foreword… Its like finding on the back of a book, instead of the summary or the authors biography, something like: – words! –24 chapters! –Made with recycled papers! –400 pages! –53 occurrences of the word occlusion! Ok… But, what about the content??

Foreword… Back to CG: today, in most of cases, users have to follow the rule: –I have this hardware configuration -> I can access this 3D content (games, VE, …) –I dont have this hardware configuration -> I cant access this content Making a 3D content so strictly depending on a specific technology limits the fruition and the freedom of the content itself: –Reduces the potential application scenarios of your content –Reduces the number of potential users Briefly, binding content with technology so tightly that they can only be used on an extremely specific hardware configuration or device creates monsters…

Foreword… Content Technology

Goals

Goals (long term overview) This project aims to let authors (artists and programmers) to create virtual contents in a way less closed and limited to a specific hardware configuration or device The Mental Vision will let you define an abstract virtual content and the technology itself will adapt it for you, in order to fit the device and context you actually want to use to access it

Goals Virtual content Mental Vision 3D models Textures Semantic descriptors Physics Audio Shaders

MVisio Graphic Engine

MVisio graphic engine The first available element of this project is a graphic engine MVisio (Mental Vision) is a lightweight, robust and user-friendly graphic engine developed originally for pedagogical purposes in our laboratory MVisio brings high-quality real-time 3D graphics on heterogeneous devices (PDAs, PCs and CAVEs) The user doesnt have to modify his/her code: MVisio exposes an unified and common interface

MVisio graphic engine MVisio reduces the lines of code to write to obtain results and the complexity of the code itself, by automatically optimizing the models and the scene-graph, managing the resources, auto-tuning the performances, etc. –Extremely useful when you want to create cross- device applications MVisio simplify the import of 3D content through a powerful plugin for 3D Studio Max: with just one button click, the whole content displayed in 3D Studio Max is exported to a file directly loaded by MVisio (wysiwyg-like)

MVisio graphic engine 3D Studio Max MVisio application Our exporter.MVE (MVisio Entity file format)

MVisio graphic engine Technically spoken, MVisio is: –Built in C++ on the top of OpenGL, OpenGL|ES and SDL (Simple DirectMedia Library) to handle context initialization and keyboard/joystick/mouse events –Just a 250 KB DLL –Capable to display a complex textured scene with dynamic lighting and shadows in just 7 lines of code

MVisio graphic engine #include #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 auto-setup) 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 buffer Free resources

MVisio Graphic Engine MVisio is a modern 2D/3D graphic engine featuring: –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 –Loading of GUI from XML files –Object picking –Support for Head-Mounted Displays (HMD) –New customizable objects directly pluggable to the MVisio core

MVisio Graphic Engine Mvisio (.dll) User application (.exe) OpenGL (1.1->1.5) OpenGL|ES (1.0 CM) Images PDA engine Models (.mve) Animations (.mva) Models (.mve) Animations (.mva) PC engine CAVE engine client/server architecture Wall

MVisio on PDA

MVisio on PC

MVisio on CAVE

MVisio graphic engine

More details on

Thanks! …questions?