OpenGL ES之着色器语言的内建函数

来源:互联网 发布:煤矿生产能力数据库 编辑:程序博客网 时间:2024/05/22 03:06
               角度转换与三角函数    
 

getType radians(genType degrees)

将角度转换为弧度 Result=(π/180)*degrees

getType degrees(genType radians)

将弧度转化为角度 result=(180/π)*radians

genType sin(genType angle)

以弧度为单位,返回值范围[-1,1]

genType cos(genType angle)

以弧度为单位,返回值范围[-1,1]

genType tan(genType angle)

以弧度为单位,返回值范围[-1,1]

genType asin(genType x)

反正弦函数,返回值范围[-π/2,π/2] ,x的参数为[-1,1],如果不在吃范围,结果未知

genType acos(genType x)

反余弦函数,返回值范围[-π/2,π/2] ,x的参数为[-1,1],如果不在吃范围,结果未知

genType atan(genType x, genType y)

反正切函数,返回值范围[-π,π]

 genType atan(genType y_over_x)

反正切函数,返回值范围[-π/2,π/2]



         指数函数

genType pow(genType x, genType y)

返回x的y次方

genType exp(genType x)

返回e的x次方

genType log(genType x)

返回以e为底x的对数

genType exp2(genType x)

返回2的x次方

genType log2(genType x)

返回以2为底的x的对数

genType sqrt(genType x)

返回x的平方根

genType inversesqrt(genType x)

返回x的平方根的倒数

                            
                                             
                             常见函数

genType abs(genType x)

返回x的绝对值

genType sign(genType x)

X<0,返回-1,X=0,返回0,X>0,返回1

genType floor(genType x)

返回小于或者等于x的最大整数

genType ceil(genType x)

返回大于或者等于x的最小整数

genType frack(genType x)

返回x-floor(x),即返回小数部分

genType mod(genType x, float y)

取模运算,返回x-y*floor(x/y)

genType mod(genType x, genType y)

取模运算,返回x-y*floor(x/y)

genType min(genType x, genType y)

返回最小值

genType min(genType x, float y)

返回最小值

genType max(genType x, genType y)

返回最大值

genType max(genType x, float y)

返回最大值

genType clamp(genType x,float minVal,float maxVal)

返回min(max(x, minVal) , maxVal)

genType mix(genType x, genType y, float a)

执行线性混合,即返回x*(1-a)+y*a

genType step(float edge, genType x)

如果x<edge,返回0.0,否则返回1.0

genType smoothstep(float edge0, float edge1, genType x)

如果x<edge,返回0.0,如果x>edge,返回1.0。 否则进行平滑的Hermite插值



                          向量相关函数

float length(genType x)

返回向量x的长度

float distance(genType p0, genType p1)

返回p0与p1的距离,即length(p0-p1)

float dot(genType x, genType y)

返回x与y的点积

vec3 cross(genType x, genType y)

返回x与y的叉积

genType normalize(genType x)

返回与x方向相同的单位向量

genType faceforward(genType N, genType I, genType Nref)

如果dot(Nref, I)<0,返回N

如果dot(Nref, I)>=0,返回-N

genType reflect(genType I, genType N)

根据传入的入射向量I以及法向量N,返回反射方向的向量。(法向量需规则化)

genType refract(genType I, genType N, float eta)

根据传入的入射向量I以及法向量N和折射系数eta,返回折射向量


1 0
原创粉丝点击