首页
学习
活动
专区
工具
TVP
发布

大壮

专栏作者
39
文章
36099
阅读量
34
订阅数
4.顶点属性,顶点数组和缓存区对象
2.顶点数组 顶点数组是制定给个顶点的属性,是保存在应用程地址空间的缓存区。作为顶点缓冲对象的基础 一般用glVertexAttribPointer或者glVertexAttribIPointer
大壮
2020-07-21
1.1K0
3.着色语言
3.着色语言 OpenGL ES 3.0新增加功能 非方矩阵,全整数支持,插值限定符号,统一变量块,局部限定符号,新的内建函数,全循环,全分支支持以及无限的着色器指令长度。
大壮
2020-07-21
7400
2.着色器
2.着色器 着色器(Shader)是用来实现图像渲染的,用来替代固定渲染管线的可编辑程序。
大壮
2020-07-21
3360
1.图形管线
顶点缓存区 -> 顶点着色器 -> 图元 -> 光栅化 -> 纹理 -> 片段着色器 -> 逐片段操作 -> 上屏
大壮
2020-07-21
3820
OpenGL ES 使用着色器(OC)(一)
效果的含义: 使用自定义着色器,实现纹理的一些简单效果。(旋转,移动,放缩) 步骤: 1.设置OpenGL ES 3.0环境 2.Shader和链接程序(myProgram)关联 3.绑定顶点坐标,纹理坐标 4.设置顶点属性对象 5.加载纹理 6.渲染 下面就拆分上面的6个步骤,详细讲解。 几乎每行代码都会增加注释
大壮
2020-06-29
5670
OpenGL ES 3.0 深度测试(OC)(二)
本文章是基于文章一,开始讲解的。 效果就是个3D的正方体的盒子。 如果实现这个效果需要的步骤: 1.创建窗口 2.初始化环境(Context) 3.申请缓存区(渲染缓存,深度测试,帧缓存) 4.加载着色器关联链接程序 5.设置顶点 6.加载纹理 7.渲染 其中,创建窗口,初始化环境(Context),申请缓存区(渲染缓存,帧缓存),加载着色器关联链接程序,设置顶点,加载纹理。 这几个步骤同文章一,下面主要讲解下申请缓存区(深度测试),和渲染的步骤。
大壮
2020-06-22
8740
OpenGL ES 3.0 使用着色器(OC)
在iOS需要先引用 <OpenGLES/ES2/gl.h> <GLKit/GLKit.h>
大壮
2020-06-16
1.1K0
CMTime-基础使用
value/timescale = seconds计算出代表的时间(秒) value代表分子 timescale代表分母 flags代表状态(通过位掩码实现) epoch 暂不清楚
大壮
2020-05-26
6990
iOS面试题-ARC下如何创建栈上的Block
这题主要是考察如何区分栈,堆,还是全局? 其中栈上block的定义:只用到外部局部变量、成员属性变量,且没有强指针引用的block都是StackBlock。 所以
大壮
2020-04-16
1.1K1
第三章:持有变量
block主要准备分为3个文章记录。 第一章:基础概念和使用 第二章:捕获变量 第三章:持有变量
大壮
2020-04-14
4960
block-捕获变量
说到变量,在OC中分为以下几种变量。block在捕获不同类型变量时内部的逻辑并不相同。
大壮
2020-04-10
4360
block-基础概念和使用
block主要准备分为3个文章记录。 第一章:基础概念和使用 第二章:捕获变量 第三章:持有变量
大壮
2020-04-09
2580
UIView - 生命周期
一般情况都是说UIViewController的生命周期,UIView的生命周期经常被忽视。
大壮
2019-02-22
2.7K0
iOS 自动打包 - fastlane (二)
.env 是非常简单的配置文件,简单到什么程度呢? 它只支持一维K/V格式的配置项,而且 key 和 value 都只能是字符串。
大壮
2018-09-19
8650
iOS 自动打包 - fastlane
1 本文只是fastlane的基本使用. 2 使用fastlane前,确保你已经可以使用Xcode手动打包成功(说明你已经配置好证书)
大壮
2018-09-19
1.2K0
UIKit框架 - TextKit
一. TextKit 架构 TextKit 架构.png 看图就已经知道底层就是Core Text,苹果可能感觉Core Text比较难用,在iOS 7时发布了TextKit. 二.Text Kit
大壮
2018-06-19
1.1K0
RunLoop
RunLoop 的概念 一般来讲,一个线程一次只能执行一个任务,执行完成后线程就会退出。如果我们需要一个机制,让线程能随时处理事件但并不退出,通常的代码逻辑是这样的: function loop() { initialize(); do { var message = get_next_message(); process_message(message); } while (message != quit); } OSX/iOS 系统中,提供了两个这样的对象:NSRunLoop 和 CF
大壮
2018-06-19
4540
iOS transform(基础)
主要分3个部分说明。 1.基础及矩阵概念 2.2D仿射 3.3D仿射 1.基础 transform在矩阵变换的层面上改变视图的显示效果,完成旋转,变形,平移等操作。在它被修改的同时,视图的frame也会被真实的改变。 UIView中的transform为CGAffineTransform类型。 struct CGAffineTransform { CGFloat a, b, c, d; CGFloat tx, ty; }; CALayer中的transform为CATransform3D类型,
大壮
2018-06-19
1.4K0
iOS GCD定时器
定时器需求 先说需求我们需要一个定时器,包含开启,暂停,恢复,关闭。线程安全 并且不需要管理他的内存,无论在什么状态只要持有他的self释放了,这个定时器也要跟着释放。 约定 当定时器 开启后 只可以 暂停 和 关闭 当定时器 关闭后 只可以 重新开启 当定时器 暂停后 只可以 恢复 当定时器 恢复后 只可以 暂停 和 关闭 注意事项 1. dispatch_source_set_event_handler 回调是一个block,所以很容易会出现循环引用问题。 使用的时候记得加__weak 2.关于
大壮
2018-06-19
1.3K0
iOS 网络常识
DNS的含义 DNS(Domain Name System)服务是和HTTP协议一样位于应用层的协议,它提供域名到IP之间的解析服务。 一个app是如何跟服务端通信的 P15 先从DNS获取对应的IP地址 HTTP职责,生成针对服务器的HTTP请求报文 TCP协议的职责,将HTTP请求报文分割成报文段,把每个报文可靠地传给对方 IP协议的职责,搜索对方的地址,一边中转一边传给对方 TCP协议的职责,从对方那里接收的报文段,重组到达的报文段,按序号以原来的顺序重组请求报文 HTTP,对服务器请求的内
大壮
2018-06-19
5780
点击加载更多
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档