metal相关内容

纹理ARMesh来自ARKit相机框架的几何图形?

这个问题在一定程度上建立在thisPOST的基础上,其中的想法是从带有LiDAR扫描仪的iOS设备中获取ARMeshGeometry,计算纹理坐标,并将采样的相机帧作为给定网格的纹理应用,从而允许用户创建其环境的照片级真实感和3D表示。 根据该帖子,我调整了其中一个响应来计算纹理坐标,如下所示; func buildGeometry(meshAnchor: ARMeshAnchor, ..
发布时间:2022-04-14 11:46:17 其他开发

与金属 swift 并行计算数组值的总和

我正在尝试与金属 swift 并行计算大型数组的总和. 有没有大神的方法? 我的平面是将我的数组划分为子数组,并行计算一个子数组的总和,然后在并行计算完成后计算子总和的总和. 例如,如果我有 array = [a0,....an] 我将数组划分为子数组: array_1 = [a_0,...a_i],数组_2 = [a_i+1,...a_2i],……array_n/i = ..
发布时间:2022-01-09 16:31:48 移动开发

将 Metal MTKView 实时捕获为电影?

从 MTKView 捕获帧的最有效方法是什么?如果可能,我想实时保存帧中的 .mov 文件.是否可以渲染成 AVPlayer 框架之类的? 目前正在使用此代码进行绘制(基于@warrenm PerformanceShaders 项目): func draw(in view: MTKView) {_ = inflightSemaphore.wait(超时:DispatchTime.dista ..
发布时间:2022-01-01 11:25:10 移动开发

带有 BT.709 矩阵的 H.264 编码视频是否包括任何伽马调整?

我已阅读BT.709 规范 多次,但不清楚的是编码的 H.264 比特流是否应该将任何伽马曲线应用于编码数据?请注意 BT.709 规范中对类似伽马公式的具体提及.Apple 提供了从 CoreVideo 读取 YUV 数据的 OpenGL 或 Metal 着色器示例,提供的缓冲区不进行任何类型的伽马调整.YUV 值正在被读取和处理,就好像它们是简单的线性值一样.我还检查了 ffmpeg 的源代码 ..
发布时间:2021-12-21 14:03:09 移动开发

GLKit vs. Metal 透视矩阵差异

我正在阅读 Metal 教程 在 raywenderlich.com 上,它引入了纯 Swift float4x4 辅助类.99% 它只是 GLKit 函数的包装,除了一个真正让我感到困惑的函数: static func makePerspectiveViewAngle(_ fovyRadians: Float, aspectRatio: Float, nearZ: Float, farZ: ..
发布时间:2021-11-25 02:36:12 移动开发

如何使用 ARMatteGenerator 将 CIFilter 添加到 MTLTexture?

我正在处理与使用 相关的 Apple 示例项目ARMatteGenerator 生成一个 MTLTexture,可以在人的遮挡技术中用作遮挡遮罩. 我想确定如何通过 CIFilter 运行生成的遮罩.在我的代码中,我像这样“过滤"遮罩; func updateMatteTextures(commandBuffer: MTLCommandBuffer) {守卫让 currentFrame = ..
发布时间:2021-11-17 21:29:55 其他开发

作为 iOS 框架一部分的 Metal 文件

我正在尝试创建一个适用于 METAL Api (iOS) 的框架.我对这个平台很陌生,我想知道如何构建框架以使用 .metal 文件(我正在构建一个静态库,而不是动态库).它们应该是 .a 文件的一部分,还是作为框架包中的资源文件?或者有其他方法可以做到这一点?谢谢. 更新:对于那些解决这个问题的人 - 我最终遵循了 Warrenm 1 的建议选项 - 将 .metal 文件转换为字符串并调 ..
发布时间:2021-11-17 21:26:36 移动开发

绘制到 MTKView 或 CAMetalLayer 是否需要在主线程上进行?

众所周知,更新AppKit 或UIKit 中的用户界面需要在主线程上进行.Metal 在呈现 drawable 时是否有相同的要求? 在我一直在玩的层托管 NSView 中,我注意到我可以从 dispatch_queue 调用 [CAMetalLayer nextDrawable] 不是 main_queue.然后我可以像往常一样更新该 drawable 的纹理并呈现它. 这看起来工作 ..
发布时间:2021-11-16 20:26:06 其他开发

Metal:将 MTLRenderCommandEncoder 纹理加载限制为仅部分纹理

我确实有一个 Metal 渲染管道设置,它对渲染命令进行编码并对 texture: MTLTexture 对象进行操作以加载和存储输出.这个纹理相当大,并且每个渲染命令只对整个纹理的一小部分进行操作.基本设置大致如下: //纹理:MTLTexture,pipelineState:MTLRenderPipelineState,commandBuffer:MTLCommandBuffer//使用 l ..
发布时间:2021-09-06 19:52:14 移动开发

使用 Metal 对 SceneKit 渲染进行抗锯齿处理

我是 Metal 的新手.我正在使用 此 Apple 示例代码渲染带有 Metal 的 SceneKit 场景.TLDR;它调用 SCNRenderer's render 函数并传入命令缓冲区.我正在为 Big Sur 编译. 它有效,但没有抗锯齿.我已经尝试了几种方法来实现它,您可以在下面的更新中看到. 如果没有 Metal,我只需在 SCNRenderer 上将 isJitteri ..
发布时间:2021-06-02 20:37:53 其他开发

Swift:将 int 元组转换为包含浮点向量的自定义类型

对这个问题的两个原始答案都令人满意,但得出的解决方案略有不同.我选择了我认为更容易实现的一种 我正在尝试翻译一些 ObjectiveC,从此苹果金属文档/示例,然后将金属代码转换为 swift,但在这一点上遇到了一些麻烦: 这是我正在使用的 typedef,这是必要的,以便金属着色器可以计算我的顶点数据(来自 simd.h 的浮点向量很重要): #include 类型定义结构{vec ..
发布时间:2021-06-02 20:37:50 移动开发

如何用金属绘制带纹理的矩形

我正在寻找一种在金属中绘制二维背景的最有效方法.这需要渲染一个带纹理的矩形. 基本几何示例展示了如何绘制三角形的示例.是否有一种简单且不臃肿的方法来绘制矩形(具有 4 个角的多边形)? 解决方案 Basic Texturing sample 绘制一个带纹理的矩形 ..
发布时间:2021-06-02 20:37:47 移动开发

在 iOS 上的 Metal 中未触发 addPresentedHandler

我已经尝试设置 addPresentedHandler 一段时间了,但没有成功. 我有一个 addCompletedHandler 处理命令缓冲区,其中包含要每帧执行的渲染工作.我已经通过查看代码块中的设置断点来验证 addCompletedHandler 是否正常工作.这些是在运行应用程序时触发的.然而,对于 addPresentedHandler,代码块内没有触发断点(我还通过修改代码块 ..
发布时间:2021-06-02 20:37:37 移动开发