8得票1回答
从Swift向Metal片段着色器传递浮点数或颜色

我想在Metal中编写一个片段着色器,但是无法理解如何传递单个值(例如float、float4或half4)。我的着色器如下: #include <metal_stdlib> using namespace metal; typedef struct { float4 ...

9得票2回答
从顶点函数向缓冲区写入Metal

我正在开发一个使用Metal渲染2D几何图形的应用程序。 目前,顶点的位置是在顶点函数内部解决的。我希望能够从同一顶点函数中将解决后的位置写回到缓冲区。 我认为这是可能的,尽管我第一次尝试做到这一点时: vertex VertexOut basic_vertex(device Verte...

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

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

22得票1回答
SceneKit Cocoa 快照失败断言

我正在开发一款Swift/Cocoa/Xcode应用程序。 这个应用程序包含一个SceneKit视图。渲染API设置为默认值(我认为这是Metal)。 如果在这个SceneKit视图对象上运行snapshot(),我会收到以下错误消息。 我想做的是从相机捕获场景的UIImage。Textu...

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

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

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

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

9得票1回答
在Metal中,colorAttachment[n]是什么?

我对图形技术一窍不通,现在需要使用Metal,不久会尝试使用OpenGL。 请问这个问题用通俗易懂的语言解释是什么意思?另外,“n”代表什么范围?在我制作的2D三角形中,我只将其设为0。

12得票2回答
在构建iOS模拟器目标时忽略.metal文件

每当我构建一个包含金属着色器的项目到 x86_64 目标 (iOS 模拟器) 时,都会收到依赖分析警告: 警告: 没有处理源代码类型为 sourcecode.metal 的文件 '[文件路径]/Shaders.metal' 以供架构 x86_64 使用。 我知道这不是一个重大问题,但我希望...

7得票1回答
CVMetalTextureCacheCreateTextureFromImage始终返回null。

我正在尝试通过MetalKit渲染I420(YCbCr planner)。 大多数示例都使用来自相机的CMSampleBuffer, 但我的目标是使用给定的I420字节。 我做了这样的事情: let data = NSMutableData(contentsOfURL: NSBundl...

7得票1回答
如何使用CMake构建苹果的Metal-cpp示例?

最近,苹果发布了一个库,可以使用C++直接使用Metal。我在网上找到的示例(https://github.com/moritzhof/metal-cpp-examples), 如果我复制源代码并按照苹果(https://developer.apple.com/metal/cpp/)在Xcod...