0
我使用OpenGL创建了一个简单的正方形网格,我希望这样当用户点击一个正方形时,它会翻转(我有此代码工作) Y轴。但是因为透视原点/消失点位于屏幕的中心,所以旋转看起来不像原来的平面中心那样。透视变换透视原点在OpenGL/GLKit
下面是所有正方形旋转0.5弧度(约30度)的图像。中央广场是正确的旋转,但我希望所有其他广场有他们的观点相对于他们的中心点,而不是屏幕的中心点(目前他们看起来变成了,我不想):
下面是如何创建的投影&视图矩阵(适用于所有的平方):
float aspect = fabsf(self.view.bounds.size.width/self.view.bounds.size.height);
_projectionMatrix = GLKMatrix4MakePerspective(GLKMathDegreesToRadians(65.0f), aspect, 0.1f, 100.0f);
_viewMatrix = GLKMatrix4MakeTranslation(0, 0, -5);
这里就是我如何创建一个模型矩阵为每平方:
GLKMatrix4 modelMatrix = GLKMatrix4MakeTranslation(tile.x, tile.y, 0);
modelMatrix = GLKMatrix4RotateY(modelMatrix, 0.5f);