Ios 将OpenGL转换矩阵转换为在CATTransferMLlayer上工作
我一直在为一个项目使用。基本上,这个SDK为它识别的图像传回一组标记,以及一个相关的OpenGL矩阵变换,该变换勾勒出标记图像在iPhone相机视图的3D空间中的位置。我想做的是将一个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
catTransferMLlayer
映射到场景中,使其在标记图像上显示正确的方向,并在该位置播放视频。我想我可以使用AVPlayerLayer
来实现这一点,它位于CATransformLayer
中,应用了矩阵变换(转换为CATransform3D
)
据我所知,这并不特别有效-我似乎无法在原始OpenGL矩阵和CATTransformM3D
后面的矩阵之间获得逻辑映射
您可以看到,在标记转换和catTransform3d
对象之间进行直接转换时非常混乱(蓝色位是我的图层):
我假设它们是相同的(我被告知过几次,由于CALayer
GL支持,它们是相同的)。这是真的吗?我错过什么了吗
我可以回头将视频作为纹理渲染到场景中,但如果可能的话,最好保持高水平-有任何想法/评论/想法吗?尝试查看答案。它应该可以满足您的需要。可能的副本