cost 66 ms
使用 MetalKit 和 Swift 的 iOS 的 3D 查看器 - 深度不起作用

我正在使用带有 Swift 的 Metal 来为 iOS 构建 3D 查看器,但我遇到了一些问题来使深度工作。 从现在开始,我可以在 3D 中正确绘制和渲染单个形状(如简单的方形平面(4 个三角形(每个面 2 个))或四面体(4 个三角形))。 但是,当我尝试将 2 个形状一起绘制时,这两个形状之间 ...

2022-09-17 11:05:26 2 66
如何使用 Metal 在 Mac 应用程序中实现抗锯齿?

我正在为 MacOs 制作一个应用程序,但我在 Metal 中的抗锯齿实现方面遇到了问题。 编译时出现以下错误: validateAttachmentOnDevice:540: failed assertion MTLRenderPassDescriptor 渲染目标的样本计数不一致。 这是我用来 ...

2022-08-30 19:10:50 0 11
MTLVertexDescriptor 中的矩阵

我正在尝试为我的顶点着色器编写顶点描述符,它将以下结构作为 stage_in 输入。 现在在定义顶点描述符的属性时,MTLVertexFormat 应该是什么? vertexDescriptor.attributes[0].format =??? 我浏览了文档,我没有找到任何矩阵的枚举案例。 如果说 ...

2022-08-25 16:37:53 1 13
如何将金属着色器处理的相机捕获调整为全屏?

我想创建一个使用金属着色器的全屏相机应用程序。 当我曾经在我的根视图中使用 AVCaptureVideoPreviewLayer 时,使用设置[videoPreviewLayer.videoGravity =.resizeAspectFill][1]它真的是全屏的,但是当我将我的应用程序切换到 M ...

2022-07-26 22:24:58 0 14
视图内存问题上的多个 CAMetalLayer

我正在开发一个需要添加多个 CAMetaLayers 并在其中绘制不同形状的应用程序。 渲染是独立进行的,每个元素都可以更改。 我需要在不同的图层上渲染纹理,因为 UIView 也包含通常的 CALayers 并且顺序对我很重要。 问题是通过调用 nextDrawable() 分配了内存并且有大量的 ...

2022-06-30 19:14:05 0 27
使用 Metal 高效渲染滚动图像

我想使用 Metal 有效地渲染特定类型的时变图像 - 即连续垂直滚动的图像。 也就是说,每一帧都与前一帧完全相同,只是向下移动了一行。 底行滚动离开屏幕并被丢弃。 第一行是从某个 Swift 数组输入的新数据。 我的应用程序使用实时音频数据来渲染频谱图 - 但这种“渲染滚动图像”是具有广泛适用性的 ...

2022-06-15 20:20:06 0 44
如何使用 Metal API 在 iOS 中显示和隐藏视图?

我正在使用 Metal 在 iPad 上开发一个简单的应用程序。 下面是我的应用程序的短片——它是关于心理物理学测试的——它不使用 Metal API,它的主要问题是它有丢帧。 链接到 gif由于我是 swift 和 Apple 环境的新手,因此无论是来自 Apple 网站还是其他 youtube ...

2022-06-15 07:22:55 0 31
将 UV 贴图添加到模型 IO MDLMesh

我正在尝试使用 Model/IO 为网格生成 UV 贴图。 该代码在模拟器上运行并为输入网格生成 UV 贴图,但是当我在设备上运行它时它会崩溃 mdlMesh.addUnwrappedTextureCoordinates(forAttributeNamed: MDLVertexAttributeTe ...

2022-06-11 13:40:43 0 41
MetalKit 视图 MTKView 显示模糊的笔划并推断其指定的路径/大小

我正在尝试使用 MetalKit 绘制正方形。 每个正方形都有一个原点和一个大小,如下所示: 问题是,当 MetalKit 绘制这些时,每个正方形都以不同的奇怪方式绘制,超出了正方形的预期面积和形状(见下图) - 是的,每个红色簇应该代表一个 1x1 的正方形下面那些灰色方块的大小相同。 此外, ...

2022-05-02 11:38:21 3 103
在 Metal Core Image Kernel 中指定采样方法

在 Metal 中,我们可以像这样创建采样器 然后我们可以使用这个采样器对任何纹理进行采样。 我想知道 Metal Core Image Kernels 中是否有类似的东西。 ...

2022-02-05 08:06:57 1 11
如何将 OpenGL GLKView 转换为基于 MTLKit 金属的视图?

几年前,Apple 开始警告任何在其应用程序中使用GLKit的人OpenGL即将消失: 警告:不推荐使用 OpenGLES。 考虑改用 Metal 警告:不推荐使用 GLKit。 考虑改用 MetalKit 我的应用程序使用复杂的 OpenGL class,我不知道OpenGL或Metal 。 ...

2022-01-22 22:21:18 1 5
如何创建一个metal-cpp项目?

我正在尝试学习金属,并且由于我已经熟悉 C++,因此我正在尝试使用metal-cpp来做到这一点。 我不是一位经验丰富的 MacOS 开发人员,但我过去曾在 xcode 工作,在项目中使用 OpenGL 和 C++ 作为主要语言。 我的问题是如何在 C++ 中设置项目并使用金属渲染到 window ...

2022-01-22 07:58:57 1 29
Swift Int 数组到 MetalBuffer

我正在使用 swift 和金属套件研究应用程序开发我想将一个 int 类型数组转换为 Metalbuffer,因为我必须在 Shader.h 中覆盖该数组数据在操作shader.h之前,数组的值没有问题。 但是,在 shader.h 中和之后,从数组转换而来的缓冲区存在一些问题。 例如,我将 [1 ...

2022-01-13 09:14:51 1 56
Swift 异步任务捕获值太长

我想在我的MTKView的draw(_:)方法中做一些async处理。 为此,我首先获取currentDrawable ,然后在Task中使用它: 虽然这可行,但性能比使用DispatchQueue或停留在主线程上要差得多。 似乎Task持有可绘制对象的时间比其实际执行时间要长得多,这会导致当前池中 ...

2022-01-11 14:17:09 0 20
使用 Slider 更新自定义合成器值是滞后的

我正在开发一个视频编辑应用程序,最近我将代码更改为使用自定义合成器渲染帧。 过滤器渲染得很好,但是当我尝试更改过滤器的属性时,例如强度,更新是滞后的。 在使用自定义合成器之前我没有这个问题。 问题(我假设)是因为现在渲染器 object 在合成器内,所以当我将值绑定到 slider 时,它不在合成器 ...

2022-01-08 21:32:29 0 5
在三重缓冲时利用 Metal 的 volatile MTLPurgeableState

我有许多缓存的MTLTexture ,我想使用MTLTexture的purgeable API 将它们设置为可清除。 为此,我遵循 Apple 的2019 年 WWDC 视频中概述的流程,该视频建议: 将缓存MTLTexture实例设置为volatile 在“使用中”作为命令缓冲区的一部分时将MT ...

2022-01-07 12:12:49 0 13
SwiftUI/Metal Text Render 使用 CITextImageGenerator - 改变颜色

我已经编写了将文本呈现到 MTKView 的代码,但我还没有找到修改文本颜色的方法。 有没有人在这方面取得了成功,或者更熟悉CoreImage的人可以协助? 谢谢你。 let image = CIFilter(name: "CITextImageGenerator", parameters: [ ...

2022-01-05 17:24:54 1 7

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM