GLSL常见函数[转]

radians(x):角度转弧度

degrees(x):弧度转角度

sin(x):正弦函数,传入值为弧度。三角函数与js相同,有cos余弦函数、tan正切函数、asin反正弦、acos反余弦、atan反正切等

pow(x,y):xy

exp(x):ex

exp2(x):2x

log(x):logex

log2(x):log2x

sqrt(x):x√

inversesqr(x):1x√

abs(x):取x的绝对值

sign(x):x>0返回1.0,x<0返回-1.0,否则返回0.0

ceil(x):返回大于或者等于x的整数

floor(x):返回小于或者等于x的整数

fract(x):返回x-floor(x)的值

mod(x,y):取模(求余)

min(x,y):获取xy中小的那个

max(x,y):获取xy中大的那个

mix(x,y,a):返回x∗(1−a)+y∗a

step(x,a):x< a返回0.0,否则返回1.0

smoothstep(x,y,a):a < x返回0.0,a>y返回1.0,否则返回0.0-1.0之间平滑的Hermite插值。

dFdx(p):p在x方向上的偏导数

dFdy(p):p在y方向上的偏导数

fwidth(p):p在x和y方向上的偏导数的绝对值之和

几何函数

length(x):计算向量x的长度

distance(x,y):返回向量xy之间的距离

dot(x,y):返回向量xy的点积

cross(x,y):返回向量xy的差积

normalize(x):返回与x向量方向相同,长度为1的向量

矩阵函数

matrixCompMult(x,y):将矩阵相乘

lessThan(x,y):返回向量xy的各个分量执行x< y的结果,类似的有greaterThan,equal,notEqual

lessThanEqual(x,y):返回向量xy的各个分量执行x<= y的结果,类似的有类似的有greaterThanEqual

any(bvec x):x有一个元素为true,则为true

all(bvec x):x所有元素为true,则返回true,否则返回false

not(bvec x):x所有分量执行逻辑非运算

纹理采样函数

纹理采样函数有texture2D、texture2DProj、texture2DLod、texture2DProjLod、textureCube、textureCubeLod及texture3D、texture3DProj、texture3DLod、texture3DProjLod等。

texture表示纹理采样,2D表示对2D纹理采样,3D表示对3D纹理采样

Lod后缀,只适用于顶点着色器采样

Proj表示纹理坐标st会除以q

原文:https://www.cnblogs.com/wanghui2011/articles/11283378.html

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
glsl pbr (Physically Based Rendering)在玻璃材质的渲染方面有着广泛应用。 玻璃是一种透明的材质,其渲染需要考虑折射和反射。在glsl pbr中,我们可以使用Snell's Law来模拟光线通过玻璃时的折射效果。Snell's Law将入射光线的角度和折射介质的折射率关联起来,从而计算出透射光线的方向。 另外一个需要考虑的因素是玻璃的反射,特别是在存在其他物体的情况下。根据Fresnel公式,我们可以计算出入射光线反射和折射的比例。这个比例与光线的入射角度、玻璃的折射率和光线的波长有关。通过调整这些参数,我们可以模拟出玻璃材质在不同角度下的反射效果。 为了提升渲染的逼真度,我们还可以考虑玻璃的各向异性。各向异性是指材质在不同方向上具有不同的物理性质,这在玻璃材质中是很常见的。在glsl pbr中,可以使用各向异性的反射和折射计算公式来模拟这种效果。 除了考虑折射和反射,还可以考虑玻璃材质的磨砂效果。磨砂玻璃通过将表面粗糙化来散射光线,从而产生柔和的透明效果。在glsl pbr中,可以使用纹理或噪声函数来模拟磨砂效果,使得玻璃看起来更加真实。 综上所述,glsl pbr提供了丰富的工具和技术来渲染玻璃材质。通过模拟折射、反射、各向异性和磨砂效果,我们可以在计算机模拟中实现令人满意的逼真玻璃效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值