Ios 如何通过编程获得最大纹理大小(宽度和高度)
如何通过编程获得金属的最大纹理大小(宽度和高度)?使用openGL我可以做到:Ios 如何通过编程获得最大纹理大小(宽度和高度),ios,swift,textures,metal,metalkit,Ios,Swift,Textures,Metal,Metalkit,如何通过编程获得金属的最大纹理大小(宽度和高度)?使用openGL我可以做到:glGetIntegerv(GL\u MAX\u TEXTURE\u SIZE,…)但是如何使用金属?目前没有用于检索金属设备最大纹理尺寸的API。有关此信息,请咨询,并将其包含在应用程序中 对于运行当前版本iOS/tvOS/iPadOS的A9和更新的GPU,2D纹理的最大大小为16384×16384。正如@warrenm所提到的,通过编程无法获得设备支持的最大纹理大小。但是,以下代码将根据设备类型为您提供硬编码大小
glGetIntegerv(GL\u MAX\u TEXTURE\u SIZE,…)
但是如何使用金属?目前没有用于检索金属设备最大纹理尺寸的API。有关此信息,请咨询,并将其包含在应用程序中
对于运行当前版本iOS/tvOS/iPadOS的A9和更新的GPU,2D纹理的最大大小为16384×16384。正如@warrenm所提到的,通过编程无法获得设备支持的最大纹理大小。但是,以下代码将根据设备类型为您提供硬编码大小
int maxTexSize = 4096;
if ([mtldevice supportsFeatureSet:MTLFeatureSet_iOS_GPUFamily4_v1] || [mtldevice supportsFeatureSet:MTLFeatureSet_iOS_GPUFamily3_v1]) {
maxTexSize = 16384;
else if ([mtldevice supportsFeatureSet:MTLFeatureSet_iOS_GPUFamily2_v2] || [mtldevice supportsFeatureSet:MTLFeatureSet_iOS_GPUFamily1_v2]) {
maxTexSize = 8192;
} else {
maxTexSize = 4096;
}
@当然,你为什么说我从不接受答案?因为看了你的个人资料,我发现你最后10个问题都不被接受。