以前学过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
码砖去-.-
时间: 2024-10-08 06:39:19