openGL ES 2.0 笔记 3
2011-04-17 23:42
218 查看
结构
和c语言一样,有一点不同是在初始化是,不需要加struck关键字,C语言必须加,访问时,用"."操作符举例如下:struct fogStruct { vec4 color; float start; float end; } fogVar; fogVar = fogStruct(vec4(0.0, 1.0, 0.0, 0.0), // color 0.5, // start 2.0); // end
vec4 color = fogVar.color; float start = fogVar.start; float end = fogVar.end;
数组
和C基本一样,有两点区别数组下标不能是在编译时,仍不确定数值的变量,uniform变量除外,因为uniform变量是只读的,不会在程序中修改。这点类似于访问向量的元素
数组声明时,不能直接初始化,因为不支持这种初始化方式,只能一个一个元素初始化
运算符
只支持算术,逻辑,比较运算,其它如位运算,移位运算,均不支持。*运算支持类似C++里的多态,允许两边的操作数为float, vector,matrix中任何一个,举例如下:float myFloat; vec4 myVec4; mat4 myMat4; myVec4 = myVec4 * myFloat; // Multiplies each component of myVec4 // by a scalar myFloat myVec4 = myVec4 * myVec4; // Multiplies each component of myVec4 // together (e.g., myVec4 ^ 2 ) myVec4 = myMat4 * myVec4; // Does a matrix * vector multiply of // myMat4 * myVec4 myMat4 = myMat4 * myMat4; // Does a matrix * matrix multiply of // myMat4 * myMat4 myMat4 = myMat4 * myFloat; // Multiplies each matrix component by // the scalar myFloat
注意:算术运算不支持bool型,比较运算只支持标量
相关文章推荐
- OpenGL ES 2.0 学习笔记(四)
- OpenGL ES 2.0 笔记 - 着色语言的内置函数
- opengl es 2.0 读书笔记1-什么是OpenGL ES
- 【C++ OpenGL ES 2.0编程笔记】1: OpenGL ES 2.0 渲染管线和EGL
- OpenGL ES 2.0 笔记 - 特殊的内建变量
- openGL ES 2.0 笔记 vertex shader
- OpenGL ES 2.0 学习笔记(一)
- openGL ES 2.0 笔记 texture
- openGL ES 2.0 笔记 2
- OpenGL ES 2.0 笔记 - 着色语言基础
- opengl es 2.0 学习笔记1
- OpenGL ES 2.0 学习笔记(三)
- OpenGL ES 2.0 Specification (OES 2.0规范)学习笔记
- openGL ES 2.0 笔记 4
- openGL ES 2.0 笔记1
- openGL ES 2.0 笔记 5
- openGL ES 2.0 笔记 6
- OpenGL ES 2.0 学习笔记(二)
- openGL ES 2.0 笔记 7 Vertex Attribute
- Android OpenGL ES 2.0-学习笔记(一)