【问题标题】:get CATransform3D from Projection and ModelView matrices从 Projection 和 ModelView 矩阵获取 CATransform3D
【发布时间】:2012-06-11 14:57:56
【问题描述】:

How to get CATransform3D from Projection and ModelView matrices

我以前浏览过这个问题,网址;但不是绝对准确;我想知道为什么不准确;

我发现x-axis和y-axis的旋转是相反的(我不能发布图像);梯形(当旋转calayer时,它就像一个梯形)是相反的,dose calayer rotate is not像opengl?但是z轴旋转是对的。

我想得到角度然后反向旋转两次;如何通过opengl矩阵得到角度?

我想播放 QCAR 的电影;我可以得到opengl矩阵,我想用UIView来播放电影和其他(熟悉UIView),并使UIview像Texture。

【问题讨论】:

    标签: opengl-es core-animation qcar-sdk


    【解决方案1】:

    我只是在QCAR论坛上发布了一个例子,你可以查看详细信息here

    这个想法很简单。

    1.我不使用avassetreader读取视频像素,而是使用可以播放远程视频文件的AVPlayer和AVPlayerLayer。

    2.我需要将 opengl modelview 矩阵转换为 CATransform3D,以便 AVPlayerLayer 将附加在可跟踪的图像上。感谢 Hammer on stackoverflow,他分享了一个有关如何制作的示例。

    3.我尝试同时使用opengl和AVPlayerLayer渲染相机背景,但是性能不够好,所以我使用另一个calayer渲染相机背景。 1.5.8 获​​取相机框架时有一个错误,感谢andersfrank 问题在这里解决了。

    我把我的代码放在 pastebin 上:

    http://pastebin.com/kmeVZ7jy

    还有一些问题需要解决,但我认为这是一个正确的方法。

    PS。对于我原帖中的问题3,你可以通过set来修复它

            cameraLayer.contentsGravity = kCAGravityResizeAspectFill;
    

    这将解决相机图像的宽高比与iphone屏幕不同的问题。

    更新

    所有问题都解决了,请查看我在vuforia和pastebin上的原帖。

    【讨论】:

      猜你喜欢
      • 2011-08-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-23
      相关资源
      最近更新 更多