您的位置:首页 > 运维架构

opengl es 2.0 读书笔记2-OpenGL ES 着色器语言

2016-06-02 15:55 381 查看
2. OpenGL ES 编程语言数据类型

- 计算机图形学中,转换有两种基本的数据类型:矢量和矩阵。这也是 OpenGL ES编程语言的中心类型。
- 标量、矢量、矩阵数据类型


变量类型种类描述
Scalarsfloat,int,bool标量数据类型浮点数、整形数、布尔值
Floating-point Vectorsfloat,vec2,vec3,vec4浮点型矢量,1、2、3、4维
Integer Vectorint,ivec2,ivec3,ivec4整型矢量,1、2、3、4维
Boolean vectorint,ivec2,ivec3,ivec4布尔矢量,1、2、3、4维
Matricesmat2,mat3,mat4浮点类型矩阵2x2,3x3,4x4
- 变量必须先声明,与C/C++语法类似,像下面一样


float  specularAtten; // A floating-point-based scalar
vec4  vPosition; // A floating-point-based 4-tuple vector
mat4  mViewProjection; // A 4 x 4 matrix variable declaration
vec2  vOffset; // An integer-based 2-tuple vector


- 变量可以在声明时初始化,或以后初始化,初始化是通过构造函数,也可以做类型转换:
- 标量数据在初始化时赋值


float  myFloat  = 1.0;
bool  myBool = true;
int myInt = 0;
myFloat = float(myBool); // Convert from bool -> float
myFloat = float(myInt); // Convert from int -> float
myBool = bool(myInt); // Convert from int -> bool


- 初始化矢量类型
如果输入的是标量,标量值赋给矢量的所有参数。
如果输入是多个标量或者是矢量,从左到右设置矢量变量的参数,如果多个矢量作为参数,那么矢量里要有至少输入矢量个数的参数。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: