首页 > 代码库 > Opengl ES 2.0的学习笔记(一)

Opengl ES 2.0的学习笔记(一)

以前学过opengles的东西,基于android sdk的 1.0版本,陈旧,效率低不说,切通用性也差很多。why?

现在市面的手机有些个已经对老的1.0版本的支持不好,我上个月去买手机,我以前做的游戏基于1.0的在三星手机上可以贴上材质,却在小米魅族等手机上贴不了材质,不知道是什么愿意,在论坛里说是手机对旧版api的不支持,也不知道是不是真的.并且java版本对内存的控制实在是硬伤,所以我还是转投c/c++和ndk怀抱了-.-

 

在opengles 1.0,是固定管线的渲染,2.0做到可编程管线,可编程,我的理解就是另外一种语言来对他进行更更加复杂的制作(opengl es shading langage),他保留了c的风格.

向量:vecX 这个X可以是2,可以是3,也可以是4,意味着他拥有几个相同的标量

标量:bool int float,是向量的基本构成元素,如果在Vec前加b,i,f则表示他是什么类型的标量例如bvec2 ivec3 fvec4

矩阵:mat,他是Matrix的缩写,第一次见到我以为是数学的缩写,囧,mat2是2维浮点矩阵,mat4是4维浮点矩阵

限定符:

Attribute,用于定点,设置坐标,颜色,纹理,法向量,他用于定点着色器.

Uniform:用于3D物体,例如当前光源位置,用于顶点着色器和片元着色器.

Varying:从顶点着色器和片元着色器的量,我认为他是一个桥.

1.0的绘制方法

读取定点数据

读取颜色数据

绘制

2.0的绘制方法

读取顶点数据

读取颜色数据

加载顶点Shader

加载颜色Shader

gl程序链接 编译

绘制

 

end

码砖去-.-

 

Opengl ES 2.0的学习笔记(一)