内置变量

优质
小牛编辑
128浏览
2023-12-01

着色器语言在GPU的着色器单元执行,javascript语言、C语言在CPU上执行,任何一种语言的语法规则,整体设计都和它执行的硬件有一定的关系,GPU和CPU执行程序的硬件单元既有相同点,也有不同点。这里谈到GPU和CPU不是为了讲解硬件,而是为了提醒大家,学习着色器语言有些语法可以参考javascript、C等执行在CPU上的语言,比如if语句、for语句、浮点数、布尔值,有些语法完全没必要参考javascript、C等执行在CPU上的语言,比如着色器语言中的内置变量gl_PointSizegl_Positiongl_FragColor等等,声明一些变量使用的关键字attributeuniformvarying。学习着色器语言的时候,如果你有兴趣可以深入研究GPU,对于WebGL学习来说,把GPU当成一个黑箱就可以,你只需要学会着色器语言的编程规则即可

普通变量,着色器语言和javascript语言一样需要先声明后使用,所谓内置变量就是不用声明可以直接赋值,主要是为了实现特定的功能。

内置变量含义值数据类型
gl_PointSize点渲染模式,方形点区域渲染像素大小float
gl_Position顶点位置坐标vec4
gl_FragColor片元颜色值vec4
gl_FragCoord片元坐标,单位像素vec2
gl_PointCoord点渲染模式对应点像素坐标vec2