Question

J'ai un peu la configuration du projet en utilisant OpenGL et Core Video. Je rends à un FBO et l'utiliser comme une texture pour d'autres parties du Programm, mais il serait plus agréable de passer cette référence Texture sous forme d'un CVOpenGLTextureRef. Mais je ne peux pas trouver tout doumentation utile comment créer ce type de données à partir d'un nom texture et Target (sans copier les données).

Était-ce utile?

La solution

Si je comprends bien, lire données à partir d'un contexte OpenGL, vous devez utiliser un CVOpenGLBufferRef (qui est un type de CVImageBufferRef). Les demandes de documentation que ces wrap pbuffers, mais je suppose qu'ils travaillent avec les organisations confessionnelles. Je ne l'ai pas essayé.

render les données d'un CVOpenGLBufferRef, vous devez dessiner une texture à l'aide d'un CVOpenGLTextureCacheRef, qui gère un ensemble de CVOpenGLTextureRefs.

Si vous voulez seulement ne pas tirer le contenu du tampon non modifiés, il est probablement plus efficace de travailler dans OpenGL. (Notez que vous pouvez partager des textures / tampons entre les contextes en utilisant des groupes d'actions, le cas échéant.)

Si vous avez besoin de mélanger des tampons autour entre contextes, et ne veulent pas tout ce que l'abstraction de haut niveau moelleux et de la documentation utile que vous obtenez avec Core Video, vous voudrez peut-être regarder dans IOSurface et CGLIOSurface.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top