当前位置: 首页 > 工具软件 > gls > 使用案例 >

GLSL 变量

薛保臣
2023-12-01
GLSL变量认识  
(1)   基本数据类型  
Android上OpenGL ES2.0中 基本数据类型: 
浮点型( float )、布尔型( bool )、整型( int )、矩阵型( matrix )以及向量型 (vec2 vec3 ) 等。 
总体来说,这些数据类型可以分为标量、向量、矩阵、采样器以及数组等几类。 
类型
描述  
float
IEEE 32位浮点值  
int
有符号二进制补码的32位整数 
uint
无符号的32位整数 
bool
布尔值 

(2)   什么是标量
标量 也被称为“无向量”其值只有大小,并不具有方向。 
OpenGL ES着色语言支持的标量类型有布尔型( bool )、整形( int )和浮点型( float )。 

(3)   变量命名规范
变量命名规范 :可以使用字母、数字、以及"_" 来组成。 
注意:1.数字和下划线不能作为变量名的第一个字符。 
     2.变量名不能包含连续的下划线 
     3.系统内变量都是以"gl_"作为开头,因此用户自定义的变量不允许使用"gl_"作为开 头。 
    4.见名知意,多个单词组合,除第一个单词全部小写外,其他每个单词的第一个字母大写。 

(4)   变量的初始化
int i, num = 1500;
1.可以表示 八进制、十进制、十六进制的值
2.可以表示负数整数
3.末尾加“u”或者“U"来表示无符号整数
例:
int a = 15; //十进制
int b = 036; // 八进制(零开头的字面常量为八进制,代表十进制的30)
int c = 0x3D; // 十六进制(0x开头的字面常量为十六进制,代表十进制的58)
float f, g=9.8;
1.必须包含小数点;
2.整数可以隐式转换 float;
3.选择性的末尾加 “ f ” 或 “ F ”。
bool falling = true;
可以为 ture 或者 false

(4)   类型的转换

int i = 18 ; // 声明一个整数
float f = i ; // 隐式转换
bool b = bool ( f ) ; // 将浮点数转换为布尔值类型,该构造函数将非0的数字转为true,0转为false;
float f2 = float ( b ) ; // 将布尔值转为浮点数,true 转为 1.0, false 转为 0.0;


ps:以上若有不对的地方还请指出。


 类似资料: