在看Cesium
着色器源码的时候,看到了WebGL
中的一些内置函数,为方便以后查看,特意记录一下:
1.texture2D
vec4 texture2D(sampler2D sampler, vec2 coord)
第一个参数代表图片纹理,第二个参数代表纹理坐标点,通过GLSL
的内建函数texture2D
来获取对应位置纹理的颜色RGBA
值。
2.normalize
genType normalize (genType x)
标准化向量,返回一个方向和x相同但长度为1的向量。
3.abs
float abs(float x)
返回x的无符号绝对值,即如果x大于0则返回x,否则返回-x。
4.min
float min(float x, float y)
返回x和y中最小的值。
5.max
float max(float x, float y)
返回x和y中最大的值。
6.clamp
float clamp(float x, float minVal, float maxVal)
将x限制在minVal和maxVal之间。
7.step
float step(float edge, float x)
根据两个数值生成阶梯函数,如果x<edge则返回0.0,否则返回1.0
8.fract
float fract(float x)
返回x的小数部分
9.smoothstep
float smoothstep(float edge0, float edge1, float x)
如果x<=edge0则返回0.0,如果x>=edge1则返回1.0
10.length
返回向量的长度。
11.mod
float mod(float x, float y)
返回x除以y的余数
12.distance
计算两点之间的距离
13.floor
float floor(float x)
返回小于等于x并且最接近x的整数,就是向下取整。
14.mix
float mix(float x, float y, float a)
返回x和y的线性混合,即x(1-a)+ya
15. dot
点乘 返回两个单位向量之间夹角的cos
值。
16.cross
vec3 cross (vec3 x, vec3 y)
向量x,y之间的叉积。
17.ceil
float ceil(float x)
返回大于等于x并且最接近x的整数,就是向上取整。
18.sign
float sign(float x)
此函数又称为符号函数,如果x>0返回1.0,如果x=0返回0.0,否则返回-1.0
19.lessThan
比较x < y.
20 lessThanEqual
比较x<=y
21 greaterThan
比较x>y
22 greaterThanEqual
比较x>=y
23 equal
比较x==y
24 notEqual
比较x!=y
25 bool any(bvec x)
如果向量x的任何组件为true,则结果返回true。
26 bool all(bvec x)
如果向量x的所有组件均为true,则结果返回true。
27 bvec not(bvec x)
返回向量x的互补矩阵