cocos2d-x 的模型视图矩阵疑问

在 Director类中 的setProjection()函数中:

case Projection::_3D:
{
float zeye = this->getZEye();

        Mat4 matrixPerspective, matrixLookup;


        loadIdentityMatrix(MATRIX_STACK_TYPE::MATRIX_STACK_PROJECTION);

#if CC_TARGET_PLATFORM == CC_PLATFORM_WP8
//if needed, we need to add a rotation for Landscape orientations on Windows Phone 8 since it is always in Portrait Mode
GLView* view = getOpenGLView();
if(getOpenGLView() != nullptr)
{
multiplyMatrix(MATRIX_STACK_TYPE::MATRIX_STACK_PROJECTION, getOpenGLView()->getOrientationMatrix());
}
#endif
// issue #1334
Mat4::createPerspective(60, (GLfloat)size.width/size.height, 10, zeye+size.height/2, &matrixPerspective);

        multiplyMatrix(MATRIX_STACK_TYPE::MATRIX_STACK_PROJECTION, matrixPerspective);


        Vec3 eye(size.width/2, size.height/2, zeye), center(size.width/2, size.height/2, 0.0f), up(0.0f, 1.0f, 0.0f);
        Mat4::createLookAt(eye, center, up, &matrixLookup);
        multiplyMatrix(MATRIX_STACK_TYPE::MATRIX_STACK_PROJECTION, matrixLookup);

        loadIdentityMatrix(MATRIX_STACK_TYPE::MATRIX_STACK_MODELVIEW);
        break;
    }

这里面求得的matrixLookup(模型视图矩阵)的矩阵值为: mat结构体前面0-12个元素不讨论(是默认值),mat = -widht/2; mat = -height/2; mat = -eye; opengl的世界坐标系原点在屏幕中心点,那mat = -eye是合理的, 但mat和mat为什么不是0呢?(因为cocos2d-x已经将的视点设置在屏幕中心了,只需要z方向移动就可以了,不知道为什么要移动x,y方向,让他移动到屏幕的左下角)。

没人指教一下,自己顶起

算了一个1:1的像素的平面,在这个平面,2D面片不会变形。