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  这两个是等效的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值