MetalKit-如何使用(MTKTextureLoader方法)newTextureWithContentsOfURL选项?

时间:2018-07-12 06:31:50

标签: objective-c macos metal metalkit

我正在尝试使用MetalKit API newTextureWithContentsOfURL为母牛创建纹理。

MTKTextureLoader *texture_loader = [[MTKTextureLoader alloc] initWithDevice:device];
NSURL *cow_image = [[NSBundle mainBundle] URLForResource:@"spot_texture" withExtension:@"png"];
NSError *error;
diffuse_texture = [texture_loader newTextureWithContentsOfURL:cow_image options:nil error:&error];

这是样本牛和我的牛的样子。

sample cow my cow

我不知道原因,但我认为该选项可能会有所帮助。

如何使用NSDictionary设置此选项?

1 个答案:

答案 0 :(得分:0)

基于此Objective-C Literals

MTKTextureLoader *texture_loader = [[MTKTextureLoader alloc] initWithDevice:device];
NSURL *cow_image = [[NSBundle mainBundle] URLForResource:@"spot_texture" 
withExtension:@"png"];
NSError *error;
diffuse_texture = [texture_loader newTextureWithContentsOfURL:cow_image options:@{ MTKTextureLoaderOptionSRGB : @true, MTKTextureLoaderOptionOrigin : @true} 
error:&error];