前几天写了个3D shader,把我坑了个惨。不知道是为什么,cocos2d-x将3D shader中的纹理坐标作了上下颠倒,而2D坐标却是正常的。对此我很是不解。
下面是shader@H_403_3@ccShader_3D_PositionTex.vert的部分源码:
void main()
{
vec4 position = getPosition();
gl_Position = CC_MVPMatrix * position;
TextureCoordOut = a_texCoord;
TextureCoordOut.y = 1.0 - TextureCoordOut.y; //y值做了上下颠倒
}