12得票2回答
在Metal中如何使用多个模型?

这是一个绝对初学者的问题。 背景:我并不是一个游戏开发者,但我正试图学习低级别的三维编程基础,因为这是一个有趣且有意思的主题。我选择了苹果的Metal作为图形框架。我知道SceneKit和其他更高级别的框架,但我故意尝试学习低级别的部分。不幸的是,我深陷其中,似乎网络上没有很多面向初学者的M...

7得票3回答
这段代码是在点还是像素级别上绘制的?如何绘制视网膜像素?

考虑这个优秀的脚本,它绘制了一个(圆形)渐变。 https://github.com/paiv/AngleGradientLayer/blob/master/AngleGradient/AngleGradientLayer.m int w = CGRectGetWidth(rect); i...

8得票2回答
如何在SceneKit中使用SCNBufferBindingBlock?

我正在研究SceneKit的处理绑定方法,该方法使用SCNBufferBindingBlock回调,如下所述: https://developer.apple.com/documentation/scenekit/scnbufferbindingblock 有人有这样工作的示例吗? ...

75得票1回答
现实套件 vs 场景套件 vs 金属 - 高质量渲染

我正在开发一款iOS应用程序,我打算在AR中显示逼真/高质量的渲染效果。在尝试这三个选项时,我仍然不确定应该选择哪一个来开发我的应用程序框架:SceneKit、RealityKit和Metal。 我已经了解到SceneKit是建立在Metal之上的,但我不确定是否值得花费时间/精力编写任何自...

14得票1回答
如何编写一个SceneKit着色器修改器以实现溶解效果

我想为Scenekit游戏构建一个溶解效果。由于它们似乎是最轻量级的,我一直在研究着shader modifier,但没有成功复制这个效果: 是否可以使用着色器修改器来创建这种效果?如何实现?

7得票1回答
在iOS的Metal中,GL_TRIANGLE_STRIP的等效物是什么?

尝试按照这里所示的方式绘制一条三角形带: 完成了objc.io 教程,其中使用两个三角形绘制一个四边形。这些三角形是不连通的,需要单独绘制,这意味着我需要指定6个顶点而不是4个。 // Interleaved vertex data X,Y,Z,W, R,G,B,A static f...

10得票1回答
SwiftUI 更新降低了 Metal 窗口的 FPS

我正在尝试使用SwiftUI和Metal进行实验。我有两个窗口,一个有各种列表和控件,另一个是Metal窗口。 我曾经让滑块数据更新Metal窗口,但当我移动滑块时,FPS从60下降到25左右。我删除了所有视图之间的链接,但是移动滑块仍会导致Metal窗口的FPS下降。 似乎列表视图也...

9得票2回答
如何释放MTLBuffer和MTLTexture的内存空间

我知道如何创建MTLBuffer和MTLTexture,但是当这些资源不再需要时,如何释放GPU内存呢?

16得票1回答
默认的Metal库未找到。

我尝试在一个简单的应用程序中使用Metal,但是当我调用device.newDefaultLibrary()函数时,运行时出现错误: /BuildRoot/Library/Caches/com.apple.xbs/Sources/Metal/Metal-56.7/Framework/MTL...

17得票3回答
iOS的Metal编译错误

import UIKit import Metal import QuartzCore class ViewController: UIViewController { var device: MTLDevice! = nil var metalLayer: CAMetalLayer! =...