问题标签 [metalkit]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
713 浏览

ios - 线像素化

使用金属我正在使用四个点使用贝塞尔曲线绘制线条。我使用近 1500 个三角形作为线条。这条线是像素化的。我怎样才能减少像素化。

0 投票
1 回答
1004 浏览

ios - 使用 Metal 扭曲 iOS 中的视图

问题:

如何捕获要在 Metal 中修改的视图?

我(可能不完整)的理解是我需要将视图捕获为纹理,将其移动到设备内存中,使用着色器对其进行处理,然后将其渲染回视图中。我目前停留在捕获视图的第一步。这个问题的范围仅取决于捕获将其放入金属的纹理,如果我遇到着色器问题,我将为此打开一个单独的问题。

如果有比下降到 GPU 级别更简单的方法,我愿意接受建议。

背景:

出于学习的目的,我正在尝试使用 Metal 重新创建此短片中看到的涟漪效果(不使用视频中的 Qt 和 OpenGL)。据我了解,我需要一个顶点着色器和片段着色器。我想我可以通过一些实验将 repo中的 openGL 着色器转换为 Metal。

Apple 为 iOS 提供了一个非常相似的动画,即CATransition“rippleEffect”,因此这似乎是可能的,但他们使用的 API 是私有的,可能会导致您的应用被应用商店拒绝。

我也遇到过BCMeshTransformView,它似乎与我想要做的非常相似,但我没有任何运气试图从源头收集它的工作原理。

我花了几个小时搜索文档,但总的来说,我是图形学的初学者,所以我可能没有在谷歌上搜索正确的术语。

0 投票
1 回答
275 浏览

uiimageview - 有效地将 MTKView 纹理捕获到 UIImageView

我想捕获最近更新为 UIImageView 的 MTKView 部分的内容。我下面的一段代码来完成这个任务:

因此,此代码有效,但效率不高,并且当 bboxStrokeAccumulating 变得非常大时会使应用程序滞后。任何人都可以提出更有效的替代方案吗?

0 投票
1 回答
752 浏览

swift - 访问金属中的特定像素集 MTLTexture

我创建了一个MTLTexture使用UIImage数据,如下所示。

我需要做的是改变像素颜色MTLTexture。不是所有的人。那么,是否可以MTLtexture在 Metal 中访问一组特定的像素并写入其中?

0 投票
0 回答
97 浏览

ios - 分享 MTLTexture

我有一个 UIImage 的 MTLTexture。我正在绘制 MTLTexture。我缩放 MTL 纹理。我对缩放的 MTLTexture 做了一些更改。我想对原始(非缩放)MTLTexture 进行更改。任何方式来实现这一点

0 投票
1 回答
568 浏览

macos - 金属深度模板不工作

我在 MacOS 上有一个 MetalKit 项目,除了深度模板外,一切都按预期工作。

因为我只能找到 iOS 深度模板的示例,所以我正在关注这些示例。在创建渲染管道后立即调用下面的代码片段,但 newDepthStencilStateWithDescriptor 的返回值似乎无效(设备和标签均为空)。

我可能错误地设置了 MTKView,但我不能确定,因为没有使用 MTKView 和 MacOS 的深度模板示例。

如果有人能解释这是如何发生的,我如何调试它,或者如果他们有我可以比较的示例代码,那就太好了。

请注意深度模板不工作和以错误顺序绘制的片段。

在此处输入图像描述

0 投票
0 回答
281 浏览

metal - 在金属中画圆/半圆

我是金属新手。我想画一个半圆。绘制半圆的任何想法或建议。我尝试使用镶嵌

当我正常化时,它总是在屏幕中间。我想用手指画圈。

0 投票
0 回答
28 浏览

swift - 在三角形内平均分布 MTLTexture

我想在下图中添加纹理顶点分布

我想在四个均匀分布之间添加纹理。我的纹理是方形的。因为顶点 0,1,2,3 不是正方形的,所以我不能将它平均分布。

另一个问题是我们最多可以添加多少个方形纹理到这个图中?

我目前在着色器中通过以下方式进行它的分布不均,并且我最多可以添加 3 个纹理

0 投票
0 回答
308 浏览

metal - 从 MTLTexture 创建图像时添加 alpha 值

我正在从当前的可绘制纹理创建 UIImage,如下所示。

但它为 UIImage 添加了 alpha 值,而 UIImage 没有出现在纹理中。有什么解决方案可以摆脱 alpha 吗?这是捕获的纹理图像。

纹理图像

从纹理创建的 uiImage。

uiImage

0 投票
0 回答
47 浏览

swift - 最多可以在 4 个顶点数据内绘制多少个纹理

如图所示,我有两个带有六个顶点的正方形。我想为它们添加纹理我想在金属的两个正方形之间添加大约 30 次相同的纹理在此处输入图像描述是否可能?据我了解,我可以添加两个纹理是否可以在两个正方形之间添加大约 30 次相同的纹理