Computer graphics from your pockets to your cave
This presentation is the property of its rightful owner.
Sponsored Links
1 / 25

Computer Graphics from your pockets to your CAVE PowerPoint PPT Presentation


  • 74 Views
  • Uploaded on
  • Presentation posted in: General

Computer Graphics from your pockets to your CAVE. Achille Peternier, Ph. D. Student VRLab, EPFL, Switzerland. Plan. Introduction Goals Our solution System architecture Examples Evaluation/Benchmark Conclusion. 1. Introduction (1). Unique framework for 3D graphics.

Download Presentation

Computer Graphics from your pockets to your CAVE

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Computer graphics from your pockets to your cave

Computer Graphics from your pockets to your CAVE

Achille Peternier, Ph. D. Student

VRLab, EPFL, Switzerland


Computer graphics from your pockets to your cave

Plan

  • Introduction

  • Goals

  • Our solution

    • System architecture

    • Examples

    • Evaluation/Benchmark

  • Conclusion


1 introduction 1

1. Introduction (1)

Unique framework for 3D graphics

handheld devices, PDAs, mobile phones

UMPCs, low profile PCs

Desktop PCs, modern graphics accelerators

CAVE systems, multi-display environments


1 introduction 2

1. Introduction (2)

handheld devices

UMPCs

  • low resources and computational power

  • lack of 3D dedicated HW or poor performances

    • Intel GMA 900/950 family

    • OpenGL | ES

    • OpenGL < 1.5

  • closed systems


1 introduction 3

1. Introduction (3)

Desktop PCs

CAVE systems

  • Very heterogeneous HW

    • NVidia, ATI, Intel, …

    • OpenGL 1.1 -> OpenGL 3.0

  • Network architecture (and again heterogeneous HW)

  • Stereographic rendering cutting performances


2 goals 1

2. Goals (1)

Concept

Result

Project

Device

Software


2 goals 2

2. Goals (2)

  • Reducing complexity and development times for cross-device graphics applications

  • Making development and porting as simple as possible

  • Keeping the same functionalities and performances across different platforms, or let the software automatically adapt it for us (models, GUIs, textures, shaders, etc.)


3 our solution

3. Our solution

  • Mental Vision: a cross-device 2D/3D graphics engine:

    • Very simple interface (good learning curve)

      • Maximizing effects reducing lines of code

      • Minimizing differences among different platforms

    • Compact in sizes and fast in speed (important for low profile/mobile devices)

    • Robust (consistent results across different devices)


3 our solution architecture 1

3. Our solution: architecture (1)

3D models

Engine API

Textures

Dynamic scene graph

Animations

Content adaptation

Effects

GUI

Handheld rendering

User application

PC rendering

CAVE rendering

Mental Vision 2D/3D engine


3 our solution architecture 2

3. Our solution: architecture (2)

Handheld rendering

PC rendering

Fixed math

OpenGL (1.1 -> 2.1)

OpenGL|ES (HW/SW)

Fixed/Shader pipeline

Fixed pipeline

F/X

Mental Vision 2D/3D engine

Mental Vision 2D/3D engine


3 our solution architecture 3

3. Our solution: architecture (3)

CAVE rendering

Network architecture

Mental Vision 2D/3D engine


3 our solution architecture 4

3. Our solution: architecture (4)


3 our solution pc example

3. Our solution: PC example

#include <mvisio.h>

int main(int argc, char *argv[])

{

MVISIO::init(NULL);

MVNODE *bunny = MVISIO::load("bunny.mve");

MVISIO::clear(true, true, true);

MVISIO::begin3D(NULL);

bunny->pass();

MVISIO::end3D();

MVISIO::swap();

MVISIO::free();

return 0;

}

Initialize MVisio (NULL means auto-setup)

Load a scene from native format

Clear buffers, start a 3D rendering, tell MVisio to render the bunny entity, execute the rendering, swap back to front buffer

Free resources


3 our solution pda example

3. Our solution: PDA example

#define MV_PDA

#include <mvisio.h>

int main(int argc, char *argv[])

