在看了《如何优雅地实现一个分屏滤镜》后,就想用Metal学习着也实现一次,博主是使用GLSL去实现。Metal着色器的实现其实跟GLSL里面的实现一样,没什么差别。 一、静态...
在看了《如何优雅地实现一个分屏滤镜》后,就想用Metal学习着也实现一次,博主是使用GLSL去实现。Metal着色器的实现其实跟GLSL里面的实现一样,没什么差别。 一、静态...
在上一篇(视频播放)中,如果放入的视频不是16:9, 会发现图像的形状会被拉伸,要解决这个问题只需要修改顶点数据就可以了。 上代码 经过转换之后,就可以正常的显示图像,如下:...
最近学习Metal在想,想着使用Metal渲染视频。于是有了想法 1. 使用AVAssetReader读取数据 在GPUImage3的Inputs/MovieInput.sw...
上一篇学习了Base里面的几个文件。今天我学习一下OutPuts里面的几个文件。 1. RenderView 首先先来看下能将纹理展示到手机屏幕上的文件RenderView ...
因为最新在学习Metal,所以就去看了一下GPUImage3,之前的2个版本都是基于openGL ES,到了GPUImage3就改成了基于Metal的实现。 我们现在就开始来...
直接上代码: 仅此记录热爱生活,记录生活!
1.MTLDevice 一个MTLDevice对象可以代表一个执行指令的GPUMTLDevice 协议提供了查询设备,创建Metal其他对象的方法(MTLCommandQue...
在说Copy之前,我们需要了解copy的目的的是什么? Copy目的其实就是产生一个副本对象,副本对象跟源对象互相不影响修改源对象,不会影响副本对象修改副本对象,不会影响源对...
提问:1.什么是Tagged Pointer?2.为什么要引进Tagged Pointe?3.Tagged Pointer有什么优势? 前言:苹果从64bit开始,iOS就引...
记录一下常用的Runtime API 类: 成员变量: 属性: 方法:
前言:NSObject很多源码是公开的,可以下载源码查看一些方法的实现 废话不多说,直接上源码: 我们可以发现isMemberOfClass,isKindOfClass的区别...
用于记录我的学习,持续更新 Container 官方解释:一个拥有绘制、定位、调整大小的 widget。 这是比较常用的一个基础组件,我这里就记录一下decoration(装...
在项目中不免会用到开源组件,Flutter也有对三方开源组件的依赖 在pubspec.yaml文件中就可以设置Flutter对于第三方组件的统一管理,类似于iOS中的Coco...
前言Flutter是谷歌的移动UI框架,可以快速在iOS和Android上构建高质量的原生用户界面。 Flutter可以与现有的代码一起工作。在全世界,Flutter正在被越...
通过前篇知道了,消息发送最后会来到这里。整体实现是下面这样: 1.首先主要看这一段 流程:1.先在当前类缓存中查找, 没有找到则去当前类的方法列表中查找,找到直接返回,找到将...
前言 在OC中的方法调用,其实都是转换为objc_msgSend()函数的调用 objc_msgSend的执行流程可以分为3个大阶段: 消息发送 动态方法解析 消息转发 首先...