© Copyright Khronos Group, Page 1 Open Source Projects around the OpenGL ES API Hans-Martin Will Project Lead, Vincent
© Copyright Khronos Group, Page 2 Overview Applications of OpenGL ES API - Application Programs - Games & Game Engines - Libraries and Wappers Vincent Project - OpenGL ES 1.x API - OpenGL ES 2.x API Q & A
© Copyright Khronos Group, Page 3 Pocket Blender Port of Blender 3D modeling application Windows Mobile Case-study for porting legacy OpenGL application to ES: - Use OpenGL emulation layer to get started - In thise case: Klimt ES - Convert to OpenGL ES API Binary License and GPL
© Copyright Khronos Group, Page 4 Quake 3 Arena Port of Quake 3 Arena to Pocket PC Windows Mobile 2003, 5 in the works Code base converted to fixed point! - And many other profile-guided changes - Case study for porting AAA title to mobile Playable frame-rates on hardware OpenGL ES implementation GPL e.htmlhttp:// e.html
© Copyright Khronos Group, Page 5 OGRE Game Engine Port of OGRE to PocketPCs Windows Mobile Considered one of the best OSS game engines out there Great asset tool chain (Collada, Blender, 3dsmax, Maya, …) Porting process described in - etos/2006/SVR2006_Limaetal.pdf etos/2006/SVR2006_Limaetal.pdf LGPL Siggraph: - BOF Thu at 2 pm, #
© Copyright Khronos Group, Page 6 Torus 3D Engine Game engine specifically developed for mobile devices BREW BSP-based Small footprint, fixed-point math Exporters for 3dsmax BSD License
© Copyright Khronos Group, Page 7 Cube Engine Single- and multi-player FPS engine Simple, but not necessarily resource-conscious Windows Mobile, Intel XScale Zlib/libpng License
© Copyright Khronos Group, Page 8 GLUT ES Port of freeglut implementation; most of GLUT v.3 WinCE and Win32 Great to get started with OpenGL ES programming ZeusCMD Tutorials BSD-style license
© Copyright Khronos Group, Page 9 OpenGL ES 1.0 Sample Reference Implementation Implements OpenGL ES 1.0 API on top of desktop OpenGL 1.3 impl. Linux For development and testing of OpenGL ES 1.0 software on desktop computer Not a registered OpenGL ES implementation, but tested against OpenGL ES conformance tests. BSD License
© Copyright Khronos Group, Page 10 Desktop OpenGL ES Implements OpenGL ES 1.1 API on top of desktop OpenGL 1.5 impl. Linux, Windows XP, FreeBSD, Mac OS X For development and testing of OpenGL ES 1.1 software on desktop computer Not a registered OpenGL ES implementation, but tested against OpenGL ES conformance tests. BSD License
© Copyright Khronos Group, Page 11 Misc. Applications & Libraries Khronos Coding Contest Entries Fogron - Tron-style game DOGLESS - OpenGL wrapper on top of OpenGL ES API Klimt ES - OpenGL wrapper on top of OpenGL ES API, used by PocketBlender - Contact Daniel Wagner
© Copyright Khronos Group, Page 12
© Copyright Khronos Group, Page 13 Vincent 3D Rendering Library for Mobile Devices Provides implementation of OpenGL ES 1.1 API; Common Lite (fixed point) Windows Mobile, ARM Linux Project created in Aug right after release of OpenGL ES specification Conformance submission January BSD License
© Copyright Khronos Group, Page 14 Project Adoption ~2000 downloads of binaries for last release; 2/3 Windows, 1/3 Linux All time 24,669 downloads
© Copyright Khronos Group, Page 15 Dynamic Compilation Technology
© Copyright Khronos Group, Page 16 What is it used for? Learning tool for OpenGL ES API - Windows Mobile is popular! Academic research - Mochocki, Lahiri & Cadambi (2006) Power analysis of mobile 3D graphics, IEEE-CS\DATC - Nadalutti, Chittaro, Buttussi (2006) Rendering of X3D content of mobile devices with OpenGL ES, Proc. 11th int. conf. on 3D Web Tech. - Student/thesis projects Navigation systems - Based on support requests - Example: MagicMaps2Go
© Copyright Khronos Group, Page 17 Vincent3D Rendering Library Goal: Develop OSS implementation of OpenGL ES 2.x API Platform-independent C, later Verilog Includes GL SL ES to C compiler Reference, content development, research Comes with unit testing framework wxWindows Licence (LGPL + distribution)
© Copyright Khronos Group, Page 18 Refresher: OpenGL ES 2.x Pipeline
© Copyright Khronos Group, Page 19 Compilation Process
© Copyright Khronos Group, Page 20 What’s next? Timeline Alpha release of runtimeSiggraph - Integrate shader language compiler3Q06 - Fully stable release1Q07 Outlook - Piecewise conversion to system model - Verilog Interested? Get involved!
© Copyright Khronos Group, Page 21 Questions?