Computer graphics from your pockets to your cave
Download
1 / 25

Computer Graphics from your pockets to your CAVE - PowerPoint PPT Presentation


  • 92 Views
  • Uploaded on

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.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' Computer Graphics from your pockets to your CAVE' - lyndon


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


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 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?


ad