opengles2.0 学习笔记
- 指定图元顶点数据(亦称顶点属性)
顶点属性有常量顶点属性,和属性数组。
常量指的是所有的顶点都公用此属性。比如单色的三角形,则颜色属性对所有的顶点都一样。
通过命令glVertexAtrrib*f(index,float...) 或 glVertexAtrrib*fv(index,float*)来指定。2.0版本暂时只支持 float类型的顶点常量。
如果每个顶点的某个属性不可以用常量,则可以用属性数组来表示。每一个顶点的属性存放在数组里。
glVertexAttribPoint(index,size,type,normalized,stride,ptr) 用来指定顶点属性
index: 把此属性数据绑定在第几个属性槽,范围从 0到 max vertex attributes supported – 1 ,2.0版本要求最少支持8个属性槽。也就是说一个顶点最少有8个属性,基本也够用了。
size:表示此属性有几个分量。比如如果是表示位置的属性,则可能有3个分量;如果是表示纹理坐标的分量,则可能是2;等等。
type:表示每个分量的类型,比如可以是 GL_FLOAT GL_BYTE GL_UNSIGNED_BYTE 等
normalized:表示由非float型向float型转换时,是否需要标准化,即转换到 [0,1],或[-1,1]范围内
stride:由于属性在buff内有可能不是连续存放的(即通一种属性之间有间隔),stride则表示此间隔,用于寻找下一个属性。
ptr:即指向此buff的指针。
顶点属性有两种属性,一个是常量属性,一种是属性数组。要想使用顶点属性数组功能,则需要调用 glEnableVertexAttribArray(index)命令;调用glDisableVertexAttribArray(index)则表示
index处的表示的属性是常量属性。
顶点数组数据存在应用程序的内存中,每次调用glDrawElements()和glDrawArrays()都会把顶点数组数据从内存拷贝到图形显存中。很消耗时间跟总线带宽。
opengles2.0 学习笔记的更多相关文章
- DirectX 总结和DirectX 9.0 学习笔记
转自:http://www.cnblogs.com/graphics/archive/2009/11/25/1583682.html DirectX 总结 DDS DirectXDraw Surfac ...
- 一起学ASP.NET Core 2.0学习笔记(二): ef core2.0 及mysql provider 、Fluent API相关配置及迁移
不得不说微软的技术迭代还是很快的,上了微软的船就得跟着她走下去,前文一起学ASP.NET Core 2.0学习笔记(一): CentOS下 .net core2 sdk nginx.superviso ...
- vue2.0学习笔记之路由(二)路由嵌套+动画
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- vue2.0学习笔记之路由(二)路由嵌套
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- hdcms v5.7.0学习笔记
hdcms v5.7.0学习笔记 https://note.youdao.com/ynoteshare1/index.html?id=c404d63ac910eb15a440452f73d6a6db& ...
- dhtmlxgrid v3.0学习笔记
dhtmlxgrid v3.0学习笔记 分类: dhtmlx JavaScript2012-01-31 15:41 1744人阅读 评论(0) 收藏 举报 stylesheetdatecalendar ...
- OAuth 2.0学习笔记
文章目录 OAuth的作用就是让"客户端"安全可控地获取"用户"的授权,与"服务商提供商"进行互动. OAuth在"客户端&quo ...
- 一起学ASP.NET Core 2.0学习笔记(一): CentOS下 .net core2 sdk nginx、supervisor、mysql环境搭建
作为.neter,看到.net core 2.0的正式发布,心里是有点小激动的,迫不及待的体验了一把,发现速度确实是快了很多,其中也遇到一些小问题,所以整理了一些学习笔记: 阅读目录 环境说明 安装C ...
- RxJava2.0学习笔记2 2018年7月3日 周二
摘记: 1.map -- 转换 有些服务端的接口设计,会在返回的数据外层包裹一些额外信息,这些信息对于调试很有用,但本地显示是用不到的.使用 map() 可以把外层的格式剥掉,只留下本地会用到的核心 ...
随机推荐
- sql日期函数操作
sql语句获取本周.本月.本年数据 SQL Serverselect * from [data] where DATEPART(m,[date])=2 Accessselect * from [da ...
- ORacle初级题
一. 选择(每题1分,共15分) 1.在linux系统中,可以通过以下命令查看内核版本(). * A.who B.hostname C.uname -r D.release 2.登入linux系统后, ...
- Python自动化 【第六篇】:Python基础-面向对象
目录: 面向过程VS面向对象 面向对象编程介绍 为什么要用面向对象进行开发 面向对象的特性:封装.继承.多态 面向过程 VS 面向对象 面向过程编程(Procedural Programming) ...
- Gradient Boosting Decision Tree学习
Gradient Boosting Decision Tree,即梯度提升树,简称GBDT,也叫GBRT(Gradient Boosting Regression Tree),也称为Multiple ...
- 8天掌握EF的Code First开发系列之2 简单的CRUD操作
本文出自8天掌握EF的Code First开发系列,经过自己的实践整理出来. 本篇目录 创建控制台项目 根据.Net中的类来创建数据库 简单的CRUD操作 数据库模式更改介绍 本章小结 本人的实验环境 ...
- IE6,IE7上设置body{overflow:hidden;}失效Bug
IE6,IE7下设置body{overflow:hidden;}失效Bug 最近做项目发现在IE7下设置body{overflow:hidden;}后还是会出现纵向滚动条,所以上网查查了,在这里记录一 ...
- MVC dirname(——FILE——)
1.MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑.数据.界面显示分离的方法组织 ...
- scala学习心得(2)
scala类中可以通过override 重载方法 scala定义的函数式类不可被改变,这样传进去的参数就需要提前被检验,可以通过scala.predef包中的方法require方法 定义辅助构造器 d ...
- Linux内核分析第四周学习总结:扒开系统调用的三层皮(上)
韩玉琪 + 原创作品转载请注明出处 + <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 一.用户态.内核 ...
- spi_flash
http://blog.chinaunix.net/uid-27406766-id-3384699.html