Computer Graphics from your pockets to your CAVE Achille Peternier, Ph. D. Student VRLab, EPFL, Switzerland.

Slides:



Advertisements
Similar presentations
3D Mental Vision A teaching platform for Computer Graphics and Virtual Reality.
Advertisements

MVisio: a multi-device 2D/3D graphic engine for PDAs, PCs and CAVEs Achille Peternier, Ph. D. Student VRLab, EPFL, Switzerland 3D Mental Vision.
OpenGL ES Developer Focus Brian Bruning, Director DevRel Updated: August 31st, 2004.
ARIS The Augmented Rea l ity Studio. Outline  Background  Problem definition  Proposed solution  System design  Functionalities  Comparison with.
GPU Virtualization on VMware’s Hosted I/O Architecture Micah Dowty Jeremy Sugerman USENIX WIOV
Technical Architectures
Notes to the presenter. I would like to thank Jim Waldo, Jon Bostrom, and Dennis Govoni. They helped me put this presentation together for the field.
Fast rendering of 2D applications with text and images Combines the power of DirectX and the convenience of.NET Adopted by most triple-A titles.
DEPARTMENT OF COMPUTER ENGINEERING
ANDROID OPERATING SYSTEM Guided By,Presented By, Ajay B.N Somashekar B.T Asst Professor MTech 2 nd Sem (CE)Dept of CS & E.
Interactive Visual System By Arthur Evans, John Sikorski, and Patricia Thomas.
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.
4/27/2006Education Technology Presentation Visual Grid Tutorial PI: Dr. Bina Ramamurthy Computer Science and Engineering Dept. Graduate Student:
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.
1 Design and Implementation of an Efficient MPEG-4 Interactive Terminal on Embedded Devices Yi-Chin Huang, Tu-Chun Yin, Kou-Shin Yang, Yan-Jun Chang, Meng-Jyi.
Course Overview, Introduction to CG Glenn G. Chappell U. of Alaska Fairbanks CS 381 Lecture Notes Friday, September 5, 2003.
CSU0021 Computer Graphics © Chun-Fa Chang CSU0021 Computer Graphics September 10, 2014.
MACHINE VISION GROUP Graphics hardware accelerated panorama builder for mobile phones Miguel Bordallo López*, Jari Hannuksela*, Olli Silvén* and Markku.
CS 480/680 Computer Graphics Course Overview Dr. Frederick C Harris, Jr. Fall 2012.
Marcelo de Paiva Guimarães Bruno Barberi Gnecco Marcelo Knorich Zuffo
Zhonghua Qu and Ovidiu Daescu December 24, 2009 University of Texas at Dallas.
Computer Graphics Graphics Hardware
Connected 3D Game Development for Mobile Devices using X-Forge Game Developers Conference 2005 March 11, San Francisco Petrus Lundqvist.
DYNAMIC WAP BASED VOTING SYSTEM Bertrand COLAS Submission date: May 2002 School of Computing Bachelor of Engineering with Honours in Computer.
J2ME Presented by May Sayed & Menna Hawash. Outline Introduction “Java Technology” Introduction “What is J2ME?” J2ME Architecture J2ME Core Concepts 
Gregory Fotiades.  Global illumination techniques are highly desirable for realistic interaction due to their high level of accuracy and photorealism.
Vision The ultimate IDE/CASE tool should supports all steps in the software development process. Current tools perform only minimal semantic-level analysis.
Syzygy Design overview Distributed Scene Graph Master/slave application framework I/O Device Integration using Syzygy Scaling down: simulators and other.
© ABB Inc. - USETI All Rights Reserved 10/17/2015 Insert image here An Economic Analysis Development Framework for Distributed Resources Aaron F. Snyder.
1 Chapter 7 Operating System & Utility Programs.  consists of the programs that control or maintain the operations of the computer and its devices. It.
Accelerating image recognition on mobile devices using GPGPU
NVTune Kenneth Hurley. NVIDIA CONFIDENTIAL NVTune Overview What issues are we trying to solve? Games and applications need to have high frame rates Answer.
Introduction Infrastructure for pervasive computing has many challenges: 1)pervasive computing is a large aspect which includes hardware side (mobile phones,portable.
1 Latest Generations of Multi Core Processors
Design of a 2D Graphics Engine By Joe Hallahan. What is an Engine? Software engine: core of the program Internal as opposed to visible Others (physics,
Copyright © Mohamed Nuzrath Java Programming :: Syllabus & Chapters :: Prepared & Presented By :: Mohamed Nuzrath [ Major In Programming ] NCC Programme.
Copyright©2008 N.AlJaffan®KSU1 Chapter 7 Operating System and Utility Programs.
© Copyright Khronos Group, Page 1 OpenGL ES SIGGRAPH 2006 Neil Trevett Vice President Embedded Content, NVIDIA President, Khronos.
Advanced Computer Graphics Spring 2014 K. H. Ko School of Mechatronics Gwangju Institute of Science and Technology.
INTRODUCTION GORT is a virtual 3D modeling environment for computer programmers. Its main area of focus is to aid in the education of programmers learning.
Copyright©2008 N.AlJaffan®KSU1 Chapter 7 Operating System and Utility Programs.
Framework for Virtual Web Laboratory I. Petković M. Rajković.
Vizard Virtual Reality Toolkits Vizard Virtual Reality Toolkits.
Development of a Software Renderer for utilizing 3D Contents on a 2D-based Mobile System Sungkwan Kang 1, Joonseub Cha 2, Jimin Lee 1 and Jongan Park 1,
© 2004, Neolat Media - Strictly Confidential Christopher Tanner CEO COLLADA API Preview GDC 2005 COLLADA Tech Talk.
Computer Graphics IN5I11 Nabil H. Mustafa
Havok FX Physics on NVIDIA GPUs. Copyright © NVIDIA Corporation 2004 What is Effects Physics? Physics-based effects on a massive scale 10,000s of objects.
© Copyright Khronos Group, Page 1 Khronos and OpenGL ES Status Neil Trevett Vice President Embedded Content, NVIDIA President, Khronos.
CONTENT FOCUS FOCUS INTRODUCTION INTRODUCTION COMPONENTS COMPONENTS TYPES OF GESTURES TYPES OF GESTURES ADVANTAGES ADVANTAGES CHALLENGES CHALLENGES REFERENCE.
Augmented Reality and 3D modelling Done by Stafford Joemat Supervised by Mr James Connan.
3/12/2013Computer Engg, IIT(BHU)1 CUDA-3. GPGPU ● General Purpose computation using GPU in applications other than 3D graphics – GPU accelerates critical.
SOMA Service-Oriented Mobile learning Architecture Fabian Kromer Andreas Kuntner
GPU Computing for GIS James Mower Department of Geography and Planning University at Albany.
By Adam Reimel. Outline Introduction Platform Architecture Future Conclusion.
BY : MS ARTI B BAVANE. INTRODUCTION Formed on February 15,2010. Jointly found by two pillars Intel and Nokia by joining their existing open source projects.
 Background  Introduction  Purpose  Basic rover services  Physical architecture of Rover System  Server operation  Logical Architecture of A Rover.
Rendering pipeline: The hardware side
Xen GPU Rider. Outline Target & Vision GPU & Xen CUDA on Xen GPU Hardware Acceleration On VM - VMGL.
2014 CS Mobile Computing (iOS) Dr. William C. Bulko CS 378 – Mobile Computing (iOS) Introduction.
Multi-Device UI Development for Task-Continuous Cross-Channel Web Applications Enes Yigitbas, Thomas Kern, Patrick Urban, Stefan Sauer
Computer Graphics Graphics Hardware
Chapter 1 An overview on Computer Graphics
Dynamo: A Runtime Codesign Environment
File System Implementation
Advanced Graphics Algorithms Ying Zhu Georgia State University
Chapter 18 MobileApp Design
Introduction UI designer stands for User Interface designer. UI designing is a type of process that is used for making interfaces in the software or the.
Computer Graphics Graphics Hardware
CIS 441/541: Introduction to Computer Graphics Lecture 15: shaders
Presentation transcript:

Computer Graphics from your pockets to your CAVE Achille Peternier, Ph. D. Student VRLab, EPFL, Switzerland

Plan 1.Introduction 2.Goals 3.Our solution 1.System architecture 2.Examples 3.Evaluation/Benchmark 4.Conclusion

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) handheld devicesUMPCs 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) Desktop PCsCAVE 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) Concept Result Software Device Project

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 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) 3D models Textures Animations Effects User application Mental Vision 2D/3D engine GUI Content adaptation Dynamic scene graph Handheld rendering PC rendering CAVE rendering Engine API

