【关键字】ddx ddy 导数函数

@[TOC] shader 关键字
原文链接:http://www.aclockworkberry.com/shader-derivative-functions/#footnote_3_1104

导数运算
在三角形光栅化期间,gpu一次运行多个片段着色器的实例,每个实例是2×2像素块。导数就是计算像素块中的像素值的差异。如下图所示:
在这里插入图片描述
ddx:像素右侧减去左边的像素差
ddy:像素下方减去上方的像素差

应用:
1.mipmaps 应用
在纹理采样中,根据UV的导数来选择mipmap等级,导数越大,mipmap等级值越高,反义亦然。

2.法线计算
法线等于ddx和ddy的叉乘:normalize( cross(ddx(pos), ddy(pos)) );
ps:在HlSL上面,或者Unity上面要写成normalize( cross(ddy(pos),ddx(pos)) )

3.[branch]
不能在[branch]的分支中使用,会报错。

4.块对齐

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值