0

現在、OpenGL を使用して QTMovie のフレームを NSOpenGLView に表示しています。そのために、次のコードでテクスチャ コンテキストを作成しています。

// Called from a subclass of NSOpenGLView
QTOpenGLTextureContextCreate(kCFAllocatorDefault,
                             (CGLContextObj)[[self openGLContext] CGLContextObj],
                             (CGLPixelFormatObj)[[self pixelFormat] CGLPixelFormatObj],
                             NULL, &_textureContext);

次に、ビジュアル コンテキストをムービーに割り当てて、フレームをそのコンテキストに描画します。私はこのビットで実際のフレームを取得しています:

OSStatus status = QTVisualContextCopyImageForTime(_textureContext, kCFAllocatorDefault,
                                                      NULL, &_currentFrameTex);

_currentFrameTexCVOpenGLTextureRef です。

1 つのビューではすべて正常に動作しますが、同じフレームを 2 番目のビューに描画したいのですが、その方法が想像できません。

それを行う最も簡単な方法は何ですか?もちろん、1 秒あたり 60 回 (少なくとも) 呼び出されるため、パフォーマンスも優れている必要があります。

4

1 に答える 1