转换OpenGL转换矩阵以在CATransformLayer上工作

时间:2011-08-05 15:17:37

标签: ios opengl-es matrix-multiplication catransform3d catransformlayer

我一直在为项目使用Augmented Reality SDK from String。基本上,这个SDK会传回它识别的图像的一堆标记,以及一个关联的OpenGL矩阵变换,它描绘了标记图像在iPhone的摄像机视图中位于3D空间中的位置。我要做的是将CATransformLayer映射到场景,使其在标记图像上正确定向并在其中播放视频。我认为我可以使用位于AVPlayerLayer内的CATransformLayer来执行此操作,该CATransform3D具有应用于其的矩阵变换(转换为CATransform3D)。

我能说的最好,这个效果不太好 - 我似乎无法在原始OpenGL矩阵和CATransform3D后面的矩阵之间得到逻辑映射。

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

Screenshot of the current state of this issue

我认为它们是相同的(我被告知几次由于{{1}} GL支持它们是相同的)。这是真的?我错过了什么吗?

我可以放弃将我的视频作为纹理渲染到场景中,但如果可能的话,保持高水平会很棒 - 任何想法/评论/想法?

1 个答案:

答案 0 :(得分:0)

尝试查看this回答。它应该做你需要的。