![240](https://cdn2.jianshu.io/assets/default_avatar/11-4d7c6ca89f439111aff57b23be1c73ba.jpg?imageMogr2/auto-orient/strip|imageView2/1/w/240/h/240)
@property用来定义变量的属性,定义的变量会自动声明变量,自动生成setter方法和getter方法,便于变量的操作,常用的修饰词是nonatomic,strong,r...
一、算法: 1、解释 算法是解决问题的方法,如何更好地更有效的解决问题,就需要设计一个好的算法,好的算法有以下要求。 2、算法特性 有穷性:算法必须在执行有限的次数后结束 确...
使用GPUImage拍照添加滤镜 使用GPUImage拍视频添加滤镜 VideoManager.h VideoManager.m VideoViewController.m
Sources、Filters、Outputs、Pipeline的分别介绍 Sources GPUImage的一个类GPUImageOutput GPUImage的一个协议G...
GPUImage简介 GPUImage是链式编程,可以处理图片和视频,支持iOS和Mac。 GPUImage1.0和2.0是基于 OpenGL ES 封装,1.0是OC版本,...
Alamofire链接 Alamofire是一个纯粹的网络库,关于UI的部分有另外的封装,比如AlamofireImage和AlamofireNetworkActivityI...
Observable的创建 常用的为:deferred、of、just empty just of from range generate timer interval re...
RxSwift中timer不受runloop的影响可以正常计时,以下探索timer实现原理。 Timer swift创建timer 当页面有滚动事件时定时器会停止计时,滚动事...
RxSwift实现页面登录 控制用户名和密码的输入长度,当用户名和密码都正确输入后按钮可以点击
绘制如图的走势图,原理其实很简单。需要用到CGContext,确定选中的数字,获取选中数字的坐标,然后根据坐标在两个选中的数字中绘制连线。 首先定义几个宏定义: 定义几个数组...
squence序列 有限序列 无限序列 核心逻辑 序列的产生 序列的订阅 序列的销毁 响应式核心逻辑 类似于UIControl类调用addTarget响应#selector定...
RxSwift特点 swift是一门静态语言,不像OC那样可以动态的传输数据发送消息,RxSwift可以弥补swift的这种语言特性。RxSwift函数响应式编程思想,其代码...
光照计算在片元着色器执行,计算每一个像素点的颜色 一、光照计算 1、环境光计算 环境光 = 光源的环境光颜色 * 物体的材质颜色 环境光 = 光的颜色 * 材质颜色;光是有颜...
背景:使用GLSL渲染一张图片到屏幕上,发现图片是倒置的,这是因为屏幕的坐标原点在左上角,向右和向下为x和y正方向,而图片纹理坐标原点在左下角,向右和向上为正方向,导致图片渲...
在讨论 runloop 相关的文章,以及分析 AFNetworking(2.x) 源码的文章中,我们经常会看到关于利用 runloop 进行线程保活的分析,但如果不求甚解的话...
1、着色器渲染过程 tips: 顶点着色器:只完成了顶点的计算,然后交给下一步进行图元装配和光栅化 光栅化:确定图形在屏幕上显示的像素点 片元着色器:只完成了颜色值的计算,并...
前言 在前面的文章里流程已经基本讲完了,这篇文章只是在前面文章的基础上制作几个滤镜。 本文目标 制作简单的滤镜,让大家明白滤镜的原理,滤镜从代码层面来说其实很简单,复杂的是探...