iOS MTKView(Metal Kit 视图)绘制的图像没有适当的比例
iOS MTKView (Metal Kit view) draws image without proper scale
我不明白为什么 MTKView 不使用设备的比例。
我有一个 Retina 设备:2 倍比例,MTKView.bounds 400x200,CIImage 大小为 800x400,但它只绘制图像的左下四分之一。
奇怪的 drawableSize returns 边界大小 (400x200)。
这是我使用的代码:
id<MTLTexture> targetTexture = self.currentDrawable.texture;
id<MTLCommandBuffer> commandBuffer = [commandQueue commandBuffer];
[ctx render:coreImage toMTLTexture:targetTexture commandBuffer:commandBuffer bounds:self.bounds colorSpace:colorSpace];
[commandBuffer presentDrawable:self.currentDrawable];
[commandBuffer commit];
找到了。我只需要使用 MTKView 的方法 setDrawableSize 到我想要的缩放尺寸:
[self setDrawableSize:coreImage.extent.size];
我不明白为什么 MTKView 不使用设备的比例。
我有一个 Retina 设备:2 倍比例,MTKView.bounds 400x200,CIImage 大小为 800x400,但它只绘制图像的左下四分之一。
奇怪的 drawableSize returns 边界大小 (400x200)。
这是我使用的代码:
id<MTLTexture> targetTexture = self.currentDrawable.texture;
id<MTLCommandBuffer> commandBuffer = [commandQueue commandBuffer];
[ctx render:coreImage toMTLTexture:targetTexture commandBuffer:commandBuffer bounds:self.bounds colorSpace:colorSpace];
[commandBuffer presentDrawable:self.currentDrawable];
[commandBuffer commit];
找到了。我只需要使用 MTKView 的方法 setDrawableSize 到我想要的缩放尺寸:
[self setDrawableSize:coreImage.extent.size];