###当同时满足以下2个条件:
- Ios10。
- Iphone6s以及以后的机型。
###2个条件缺一不可。
###在游戏中,很容易崩溃,崩溃处指针指向layerColor的ondraw函数的glDrawArray这一行。
###目前已经遇到有3个人和我有相同的问题。
###我的引擎版本3.5,另外2个小伙伴是3.1和3.5
###当同时满足以下2个条件:
###2个条件缺一不可。
###在游戏中,很容易崩溃,崩溃处指针指向layerColor的ondraw函数的glDrawArray这一行。
###目前已经遇到有3个人和我有相同的问题。
###我的引擎版本3.5,另外2个小伙伴是3.1和3.5
void PolygonBatch::flush ()
这个接口里的
修改成这样
//这几句注释掉
// GL::bindVAO(0);
// glEnableVertexAttribArray(GLProgram::VERTEX_ATTRIB_POSITION);
// glEnableVertexAttribArray(GLProgram::VERTEX_ATTRIB_COLOR);
// glEnableVertexAttribArray(GLProgram::VERTEX_ATTRIB_TEX_COORDS);
//加上这句
GL::enableVertexAttribs(GL::VERTEX_ATTRIB_FLAG_POSITION | GL::VERTEX_ATTRIB_FLAG_COLOR | GL::VERTEX_ATTRIB_FLAG_TEX_COORD);
试试这样
我已经解决了,根本原因是因为,我用了spine
但是那个版本的spine在渲染那个地方有个问题:
渲染的地方有2种GL函数,一种是GL本身的,一种是引擎封装过的,引擎里面都用的封装过的版本,但是唯独spine那个地方,用的是GL本身的版本,导致GL的一个状态没有清理正确,用封装过的版本就好了。
后面的引擎版本,好像重写了这一部分渲染,不确定还有不有这个问题