Post on 05-Jan-2016
description
© Copyright Khronos Group, 2006 - Page 1
Open Source ProjectsOpen Source Projectsaround the OpenGL ES APIaround the OpenGL ES API
Hans-Martin WillProject Lead, Vincent
© Copyright Khronos Group, 2006 - Page 2
OverviewOverview• 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, 2006 - Page 3
Pocket BlenderPocket 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/
© Copyright Khronos Group, 2006 - Page 4
Quake 3 ArenaQuake 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
© Copyright Khronos Group, 2006 - Page 5
OGRE Game EngineOGRE 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/
© Copyright Khronos Group, 2006 - Page 6
Torus 3D EngineTorus 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
© Copyright Khronos Group, 2006 - Page 7
Cube EngineCube 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/
© Copyright Khronos Group, 2006 - Page 8
GLUT ESGLUT 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
© Copyright Khronos Group, 2006 - Page 9
OpenGL ES 1.0 Sample Reference OpenGL ES 1.0 Sample Reference ImplementationImplementation• 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
© Copyright Khronos Group, 2006 - Page 10
Desktop OpenGL ESDesktop 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
© Copyright Khronos Group, 2006 - Page 11
Misc. Applications & LibrariesMisc. 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
© Copyright Khronos Group, 2006 - Page 12
© Copyright Khronos Group, 2006 - Page 13
Vincent 3D Rendering Library for Vincent 3D Rendering Library for Mobile DevicesMobile 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
© Copyright Khronos Group, 2006 - Page 14
Project AdoptionProject Adoption
~2000 downloads of binaries for last release;2/3 Windows, 1/3 Linux
All time 24,669 downloads
© Copyright Khronos Group, 2006 - Page 15
Dynamic Compilation TechnologyDynamic Compilation Technology
© Copyright Khronos Group, 2006 - Page 16
What is it used for?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, 2006 - Page 17
Vincent3D Rendering LibraryVincent3D 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
© Copyright Khronos Group, 2006 - Page 18
Refresher: OpenGL ES 2.x PipelineRefresher: OpenGL ES 2.x Pipeline
© Copyright Khronos Group, 2006 - Page 19
Compilation ProcessCompilation Process
© Copyright Khronos Group, 2006 - Page 20
What’s next?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
© Copyright Khronos Group, 2006 - Page 21
Questions?Questions?
http://ogl-es.sourceforge.net
http://ogles2.sourceforge.net