首页 > 解决方案 > 在 Metal 中从 IOSurface 获取纹理

问题描述

我正在尝试从金属表面获取纹理 ID。

我有两个问题 1.那个函数没有定义

GLint glTextureID = CGLTexImageIOSurface2D(self.mEAGLContext, GL_TEXTURE_2D, GL_RGBA , textureWidth, textureHeight, GL_RGBA , GL_UNSIGNED_BYTE, ioSurface, 0);

我试图包含它#import OpenGL/CGLIOSurface.h,但 xcode 无法识别它,它不存在。

是否有任何其他方法可以从 ios, metal 中的 iosurface 获取纹理 ID?

标签: iosobjective-copengl-es-2.0metal

解决方案


在我的软件中,以下行引入了请求的函数:

#include <OpenGL/CGLIOSurface.h>

此头文件位于我的 xcode 安装中的以下位置:

/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/OpenGL.framework/Versions/A/Headers/CGLIOSurface.h

请注意,我使用的是 MacOS SDK。也许 iOS 不支持 GL/IOSurface 共享?


推荐阅读