我一直在为项目使用Augmented Reality SDK from String。基本上,这个SDK会传回它识别的图像的一堆标记,以及一个关联的OpenGL矩阵变换,它描绘了标记图像在iPhone的摄像机视图中位于3D空间中的位置。我要做的是将CATransformLayer
映射到场景,使其在标记图像上正确定向并在其中播放视频。我认为我可以使用位于AVPlayerLayer
内的CATransformLayer
来执行此操作,该CATransform3D
具有应用于其的矩阵变换(转换为CATransform3D
)。
我能说的最好,这个效果不太好 - 我似乎无法在原始OpenGL矩阵和CATransform3D
后面的矩阵之间得到逻辑映射。
您可以看到,在标记变换和CALayer
对象之间进行直接转换(蓝色位是我的图层)时,它非常混乱:
我认为它们是相同的(我被告知几次由于{{1}} GL支持它们是相同的)。这是真的?我错过了什么吗?
我可以放弃将我的视频作为纹理渲染到场景中,但如果可能的话,保持高水平会很棒 - 任何想法/评论/想法?