首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
xdkhan
掘友等级
iOS搬瓦工
进城务工人员
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
44
文章 43
沸点 1
赞
44
返回
|
搜索文章
最新
热门
iOS14+ 为 UILabel 添加 CAGradientLayer 作为背景为什么失败?
如图所示,如果 UILabel 的文本是中文,系统会添加一个 _UILabelContentLayer,将本文绘制在此层。并且会插入到 UILabel.layer.sublayers 的第一位。 这个时候,如果我们把 CAGradientLayer.zPosition 设置为负…
离屏渲染原理及案例解析
mask layer 渲染完毕,不能单独立即显示,要等待 contents layer 渲染完毕进行混合,等待过程中,先存在 离屏渲染缓冲区。 等待内容都渲染完毕,传递到 帧缓冲区,等待显示。 需要使用额外的 offscreenBuffer 保存中间状态,不得不使用。 由于两个…
方法的存储位置和类的类型判断
-classMethod 类方法(类对象的实例方法)存储在元类对象 metaClass 中。 从源码可知,cls 获取类方法时,其实是取 cls->isa 的存储实例方法,而 cls->isa 就是元类对象 metaClass。而使用 metaClass 获取类方法时,由于是元…
五、OpenGL 深度测试及颜色混合
1. 深度 就是在坐标系中,像素点的 z 坐标距离观察者的距离。 观察者可以放在坐标系的任意位置,所以,不能简单的说 z 数值越大或越小,观察者就越靠近物体。 2. 深度缓冲区 存储在显存中。取值范围[0, 1] 浮点型。 原理:把距离观察者平面(近截面积)的深度值 与 窗口中…
objc_msgSend 快速查找
上面的实验我们可以发现,实例方法调用的本质就是 objc_msgSend。 查找源代码,我们发现 objc_msgSend 是使用汇编实现的。 从 objc-msg-arm64.s 文件获取汇编代码片段。
OpenGL ES 图片的加载以及纹理翻转
绘制表面:用于绘制图元的表面,它指定渲染所需要的缓存区类型。例如颜色缓存区、深度缓存区、模版缓存区。 OpenGL ES API 并没有提供如何创建渲染上下文或者上下文如何连接到原声窗口系统。EGL 是 Khronos 渲染 API[如 OpenGL ES]和原生窗口系统之间的…
OpenGL 基本图元绘制案例及解析
为了方便学习,我们在同一个工程里面进行绘制。 设置一个参数 nStep, 点击空格的时候,修改其值,手动触发重新渲染。 在渲染参数设置方法里,设置 nStep 对应的图形渲染参数。 金字塔、三角形带、三角形扇都是立体图形,为了便于观察,我们还需要设置一个旋转操作,可以全方位查看…
四、OpenGl 表面剔除算法
使用默认函数gltMakeTorus,初始化一个torusBatch批次类用来进行绘制。 按照图层添加的顺序,依次进行绘制。重合的部分,会被后面绘制的片元信息覆盖。 会对重叠的片元进行多次写操作,速度慢。 对于独立的三角形进行排序,开销过高。 如果三个三角形,两两叠加,就无法处…
OpenGL 隧道和星球镜像案例解析
案例一:隧道1.1最终效果1.2整体流程1.3核心代码1.3.1初始化纹理数据、设置墙体顶点和纹理映射坐标图1-1图1-2图1-3图1-41.3.2渲染案例二:星球镜像2.1最终效果2.2整体流程2.
三、OpenGL 渲染基础
三角形带:更少的顶点,节省大量的程序代码和数据空间,且速度更快。
下一页
个人成就
文章被点赞
18
文章被阅读
16,316
掘力值
489
关注了
38
关注者
7
收藏集
3
关注标签
2
加入于
2017-01-13