OpenGL Mobile Compatibility and Android Port

Alexandr Kuznetsov

Abstract

This project aims to made OpenGL slightly faster and compatible with OpenGL ES in order to port Blender Player to Android. This would include port of libs, ghost and build infrastructure. At the end Blender Games can be played on Android.

Additional Information

Synopsis

Historically Blender used immediate OpenGL mode, which has two major disadvantages.  First, Blender makes a lot of simple calls to OpenGL, which is inefficient. Also OpenGL ES for mobile don't support immediate mode. OpenGL ES wrappers would make calls even slower. My projects is concern with eliminating immediate calls in order to port blenderplayer to android and make OpenGL faster. This would made blender games available on android for users, potentially attracting mobile game developers. Also, this project can be used as a foundation for complete port of Blender to Android tablet. Because iDevices also use OpenGL ES, Blender can be potentially ported to them (trough jailbreak due to numerous Apple restrictions). All users will benefit from faster UI and 3D viewport.

 

Deliverables

  • OpenGL Rewrite
    • Some OpenGL calls will be faster
    • Blenderplayer and part of Blender is compatible with OpenGL ES 2.0
      • Easier ports to other mobile devices
  • Blenderplayer ported to Android
    • Blender Games can be deployed to Android
    • Blender Internal can be used as render farm on Android

 

Code samples