基于 Metal 的并行来计算实现高斯模糊

一直想自己实现一下高斯模糊效果,最近总算完成一个性能不算太差的实现。 高斯模糊 图片模糊的原理和图片马赛克原理类似,一般情况下,如何将一张图展示在计算机屏幕上,在光栅化的渲染管线算法中,我们只需要每个像素点展示对应这个像素点(x,y)的颜色即可。对应到着色器上的代码是: // 其中 texture 为纹理,...

阅读更多

直播间 3d讲鞋

需求背景: 3d 讲鞋属于一种新颖的直播玩法,用于解决某些主播需要讲解部分鞋类商品,却没有实物来做介绍的问题。广义上讲,它也是增强现实的一种应用实现,将虚拟的球鞋模型与真实的主播融合在一起,必能给直播间的观众焕然一新的观看体验。 需要的功能: 需求需要实现以下几个问题: 球鞋模型的实时渲染,附加简单...

阅读更多

直播间点赞 上下滑动技术细节

需求背景 2020年直播是一个大热点,目前我们的直播业务也已上线了很多新的玩法。在 iOS 端迭代过程中,处理了许多手势相关的问题,现做一总结。 连击点赞 连击点赞用于提高用户点赞频率,分 2 个阶段性检测,第一次点击识别双击,识别双击之后开始识别连击,每次识别成功触发点赞动画。目前双击识别间隔是 0.3s...

阅读更多

OpenGL 玩转OpenGL

需求背景 本文描述,如何利用OpenGL shader 实现一些有趣的事情,其中包括: 对一张纹理累加循环处理 实现一个细胞自动机的例子 纹理绘制、纹理循环处理 在上文 OpenGL 图像处理中已经描述如何使用OpenGL 来绘制一张纹理图,这里和上次一样使用 GLKViewController ...

阅读更多

iOS 表情键盘实现

需求背景 最近有需求,需要扩展 app 评论模块,加入自定义 emoji 键盘功能,最终希望评论模块支持系统emoji、自定义静态emoji、动态emoji、@好友关键词高亮功能。另外消费端(详情页评论列表、评论浮层、动态列表的评论透出模块等)支持上述元素的展示,额外需要支持高亮关键词的点击跳转功能。 此需求...

阅读更多

PianoPlayer借助runloop来实现播放

PianoPlayer(Klavier)项目起源于 4 年前,当时突然想学习钢琴,买了把电子琴,花了 3 个月,发现连和弦都学不会,感慨钢琴真是太难了。然而终究还是不想放弃,于是决定写个自动弹钢琴的app。目前上线了钢琴的基本功能,另外可以解析 musicXml格式的五线谱,并自动弹奏出来,项目地址在 首页-&g...

阅读更多

OpenGL 图片处理

需求背景 目前我们 app 的发布工具的拍照功能需要更多丰富的元素吸引年轻人,急需一套图像处理工具来做一些有意思的功能来供用户使用,来增加他们UGC的兴趣,丰富社区内容。 需要的功能 产品目前初步需要实现以下功能:人像描边、背景切换、自定义区域处理等,最终实现的效果如下: 以上白点形成的多边形为用户输...

阅读更多

SDWebimageView + UITableView 卡顿问题

SDWebImageView + UITableView 的问题 当UITableView里cell使用SDWebimageView加载网络图片时,当UITableView不断翻页加载数据时,你会看到内存是不断涨的,原因有2个: decodedImageWithImage占用大量内存,通过Instrum...

阅读更多