Ios 将OpenGL转换矩阵转换为在CATTransferMLlayer上工作

Ios 将OpenGL转换矩阵转换为在CATTransferMLlayer上工作,ios,opengl-es,matrix-multiplication,catransform3d,catransformlayer,Ios,Opengl Es,Matrix Multiplication,Catransform3d,Catransformlayer,我一直在为一个项目使用。基本上,这个SDK为它识别的图像传回一组标记,以及一个相关的OpenGL矩阵变换,该变换勾勒出标记图像在iPhone相机视图的3D空间中的位置。我想做的是将一个catTransferMLlayer映射到场景中,使其在标记图像上显示正确的方向,并在该位置播放视频。我想我可以使用AVPlayerLayer来实现这一点,它位于CATransformLayer中,应用了矩阵变换(转换为CATransform3D) 据我所知,这并不特别有效-我似乎无法在原始OpenGL矩阵和CAT

我一直在为一个项目使用。基本上,这个SDK为它识别的图像传回一组标记,以及一个相关的OpenGL矩阵变换,该变换勾勒出标记图像在iPhone相机视图的3D空间中的位置。我想做的是将一个
catTransferMLlayer
映射到场景中,使其在标记图像上显示正确的方向,并在该位置播放视频。我想我可以使用
AVPlayerLayer
来实现这一点,它位于
CATransformLayer
中,应用了矩阵变换(转换为
CATransform3D

据我所知,这并不特别有效-我似乎无法在原始OpenGL矩阵和
CATTransformM3D
后面的矩阵之间获得逻辑映射

您可以看到,在标记转换和
catTransform3d
对象之间进行直接转换时非常混乱(蓝色位是我的图层):

我假设它们是相同的(我被告知过几次,由于
CALayer
GL支持,它们是相同的)。这是真的吗?我错过什么了吗

我可以回头将视频作为纹理渲染到场景中,但如果可能的话,最好保持高水平-有任何想法/评论/想法吗?

尝试查看答案。它应该可以满足您的需要。

可能的副本