问题:
如何捕获要在 Metal 中修改的视图?
我(可能不完整)的理解是我需要将视图捕获为纹理,将其移动到设备内存中,使用着色器对其进行处理,然后将其渲染回视图中。我目前停留在捕获视图的第一步。这个问题的范围仅取决于捕获将其放入金属的纹理,如果我遇到着色器问题,我将为此打开一个单独的问题。
如果有比下降到 GPU 级别更简单的方法,我愿意接受建议。
背景:
出于学习的目的,我正在尝试使用 Metal 重新创建此短片中看到的涟漪效果(不使用视频中的 Qt 和 OpenGL)。据我了解,我需要一个顶点着色器和片段着色器。我想我可以通过一些实验将 repo中的 openGL 着色器转换为 Metal。
Apple 为 iOS 提供了一个非常相似的动画,即CATransition
“rippleEffect”,因此这似乎是可能的,但他们使用的 API 是私有的,可能会导致您的应用被应用商店拒绝。
我也遇到过BCMeshTransformView,它似乎与我想要做的非常相似,但我没有任何运气试图从源头收集它的工作原理。
我花了几个小时搜索文档,但总的来说,我是图形学的初学者,所以我可能没有在谷歌上搜索正确的术语。