gpt4 book ai didi

cocoa - 如何从 OpenGL 纹理创建 CVOpenGLTextureRef

转载 作者:行者123 更新时间:2023-12-03 16:44:14 24 4
gpt4 key购买 nike

我有一个使用 OpenGL 和 Core Video 的小项目设置。我渲染到 FBO 并将其用作程序其他部分的纹理,但以 CVOpenGLTextureRef 的形式传递此纹理引用会更好。但我找不到任何有用的文档如何从纹理名称和目标创建此数据类型(不复制任何数据)。

最佳答案

据我了解,要从 OpenGL 上下文中读取数据,您需要使用 CVOpenGLBufferRef (这是一种 CVImageBufferRef )。文档声称这些包装 pbuffer,但我猜它们可以与 FBO 一起使用。我没试过。

渲染来自CVOpenGLBufferRef的数据,您需要使用CVOpenGLTextureCacheRef将其绘制到纹理,它管理一组CVOpenGLTextureRefs。

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

如果您确实需要在上下文之间调整缓冲区,并且不想要通过 Core Video 获得的所有蓬松的高级抽象和有用的文档,您可能需要研究 IOSurface 和 CGLIOSurface。

关于cocoa - 如何从 OpenGL 纹理创建 CVOpenGLTextureRef,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5802672/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com