gpt4 book ai didi

ios - 如何将 `CVOpenGLESTextureCacheRef` 转换为 `CVMetalTextureCacheRef` ?

转载 作者:行者123 更新时间:2023-11-29 05:39:25 27 4
gpt4 key购买 nike

我需要将 GPUImage pod 中的以下代码从 OpenGL 转换为 Metal,可以吗?

CVReturn err = CVOpenGLESTextureCacheCreate(kCFAllocatorDefault, NULL, [self context], NULL, &_coreVideoTextureCache);

我尝试了以下代码,但它不起作用。

CVMetalTextureCacheRef CV_NULLABLE * CV_NONNULL _coreMetalVideoTextureCache = (CVMetalTextureCacheRef CV_NULLABLE * CV_NONNULL)_coreVideoTextureCache;
CVReturn err = CVMetalTextureCacheCreate(kCFAllocatorDefault, NULL, MTLCreateSystemDefaultDevice(), NULL, _coreMetalVideoTextureCache);

最佳答案

您的指针转换不正确。您可以直接传递 CVMetalTextureCacheRef 的地址:

CVMetalTextureCacheRef coreMetalVideoTextureCache = NULL;

CVReturn err = CVMetalTextureCacheCreate(kCFAllocatorDefault,
NULL,
MTLCreateSystemDefaultDevice(),
NULL,
&coreMetalVideoTextureCache);

这确实假设您正在物理设备上运行。这在 iOS 13 和 macOS 10.15 之前的 iOS 模拟器中不起作用。

关于ios - 如何将 `CVOpenGLESTextureCacheRef` 转换为 `CVMetalTextureCacheRef` ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56699080/

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