学习ios Metal(8)—调用Metal Performance Shaders实现GaussianBlur(高斯模糊)

       metal的基础知识入门,首推Metal By Example系列:http://metalbyexample.com/。博主的相关文章,主要给出工程实际遇到的典型问题及其解决方案。

        

                                                                                       

                                               (a)清晰                                                             (b)高斯模糊

       本节源码:https://github.com/sjy234sjy234/Learn-Metal/tree/master/GaussianBlurMPS。从第7节开始,渲染统一采用该节介绍的工程化渲染框架:https://blog.csdn.net/sjy234sjy234/article/details/82497799

        这一次,主要利用Metal Performance Shaders实现高斯模糊,并演示Metal Performance Shaders的基本用法。它实际上是一个基于metal通用计算的kernel核函数的封装,能够提供一些常见图像处理方法的核函数,如高斯模糊、图像直方图计算、索贝尔边缘检测算法等,方便开发者调用。这一节调用了高斯模糊的实现——MPSImageGaussianBlur,封装在一个GaussianBlurEncoder类中,它的用法非常简单,高斯模糊的概念大家自行科普。

        初始化:

self.gaussianBlurKernel = [[MPSImageGaussianBlur alloc] initWithDevice: _metalContext.device sigma: sigma];

        调用:

[_gaussianBlurKernel encodeToCommandBuffer: commandBuffer sourceTexture: srcTexture destinationTexture: dstTexture];

        代码非常简单,项目不理解,可以翻看https://blog.csdn.net/sjy234sjy234/article/details/82353723https://blog.csdn.net/sjy234sjy234/article/details/82497799

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值