【问题标题】:Converting an OpenGL transformation matrix to work on a CATransformLayer将 OpenGL 转换矩阵转换为在 CATransformLayer 上工作
【发布时间】:2011-08-05 15:17:36
【问题描述】:

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

据我所知,这并不是特别好——我似乎无法在原始 OpenGL 矩阵和CATransform3D 后面的矩阵之间找到逻辑映射。

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

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

我可以退回来将我的视频作为纹理渲染到场景中,但如果可能的话,保持高水平会很棒 - 有什么想法/cmets/想法吗?

【问题讨论】:

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


【解决方案1】:

尝试查看this 的答案。它应该满足您的需求。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-11
    • 2019-03-05
    • 2011-01-01
    • 1970-01-01
    相关资源
    最近更新 更多