OpenGL ES着色器语言规范 5 操作符和表达式(5.1-5.3)

目录

5 操作符和表达式

5.1 操作符

5.2数组下标

5.3函数调用


5 操作符和表达式

5.1 操作符

OpenGL ES着色语言具有以下运算符。

优先级 操作说明 操作符 顺序
1(最高) 括号分组 ( ) NA
2

数组下标

函数调用和构造器

成员选择与混合

自加1 自减1 后缀

[ ]
( )
.
++ --
从左到右
3

自加1 自减1 前缀

一元运算符

++ --
+ - ~ !
从右到左
4 乘法、除法、取余 * / % 从左到右
5 加法、减法 + - 从左到右
6 左移 右移 << >> 从左到右
7 关系运算符 < > <= >= 从左到右
8 等于 不等于 == != 从左到右
9 按位与 & 从左到右
10 按位异或 ^ 从左到右
11 按位或 从左到右
12 逻辑与 && 从左到右
13 逻辑异或 ^^ 从左到右
14 逻辑或 | | 从左到右
15 选择 ? : 从右到左
16 赋值运算符 =
+= -=
*= /=
%= <<= >>=
&= ^= |=
从右到左
17(最低) 按顺序排列 , 从左到右

没有地址操作符或解除引用操作符。 没有类型转换运算符,而是使用构造函数(例如int类型值1,转成float类型的值:float(1) )。

5.2数组下标

数组元素通过数组下标操作符([ ])进行访问.这是操作数组的唯一操作符,举个访问数组元素的栗子:

diffuseColor += lightIntensity[3] * NdotL;

5.3函数调用

如果函数返回一个值,那么对该函数的调用可以用作表达式,其类型将是用于声明或定义函数的类型。

函数定义和调用约定在第6.1节“函数定义”中讨论。

 

版权:https://blog.csdn.net/flycatdeng/article/details/88983973

OpenGL ES着色器语言规范 5 操作符和表达式(5.1-5.3)