[Bf-committers] OpenGL ES 1.1 or 2.0 for mobile

Alexandr Kuznetsov kuzsasha at gmail.com
Mon Jun 4 05:11:55 CEST 2012


I'm working on Android port for GSOC.

For me, this is critical point of choosing between two OpenGL ES as they
are not compatible. I'm leaning towards ES 2.0 for couple of reasons. Here
the pros and cons of both:

OpenGL ES 1.1
Pros:

   1. 85% compatible with current code
   2. ~2 week of work for BGE

Cons:

   1. Only fixed limited pipeline without shaders
   2. Not compatible with ES 2.0 (not easily added)
   3. Next 10% copy and pasting corrections with ugly #ifdef


OpenGL ES 2.0
Pros:

   1. Shaders
      1. More flexible
      2. Faster
   2. Reuse some existing GLSL
   3. Possible user shader control/extensions
   4. Future of mobile
   5. Future of desktop graphics (GL 3.0+)
      1. Encapsulation of the drawing code
      2. Shader oriented code
      3. Goes nicely with Wilkins's goal
   6. OpenGL ES 1.1 can be added back easily through a "class"

Cons:

   1. 75%  compatible
   2. ~7 weeks of work (for encapsulation and BGE), (but then it should be
   fast as we would have shaders manager and setters nicely abstracted.)




If we would like eventually switch to OpenGL ES 2.0 for mobile, there is no
better time than now. ES 2.0 implies using only shaders, which is not
compatible with blender current model. I don't want to fix OpenGL ES
without abstraction  in order, after a month, to be rewritten by myself and
Jason. With ES 2.0 I will write a matrices and parameters encapsulations to
use shaders.
Want to hear your opinions.

Thanks,
Alex.


More information about the Bf-committers mailing list