首页
首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
joker_king
掘友等级
iOS开发工程师
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
11
文章 8
沸点 3
赞
11
返回
|
搜索文章
最新
热门
Foundation对象和CoreFoundation对象
Foundation 对象是Objective-C对象,使用Objective-C语言实现;而Core Foundation对象是C对象,使用C语言实现。两者之间可以通过__bridge、__brid
iOS 原理探索-Block_copy
首先,我们需要查看Block.h。这里有以下定义: 可以看到Block_copy,纯粹是一个宏定义,它将传入的参数强制转换为const void *并将其传递给_Block_copy()。 接下来我们在runtime.cpp中找到了关于_Block_copy的定义。 如果到了这…
Metal 创建和采样纹理
您可以使用纹理在Metal中绘制和处理图像。纹理是纹理元素的结构化集合,通常称为纹理元素或像素。这些纹理元素的确切配置取决于纹理的类型。此示例使用一个由2D元素数组构成的纹理来保存图像,每个元素都包含颜色数据。纹理通过称为纹理映射的过程绘制到几何图元上。片段函数通过采样纹理为每…
Metal MTLBuffer大批量顶点处理
在我们之前的案例Metal 使用渲染管道渲染基本图元一节中,我们使用setVertexBytes:length:atIndex:函数来将我们的顶点数据传递到顶点换冲过去中,但是这个函数有一个限制,那就是它只能传递4KB以下的数据,超过4KB的数据需要使用MTLBuffer对象配…
Metal Metal Shader Language
Metal着色器语言,是用来编写3D图形渲染逻辑和并行计算核心逻辑的一门编程语言,当你使用Metal框架来完成App的实现,则需要使用Metal编程语言。 Metal语言使用Clang和LLVM进行编译处理。 Metal基于C++11.0语言设计,我们主要用来编写在GPU上执行…
Metal 使用渲染管道渲染基本图元
在上篇文章中我们学会了如何使用Metal来绘制视图内容,在这个篇章中我们将展示如何使用自定义渲染管道来绘制一个2D彩色图形。该示例为每个顶点提供了位置和颜色,并且渲染管线使用该数据渲染三角形,在为三角形顶点指定的颜色之间插入颜色值。 一个渲染管线流程绘图命令和数据写入到一个渲染…
Metal 绘制视图内容
创建一个MetalKit视图和一个渲染过程以绘制视图的内容。 使用Metal渲染图形内容的基础。 使用MetalKit框架创建一个使用Metal绘制视图内容的视图。 将编码用于渲染过程的命令,该过程会将视图擦除为背景色。 MetalKit提供了一个名为的类MTKView,它是N…
OpenGL ES分屏滤镜-静态分屏
静态分屏是指每一个屏幕的图像都完全一样。 分屏滤镜实现原理是在片元着色器中修改纹理坐标和纹理的对应关系。分屏之后,每个屏内纹理的对应关系都不一样。 这里我们用一种通用的方式来实现分屏滤镜,将屏数交由外部来控制。 首先,我们来了解等一下会使用到的 GLSL 运算和函数。vec2 …
OpenGL ES 索引绘图
EBO即Element Buffer Objects,用来存储绘制物体的索引。所谓索引就是对顶点属性数组中元素的一个位置标记。使用索引绘图时,先通过顶点属性数组指定数据,然后利用指向这些数据的索引来指示OpenGL完成绘图。索引绘图主要是为了决绝顶点高度重叠的问题。使用索引绘图…
OpenGL ES 纹理翻转
让图形的顶点旋转180度,纹理保持不变。 第一种方案需要对每一个顶点都进行旋转。 第二种方案是在解压图片时对图片进行翻转,也是目前使用最多的。 对纹理的每个像素坐标进行处理。 在顶点着色器中对纹理的顶点坐标进行翻转。 直接修改纹理坐标的对应关系。
下一页
个人成就
文章被点赞
47
文章被阅读
58,637
掘力值
1,743
关注了
11
关注者
40
收藏集
1
关注标签
16
加入于
2017-12-14