Presentation is loading. Please wait.

Presentation is loading. Please wait.

BlenderPocket How Blender bring CG in Mobile Devices by Salvatore Russo (russose) Blender Conference (21/10/2006)

Similar presentations


Presentation on theme: "BlenderPocket How Blender bring CG in Mobile Devices by Salvatore Russo (russose) Blender Conference (21/10/2006)"— Presentation transcript:

1 BlenderPocket How Blender bring CG in Mobile Devices by Salvatore Russo (russose) Blender Conference (21/10/2006)

2 Content Source Code Overview Future of this project and main applications Questions ? Demonstration: working with BlenderPocket

3 Source Code Overview

4 ➔ No Game Engine ➔ No Sound ➔ No international Support Two main work areas : ➔ Ghost ➔ OpenGL Other fine tuning in: ➔ Source ➔ bmfont for fonts

5 GHOST library ➔ Implements the event management system ➔ Implements the OS Window management ➔ Implements hardware support (mouse, keyboard,...) ➔ Implements OpenGL context management

6 GHOST for PocketPC GHOST Heart GHOST_DisplaymanagerCarb on GHOST_WindowCarbon GHOST_SystemCarbon (Mac) GHOST_DisplaymanagerX11 GHOST_WindowX11 GHOST_SystemX11 (Linux) GHOST_DisplaymanagerWin3 2 GHOST_WindowWin32 GHOST_SystemWin32 (Windows) GHOST_DisplaymanagerWinC E GHOST_WindowWinCE GHOST_SystemWinCE (Windows Mobile) GHOST_WindowWinCE : ➔ Windows creation (only one window for BlenderPocket! ) ➔ OpenGL initialisation ➔ Other tuning GHOST_SystemWinCE : ➔ BlenderPocket hardware button implementation ➔ Event loop for BlenderPocket ➔ Other tuning

7 OpenGL situation for PocketPC OpenGL ES Mesa (open source OpenGL) + It is a standard + Especially developed for mobile + Optimized for mobile (fixed point) + Implementations available for free or open source - It is only a subset of OpenGL - Vital functions for Blender are missing !! + A full OpenGL implementation + A portable code + A long history and development - A full optimization needed (fixed point) - Some problems to be solved to even start Blender

8 A crucial decision... OpenGL ES Mesa (open source OpenGL) + Ghost tests worked with OpenGL ES and a wrapper (KlimtES from Daniel Wagner not open source) + Blender could start + Hardware accelerated OpenGL ES devices already exists - A deep understanding of OpenGL necessary to develop a wrapper (starting from scratch!) + Ghost tests worked with Mesa but very slow + I optimized it using direct access to the screen (GAPI) - Blender could NOT start! - Fixed point implementation necessary to use Blender - Going against the industry massively adopting OpenGL ES - No hope to use hardware acceration for mobile devices

9 OGLES2OGL library is born Main OpenGL functions emulated: ➔ Begin/End emulated using vertex array ➔ GLU taken from Mesa ➔ Evaluators (for nice curves) replaced by simple lines ➔ Pixel/Bitmap drawing implemented using texture drawing (already here in Blender sources!) ➔ Raster position supported by ogles2ogl ➔ OpenGL selection process implemented using an off-line rendering ➔ Other misc stuff... Front/Back buffer functionalities NOT implemented. “myswapbuffer” function in Blender is a good friend for that :)

10 BlenderPocket Source Code - Final Picture Blender Pocket ➔ OpenGL ES ➔ Port of some others extern libraries (PythonCE, zlibCE,etc...) ➔ Ghost for mobile device ➔ OpenGL wrapper (OGLES2OGL) ➔ bmfont adapted to mobile device requirements blender heart intern libraries extern libraries ➔ Front/back buffer approach replaced thanks to myswapbuffer ➔ Menu/toobox size reduction ➔ DNA generated for our devices ➔ Implementation of standard c functions not supported (e.g. open, close, stat, etc...) ➔ Unicode conversion to WinCE API ➔ Other tuning

11 Future of BlenderPocket and Main Applications

12 Priorities for the near future 1) Support efforts to make Blender run on other embedded Oss or support OpenGL ES hardware accelerated devices...on Nokia770 (linux) from Giuseppe (using Mesa) I am currently working in making BlenderPocket support Vincent, an open source OpenGL ES implementation (today, only Rasteroid implementation is supported) Keep in mind that the PSP and some PocketPC already have an OpenGL ES hardware acceleration

13 Priorities for the near future 2) Support Blender/BlenderPocket promotion writing some tutorials Mobile device fan with some experience with 3D packages Mobile device fan with no experience with 3D packages 3D packages users curious to discover BlenderPocket Blender fan with a good knowledge of Blender BlenderPocket is probably not the right product. Blender should first be learned....needs short explanations only. They will naturally move to Blender documents.... needs detailed explanations to use BlenderPocket.... needs only short explanations to use BlenderPocket.

14 Priorities for the near future 3) Improvements Stability issues to be solved (“white screen bug”, freeze) Optimization considering more fixed point implementation (GLU, MOTO intern library (?) ) Other optimization (OpenGL configuration, UI theme better adapted to our mobile devices) Any help is welcome :)

15 And the Game Engine ? Use Blender intern Game Engine Optimizations ( a lot? ) necessary to have acceptable fps. Use Game Engines already ported for mobile devices OGRE3D already ported for PocketPC

16 Applications of BlenderPocket Ever have our favourite software with us :) Education tool to better learn and understand Computer Graphic during “lost time” (train, aircraft, doctor, etc...) Easy to bring Blender near to the object we want to model/texture Bring our favourite.blend files everywhere (with some precautions) Realize small projects directly from our mobile device

17 Applications of BlenderPocket Advertise Blender proving its quality running in our extreme environment OGLES2OGL could be use to run Blender on “One Laptop Per Child” computer without FPU No limits thanks to python scripting (advanced virtual keyboards, 3d calculator, navigation system, CAD scripts, etc...)

18 Links BlenderPocket: http://russose.free.fr/BlenderPocket/ OpenGL ES Rasteroid Implementation http://www.hybrid.fi/main/about/index.php OpenGL ES Vincent Open Source Implementation http://sourceforge.net/projects/ogl-es Khronos Group http://www.khronos.org/ OGRE for mobile devices http://www.manifestgames.com/

19 Thank you :) Questions ? A live demo...


Download ppt "BlenderPocket How Blender bring CG in Mobile Devices by Salvatore Russo (russose) Blender Conference (21/10/2006)"

Similar presentations


Ads by Google