内置变量
优质
小牛编辑
128浏览
2023-12-01
着色器语言在GPU的着色器单元执行,javascript语言、C语言在CPU上执行,任何一种语言的语法规则,整体设计都和它执行的硬件有一定的关系,GPU和CPU执行程序的硬件单元既有相同点,也有不同点。这里谈到GPU和CPU不是为了讲解硬件,而是为了提醒大家,学习着色器语言有些语法可以参考javascript、C等执行在CPU上的语言,比如if语句、for语句、浮点数、布尔值,有些语法完全没必要参考javascript、C等执行在CPU上的语言,比如着色器语言中的内置变量gl_PointSize
、gl_Position
、gl_FragColor
等等,声明一些变量使用的关键字attribute
、uniform
、varying
。学习着色器语言的时候,如果你有兴趣可以深入研究GPU,对于WebGL学习来说,把GPU当成一个黑箱就可以,你只需要学会着色器语言的编程规则即可
普通变量,着色器语言和javascript语言一样需要先声明后使用,所谓内置变量就是不用声明可以直接赋值,主要是为了实现特定的功能。
内置变量 | 含义 | 值数据类型 |
---|---|---|
gl_PointSize | 点渲染模式,方形点区域渲染像素大小 | float |
gl_Position | 顶点位置坐标 | vec4 |
gl_FragColor | 片元颜色值 | vec4 |
gl_FragCoord | 片元坐标,单位像素 | vec2 |
gl_PointCoord | 点渲染模式对应点像素坐标 | vec2 |