3. Our solution: architecture (2) Mental Vision 2D/3D engine Handheld rendering Fixed math OpenGL|ES (HW/SW) Mental Vision 2D/3D engine PC rendering OpenGL (1.1 -> 2.1) Fixed pipeline Fixed/Shader pipeline F/X

3. Our solution: architecture (3) Mental Vision 2D/3D engine CAVE rendering Network architecture

3. Our solution: architecture (4)

3. Our solution: PC example #include 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 #define MV_PDA #include 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 #define MV_CAVE #include int main(int argc, char *argv[]) { MVCLIENT *front = new MVCLIENT(); front->set IP(“ ”); front->setID(MV_FRONT); MVCLIENT *right = new MVCLIENT(); right->set IP(“ ”); right->setID(MV_RIGHT); // … MVISIO::init(NULL); MVNODE *bunny = MVISIO::load("bunny.mve");  Define that first Add CAVE sides here

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 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, 2008The Mental Vision framework: a platform for teaching, practicing and researching with Computer Graphics and Virtual Reality 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 2006Wearable Mixed Reality System In Less Than 1 Pound 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, 2007Practical Design and Implementation of a CAVE System

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) 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) 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) PC hardware rendering (Nvidia GForce 8800 GT, Core2 2.4 GHz) Screen size: 640x480 Bunny: >1400 fps Building: >1000 fps V. human: ~560 fps

3. Our solution: benchmark (5) 2D GUI 3D rendering 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

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) Versatility doesn’t need to be sacrificed in the process.

Thank you …questions?