10得票2回答
Alpha / 透明度和 MTKView?

我有一个 Metal 片段着色器,返回一些带 alpha 通道的透明颜色,我想在 MTKView 下面显示一个 UIView,但是我得到的唯一背景结果是黑色和“错误噪声”。 MTLRenderPipelineDescriptor: pipelineStateDescriptor.isAlp...

10得票1回答
如何在MTKView中使用多重采样?

我正在尝试让多重采样(multisampling)与 MTKView 协同工作。我有一个带有代理的 MTKView。我将视图的 sampleCount 属性设置为 4。我创建了一个管道状态描述符,其中 rasterSampleCount 设置为 4,并使用它来创建渲染管道状态,在渲染时使用该状...

10得票1回答
如何创建一个由CVPixelBuffer支持的MTLTexture

如何正确生成由CVPixelBuffer支持的MTLTexture? 我有以下代码,但似乎会导致内存泄漏: func PixelBufferToMTLTexture(pixelBuffer:CVPixelBuffer) -> MTLTexture { var texture:...

10得票2回答
MetalKit - Drawable.texture 断言错误

我刚接触 MetalKit,正试图将这篇教程从 playground 转换回 OSX 应用程序: import MetalKit public class MetalView: MTKView { var queue: MTLCommandQueue! = nil v...

10得票1回答
什么是Metal中的“color attachment”?

我假设颜色附件不仅存在于Metal(我知道OpenGL肯定也有),但我是新手图形编程,我想知道颜色附件的概念究竟是什么。我所做的所有绘画都涉及在颜色附件中的第一个 数组 上设置属性,然后进行渲染通道。颜色附件真的只是缓冲区吗?在渲染通道中使用多个附件的唯一目的是将同一图像绘制到多个缓冲区/纹理...

10得票2回答
金属纹理未找到。

每次实现基于Metal的ImageView时,我都会遇到同样的问题。let targetTexture = currentDrawable?.texture else{ return } 类型“MTLDrawable”的值没有成员“texture” 似乎苹果公司更改了一些 Metal...

10得票2回答
手动编译Metal着色器

我有兴趣远离Xcode,在一个混合语言应用程序的项目中手动编译Metal着色器。 我不知道怎么做。Xcode隐藏了着色器编译的细节以及在运行时将其加载到应用程序中(只需调用device.newDefaultLibrary())。这是否可行,还是我必须使用运行时着色器编译来实现我的目的?

10得票1回答
如何在iPhone 6 Plus上绘制像素完美的图形?

鉴于iPhone 6 Plus正在从1242x2208缩放到1080x1920,并且UIKit正在处理此过程,是否有其他绘制屏幕的方法可以进行绝对(像素完美)绘制而不进行缩放? 我想象过,但并不确定,OpenGL和Metal可以在iPhone 6 Plus上绘制像素完美的图形,但不知道如何实...

10得票1回答
如何为SceneKit预编译PBR着色器?

我注意到如果你有一个空场景,然后加载一个带有物理基础光照的3D模型,对象出现时会有一点卡顿。如果我在此之后添加另一个对象,则不会发生这种卡顿。 通过分析器,可以看出默认的PBR着色器正在编译第一帧缓慢的画面。是否可能预编译这些着色器,以便在第一次渲染模型时不会发生这种情况? 类似的问题已经...

10得票3回答
调整 MTKView 的大小会在重绘之前对旧内容进行缩放。

我正在使用MTKView来绘制Metal内容。它的配置如下: mtkView = MTKView(frame: self.view.frame, device: device) mtkView.colorPixelFormat = .bgra8Unorm mtkView.delegate =...