AR (拡張現実) は、現在すべての iOS 開発者が注目しているようです。私は非常に古典的なペット プロジェクトで遊んでいます。サイコロをテクスチャで転がし、可能であればカメラ ストリームをサイコロ面に流します。この最後の部分でいくつかの問題に直面しており、専門家にいくつか質問があります。
ビデオ ストリームを取得するには、AV Foundation が必要ですAVCaptureVideoDataOutputSampleBufferDelegate
。画像バッファを取得してから、UIImage
Quartz のような関数を使用して構築しCGBitmapContextCreate
ます。これは、 http://www.benjaminloulier.com/articles/ios4-and-direct-access-to-the-cameraまたは Apple AV Foundation Programming Guide で示されています ( https://developer.apple.com/libraryを参照)。 /ios/#documentation/AudioVideo/Conceptual/AVFoundationPG/Articles/04_MediaCapture.html#//apple_ref/doc/uid/TP40010188-CH5-SW30 )
次に、「静止」画像で行ったのと同じようにテクスチャを作成し、GLKBaseEffect
(またはシェーダー?) で使用できます。
質問 1:GLKBaseEffect
とても素晴らしくシンプルに見えますが、OpenGL 2 とシェーダーを目指すべきですか?
現在、Apple の RosyWriter デモでは、Core VideoCVOpenGLESTextureCacheCreateTextureFromImage
関数を使用して、仲介者を作成せずにテクスチャを直接バインドしていUIImage
ます。これは、デモの説明で述べたように、IOS 5 の新機能です。
質問 2: これはテクスチャをマッピングするためのより良い方法ですか?
質問 3: GPUImage や 3D ゲーム フレームワークなど、いくつかの興味深いフレームワークも使用できます。これらの使用に関するフィードバックはありますか? Apple が提供するフレームワークは、これまでのところ非常に完成度が高いように思えます。
どうもありがとう !