OpenGL

WebGL内置函数

2021-07-21  本文已影响0人  写前端的大叔

在看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的互补矩阵

上一篇 下一篇

猜你喜欢

热点阅读