U3D Shader 转 WebGL Shader 函数合集

之前发过一些相关帖子 就懒得整理了 为什么呢?(因为懒 哈哈哈) 今后如果有需要补充的就放在这里了!

U3D frac 即 WebGL 内置函数 fract 返回x的小数部分

float frac(float x)

{

    return x-floor(x);

}

 

//线性插值

float lerp(float from,float to, float t )

{

t = max(0.0, min(1.0, t));

return from + ( to - from ) * t;

}

vec3 lerp(vec3 from,vec3 to, float t )

{

t = max(0.0, min(1.0, t));

vec3 tmp;

tmp.x = from.x + ( to.x - from.x ) * t;

tmp.y = from.y + ( to.y - from.y ) * t;

tmp.z = from.z + ( to.z - from.z ) * t;

return tmp;

}

vec4 lerp(vec4 from,vec4 to, float t )

{

t = max(0.0, min(1.0, t));

vec4 tmp;

tmp.x = from.x + ( to.x - from.x ) * t;

tmp.y = from.y + ( to.y - from.y ) * t;

tmp.z = from.z + ( to.z - from.z ) * t;

tmp.w = from.w + ( to.w - from.w ) * t;

return tmp;

}

//返回0-1之间的数

float saturate(float x)

{

return max(0.0, min(1.0, x));

}

vec3 saturate(vec3 v)

{

v.x = max(0.0, min(1.0, v.x));

v.y = max(0.0, min(1.0, v.y));

v.z = max(0.0, min(1.0, v.z));

return v;

}

mul=matrixCmpMult  这两个是等效的

你可能感兴趣的:(U3D Shader 转 WebGL Shader 函数合集)