我有一个使用OpenGL和Core视频的小项目设置。我将其渲染到FBO,并将其用作程序中其他部分的纹理,但是以Cvopengltextureref的形式传递此纹理参考会更好。但是我找不到任何有用的求婚方法如何从纹理名称和目标创建此数据类型(而无需复制任何数据)。

有帮助吗?

解决方案

据我了解, 来自OpenGL上下文的数据,您需要使用 CVOpenGLBufferRef (这是一种 CVImageBufferRef)。该文档声称这些包裹了pbuffers,但我想它们与FBO一起使用。我没有尝试过。

使成为 来自一个的数据 CVOpenGLBufferRef, ,您需要使用 CVOpenGLTextureCacheRef, ,管理一组 CVOpenGLTextureRefs。

如果您只想绘制未修改的缓冲液内容,则在OpenGL中工作可能更有效。 (请注意,您可以在必要时使用共享组共享上下文之间的纹理/缓冲区。)

如果您确实需要在上下文之间调整缓冲区,并且不希望使用核心视频获得的所有蓬松的高级抽象和有用的文档,则可能需要研究iosurface和cgliosurface。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top