GLSL 内置的函数和变量

396 阅读1分钟

一、内置函数

三角函数相关

函数说明
radians(a)角度转弧度;等价于 a / 180 * PI
degrees(a)弧度转角度;等价于 a / PI * 180
sin(angle)三角函数-正弦;参数为弧度
cos(angle)三角函数-余弦;参数为弧度
tan(angle)三角函数-正切;参数为弧度
asin(x)反三角函数-反正弦;返回对应弧度
atan(y, x)反三角函数-反余弦;返回对应弧度
atan(x)反三角函数-反正切;返回对应弧度

指数函数相关

函数说明
pow(x, y)返回x的y次方
exp(x)返回e的x次方
log(x)返回以e为底x的对数
log2(x)返回以2为底x的对数
sqrt(x)返回x的开方数

常用函数

函数说明
step(edge, x)等价于 edge <= x ? 1.0 : 0.0;
smoothstep(edge0, edge1, x)返回x介于edge0到edge1的过渡插值
mix(edge0, edge1, x)返回x介于edge0到edge1的线性过渡插值

向量函数相关

函数说明
length(x)返回向量x的模
normalize(x)返回向量x的单位向量

矩阵函数相关

函数说明
transpose(x)返回矩阵x的转置矩阵
inverse(x)返回矩阵x的逆矩阵

二、内置变量

顶点着色器

变量说明
gl_Position用于设置顶点坐标
gl_PointSize用于设置顶点大小

片元着色器

变量说明
gl_FragColor用于设置片元颜色
gl_PointCoord表示当前片元所在的点的坐标;以点左上角为原点,x,y取值范围[0, 1]
gl_FragCoordVec4类型;x,y 表示片元的窗口(以canvas左上角为原点)坐标,