210 likes | 399 Views
Open Source Projects around the OpenGL ES API. Hans-Martin Will Project Lead, Vincent. 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. Pocket Blender.
E N D
Open Source Projectsaround the OpenGL ES API Hans-Martin Will Project Lead, Vincent
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
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 • http://russose.free.fr/BlenderPocket/
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 • http://www.noctemware.com/q3ce.html
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 • http://www.gprt.ufpe.br/~grvm/pdfs/ArtigosCompletos/2006/SVR2006_Limaetal.pdf • LGPL • Siggraph: • BOF Thu at 2 pm, #213 • http://www.cin.ufpe.br/~grvm/ • http://www.manifestgames.com/
Torus 3D Engine • Game engine specifically developed for mobile devices • BREW • BSP-based • Small footprint, fixed-point math • Exporters for 3dsmax • BSD License • http://www.imersiva.com/torus3d.php • http://sourceforge.net/projects/torus-3d
Cube Engine • Single- and multi-player FPS engine • Simple, but not necessarily resource-conscious • Windows Mobile, Intel XScale • Zlib/libpng License • http://www.cubeengine.com/cube_intel_pda/
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 • http://glutes.sourceforge.net
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 • http://www.khronos.org/opengles/documentation/gles-1.0c.tgz
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 • http://developer.hybrid.fi/dgles/index.html • http://sourceforge.net/projects/dgles
Misc. Applications & Libraries • Khronos Coding Contest Entries • http://www.khronos.org/developers/resources/opengles/ • Fogron • Tron-style game • http://www.podvlivem.net/fogron • DOGLESS • OpenGL wrapper on top of OpenGL ES API • http://opensource.dylogic.com/DOGLESS/Articles/About.html • Klimt ES • OpenGL wrapper on top of OpenGL ES API, used by PocketBlender • Contact Daniel Wagner
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. 2003 right after release of OpenGL ES specification • Conformance submission January 2006 • http://sourceforge.net/projects/ogl-es • BSD License
Project Adoption ~2000 downloads of binaries for last release; 2/3 Windows, 1/3 Linux All time 24,669 downloads
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
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) • http://sourceforge.net/projects/ogles2
What’s next? • Timeline • Alpha release of runtime Siggraph • Integrate shader language compiler 3Q06 • Fully stable release 1Q07 • Outlook • Piecewise conversion to system model • Verilog • Interested? • Get involved! • http://ogles2.sourceforge.net
Questions? http://ogl-es.sourceforge.net http://ogles2.sourceforge.net