Questions reguarding BGE

I have been working in UDK recently and I think I’ve been burned by it’s limitations one time too many. Limitations that mostly stem from the proprietary nature of the tool. Not having much control over asset importing and texture formats has been a major limitation. So, I’d like to give BGE a try, but I’m having problems finding answers to some of the most obvious (I think) questions.

Questions like:

  • What version of OpenGL/GLSL does BGE support? Is it normal OpenGL or is it OpenGL ES?
  • What types of shaders are supported? Vertex, fragment, geometry?
  • Are all features of GLSL accessible?
  • What types of texture formats are supported?

I tried searched on Google, and I even looked through the official documentation. Maybe I’m incompetent, but it seems like the information I’m looking for may be somewhat elusive.

It’s OpenGL 2, (I’m not sure which minor version, but it states it in the console when you start the program). ES 2.0 is supported for Android, but It’s not a fully functional wrapper yet.
All 2.0 features are available.
DDS compressed, PNG, JPEG, BMP and a few others can be used.

It supports vertex and fragment,no geometry right now,though it is on works.

Hmm GL2.1 (assuming) is a little disappointing, and I was actually referring to what texture formats are supported, not what file types are supported. E.g, does it support floating point and 16-bit integer texture formats, etc. I really want an engine that is flexible, but I want to avoid having to write one from the ground up. At this point I’m not sure if it would be easier to adapt BGE to my needs or start from scratch.