首页 > 解决方案 > 如何检索 MTKView/UIView/NSView 使用的当前纹理

问题描述

我想复制 MTKView(或 UIView 或 NSView)的屏幕。如何检索实际用于绘制此 MTKView 内容的当前可绘制对象(或纹理)?如果我使用 currentDrawable 那么我检索到的纹理不是实际的(已经太旧了)

标签: iosobjective-cmacosmetalmetalkit

解决方案


您可以注册一个完成处理程序:

[commandBuffer addCompletedHandler:^(id<MTLCommandBuffer> cb) 
{
    id<MTLTexture> texture = view.currentDrawable.texture;
    /* ... */
}];

为了获得更好的性能,请尽快发布可绘制对象。


推荐阅读