cocos3d のEXC_ARM_DA_ALIGNエラーに対処
@implementation CC3VertexArray
........
-(void) alignWithInvertedTextureMapSize: (CGSize) texMapSize {
.......
ccTex2F* ptc = (ccTex2F*)[self addressOfElement: i];
ptc->u *= mapRatio.width; // <----ここでエラー
ptc->v = texMapSize.height - (ptc->v * mapRatio.height); // <----ここでエラー
ARM CPUのアライメントに関するエラーらしい。
回避方法はmemcpyの使用。
GLfloat _u;
memcpy(&_u, &ptc->u, sizeof(GLfloat));
_u *= mapRatio.width;
memcpy(&ptc->u, &_u, sizeof(GLfloat));GLfloat _v;
memcpy(&_v, &ptc->v, sizeof(GLfloat));
_v = texMapSize.height - (_v * mapRatio.height);
memcpy(&ptc->v, &_v, sizeof(GLfloat));