Things are going pretty well now. One thing to remember is to invert your texture V coordinates when loading an OBJ, because bitmaps have their "V" origin at upper left, as opposed to lower-left. This is with the default (Blender) settings; you can do UV inversion in your modelling tool as well.
One thing we realized during this last set of commits, is that we are now pretty well insulated from any direct GL calls:
VertexBufferObject
, Framebuffer
, Texture
, Shader
) has an AGE wrapper.Shader
.Material
and RenderContext
.Geometry
.DrawableGameObject
(which uses all-of-the-above).So if we stick to those, we won't ever have to worry about accessing the GLES20
class for anything in our game code!
That is all Good News, now for some Bad News: we are raising the API level to 14. This will probably upset some of you, but this just makes it easier for us, since they fixed some GL-related API signatures related to VBOs, and just the general UI enhancements. For example, we are now providing you with GameplayFragment
without compatibility library. This is the preferred way to deploy AGE in your app moving forward, so that way you can manage everything from a single Activity
of your choosing without having to use GameplayActivity
.
In our opinion, since there's no native code in AGE, the faster the CPU (and GPU), the better AGE runs. Garbage Collection is inevitable, and the faster it can run, the better. Fortunately most GC is concurrent, but a stop-the-world collection can happen, to the tune of 200-300ms, most likely creating a "hiccup" in otherwise smooth action.
We are mostly filling-in the documentation at this point, expect a release in the Files section soon!