{

MVISIO::init(NULL);

MVNODE *bunny = MVISIO::load("bunny.mve");

MVISIO::clear(true, true, true);

MVISIO::begin3D(NULL);

bunny->pass();

MVISIO::end3D();

MVISIO::swap();

_sleep(5000);

MVISIO::free();

return 0;

}

Just define that before including MVisio, that’s all!


3 our solution cave example

3. Our solution: CAVE example

#define MV_CAVE

#include <mvisio.h>

int main(int argc, char *argv[])

{

MVCLIENT *front = new MVCLIENT();

front->set IP(“192.168.0.1”);

front->setID(MV_FRONT);

MVCLIENT *right = new MVCLIENT();

right->set IP(“192.168.0.2”);

right->setID(MV_RIGHT);

// …

MVISIO::init(NULL);

MVNODE *bunny = MVISIO::load("bunny.mve");

Define that first

Add CAVE sides here


3 our solution cave example1

3. Our solution: CAVE example

MVCLIENT::putUser(1.2, 1.6, 1.2);

MVISIO::clear(true, true, true);

MVISIO::begin3D(NULL);

bunny->pass();

MVISIO::end3D();

MVISIO::swap();

_sleep(5000);

MVISIO::free();

return 0;

}

Specify user’s head position in CAVE relative coordinates


3 our solution technical details

3. Our solution: technical details

Other aspects/details (like engine expansion, MR/VR related aspects, corollary tools, plugins, CAVE calibration, etc.):

  • A. Peternier, F. Vexo, D. Thalmann, The Mental Vision framework: a platform for teaching, practicing and researching with Computer Graphics and Virtual Reality, LNCS Transactions on Edutainment, 2008

  • A. Peternier, F. Vexo, D. Thalmann, Wearable Mixed Reality System In Less Than 1 Pound, In Proc. of the 12th Eurographics Symposium on Virtual Environments, Lisbon, Portugal, May 2006

  • A. Peternier, S. Cardin, F. Vexo, D. Thalmann, Practical Design and Implementation of a CAVE System, 2nd International Conference on Computer Graphics, Theory and Applications, GRAPP 2007, Barcelona, 2007


3 our solution benchmark 1

3. Our solution: benchmark (1)

  • Simple cross device application tracking fps and using three different models:

    • classic static Standford bunny

    • a building model (using many separated entities and transparencies)

    • a 86 bones skinned, animated, textured virtual human

  • Basic GUI (some text, a couple of buttons)

  • We want to evaluate speed issues and visual consistency among different platforms.


3 our solution benchmark 2

3. Our solution: benchmark (2)

PDA software rendering

(OGL|ES Rasteroid 1.0 CL)

Screen size: 320x240

Bunny: ~5.9 fps

Building: ~9.3 fps

V. human: ~6.7 fps


3 our solution benchmark 3

3. Our solution: benchmark (3)

PDA hardware rendering

(OGL|ES MBX-lite 1.0 CL)

Screen size: 640x480

Bunny: ~23 fps

Building: ~34 fps

V. human: ~14 fps


3 our solution benchmark 4

3. Our solution: benchmark (4)

PC hardware rendering

(Nvidia GForce 8800 GT, Core2 Quad @ 2.4 GHz)

Screen size: 640x480

Bunny: >1400 fps

Building: >1000 fps

V. human: ~560 fps


3 our solution benchmark 5

3. Our solution: benchmark (5)

4 side CAVE rendering

(1 server PC, 4 clients)

Screen size: 1024x768 (each)

Nvidia 9800 GTX

Bunny: >1400 fps

Building: >1000 fps

V. human: ~560 fps

3D rendering

2D GUI


4 conclusion 1

4. Conclusion (1)

  • 3D everywhere is possible today by using the correct approach and system architecture.

  • Cross-device applications open new scenarios/applications, mainly when porting across different systems can be achieved “for free”.


4 conclusion 2

4. Conclusion (2)

  • Versatility doesn’t need to be sacrificed in the process.


Thank you

Thank you

…questions?


  • Login