首页 文章
  • 0 votes
     answers
     views

    在金属着色器中混合两种纹理

    我有两个透明纹理 . 第一个是Source纹理,第二个是Mask Texture . 我想混合两个纹理 . 情景1 具有颜色的 源纹理和具有颜色和Alpha的Alpha蒙版纹理 结果颜色和alpha应该相乘 场景2 具有颜色和Alpha蒙版纹理alpha的 源纹理为零 结果颜色和alpha应为源纹理颜色和Alpha 场景3 具有Alpha零掩模纹理alpha的 源纹理具...
  • 3 votes
     answers
     views

    如何将MetalKit纹理加载器与Metal堆一起使用?

    我有一组金属纹理作为纹理集存储在Xcode Assets目录中 . 我正在使用 MTKTextureLoader.newTexture(name:scaleFactor:bundle:options) 加载这些 . 然后我使用 MTLArgumentEncoder 将所有纹理编码为Metal 2参数缓冲区 . 这很好用 . 然而,2017年WWDC金融时报 Session recommends c...
  • 2 votes
     answers
     views

    使用CoreML推断Metal Texture子区域

    我正在构建一个iOS应用程序,可以实时渲染从相机到Metal Textures的帧 . 我想使用CoreML在金属纹理的子区域上执行样式传输(将相机输出想象为2x2网格,其中4个方块中的每一个都用作样式传输网络的输入,并且输出粘贴回显示的纹理) . 我试图找出如何最好地使用MetalML内部的CoreML来填充纹理的非重叠子区域与mlmodel的输出(希望不将ml模型分解为MPSNNGraph) ...
  • 1 votes
     answers
     views

    将OpenCL / CUDA转换为Metal

    我准备将我的项目的一些GPU内核从OpenCL / Cuda转换为Metal,以便在Apple设备上运行我的应用程序 . 目前,我的项目完全用C / C编写 . 在做了一些研究之后,我想我需要用Swift或Objective-C弄脏我的手 . 但说实话,我不确定这些东西,因为用于计算和深度学习的金属语言是相当新的 . 我知道有一个名为“ CoreML ”的库,但我的应用程序需要一些自定义内核 . ...
  • 1 votes
     answers
     views

    金属newBufferWithBytes用法

    我有一个关于分配新的Metal设备缓冲区的基本问题 . 我看到的大多数示例代码在设置时创建MTLBuffer而不进行修改 . 但我想知道顶点数据是否在每次渲染调用时都在变化,是否可以每次创建一个新的MTLBuffer(使用 - [MTLBuffer newBufferWithBytes:length:option])将数据发送到在GPU上运行的着色器,或者,应该是MTLBuffer给定大小创建一...
  • 1 votes
     answers
     views

    使用Metal扭曲iOS中的视图

    Question: 如何在Metal中捕获要修改的视图? 我的(可能是不完整的)理解是我需要将视图捕获为纹理,将其移动到设备内存中,使用着色器对其进行处理,然后将其渲染回视图中 . 我目前停留在捕获视图的第一步 . 这个问题的范围仅取决于将纹理捕获到Metal中,如果我遇到着色器的问题,我将为此打开一个单独的问题 . 如果有一种更简单的方法来做到这一点而不是下降到GPU级别,我愿意接受建议 . B...
  • 1 votes
     answers
     views

    用金属索引绘图

    我正在尝试加载模型(表单.OBJ)并使用MetalKit将其绘制到iOS上的屏幕上 . 问题是,我得到了一些随机多边形而不是我的模型......以下是倾向于加载模型的代码(代码基于来自raywenderlich.com的教程: let allocator = MTKMeshBufferAllocator(device: device) let verte...

热门问题