0

Projection および ModelView マトリックスから CATransform3D を取得する方法

以前にこの質問の URL を閲覧したことがありますが、完全に正確ではありませんでした。なぜ正確でないのか知りたい;</p>

x 軸と y 軸による回転が反対であることがわかりました(画像を投稿できません);台形(calayer を回転させると、台形のようになります)が反対です。dose calayer 回転は opengl とは異なりますか?しかし、z軸で回転するときは正しいです。

角度を取得して反対方向に 2 回回転させたいのですが、opengl 行列で角度を取得するにはどうすればよいですか?</p>

QCAR で映画を再生したい。私はopenglマトリックスを取得でき、UIViewを使用してムービーなどを再生し(UIViewに精通している)、UIviewをTextureのように作成したいと考えています。

4

1 に答える 1

0

I just post a example on QCAR forum, you can check the detail here

The idea is simple.

1.I don't use avassetreader to read the video pixel, instead I use AVPlayer and AVPlayerLayer which can play remote video file.

2.I need to convert opengl modelview matrix to CATransform3D so the AVPlayerLayer will attach on the trackable image.Thanks for Hammer on stackoverflow, he shared an example about how to make this.

3.I tried to render camera background use opengl and AVPlayerLayer at same time, but the performace is not good enough, so I use another calayer to render the camera background. There is a bug in 1.5.8 when getting camera frame, thank for andersfrank the problem was solved here.

I put my code on pastebin:

http://pastebin.com/kmeVZ7jy

There are still some problem need to solve, but I think this is a right approach.

PS. For question 3 in my original post, you can fix it by set

        cameraLayer.contentsGravity = kCAGravityResizeAspectFill;

This will fix the problem that the aspect ratio of the camera image is different with the iphone screen's.

Update

All the problem are solved, please check my original post on vuforia and pastebin.

于 2012-07-09T05:06:18.453 に答える