ios - OpenGl ES 3.0 Context not created on iPad (works in Simulator) -
i'm working on cross platform renderer pc (windows, linux, mac) , ios. ios part built around opengl es 2.0 , wanted upgrade es 3.0. replaced following line (that works)
context = [[eaglcontext alloc] initwithapi:keaglrenderingapiopengles2];
with line:
context = [[eaglcontext alloc] initwithapi:keaglrenderingapiopengles3];
... , included opengles/es3/gl.h , opengles/es3/glext.h.
in simulator works fine running on actual ipad doesn’t work anymore , context nil.
i don’t know i’m missing here since ipad running newest version of ios (ios 8.3) , shouldn't have problems es 3.0. don’t errors , can’t debug (“step into” doesn’t seem work here).
the features opengl es 3 adds on opengl es 2 hardware dependent, can create es3 context on hardware supports it. if nil
when creating context, need fall rendering opengl es 2.
the ios hardware supports es3 a7 or better gpu. that's ipad air, ipad air 2, ipad mini 2 & 3, iphone 5s, 6, & 6 plus... , presumably comes later.
note gpu requirement es3 same metal, if you're going multiple renderers fallback path anyway might want go all-out best possible performance devices.
note many of features part of core opengl es specification in es3 still available in ios extensions under es2. can stick es2 , support devices if you're looking for, say, instancing.
Comments
Post a Comment