RTR博客读书笔记第五章

这是Gooch着色模型。

 

 

这是常见的通用的光照模型的公式

 这里说了为什么光源方向是反的,这是为了方便计算。

 

点光源的问题在于近距离太大,远距离无限小但不是0.所以公式要变种一下。

对于一些常量,编译器可以在编译的时候就直接优化掉。这可以在预编译的时候,可以再安装的时候,也可以在应用程序被加载的时候。

这是法线插值后变短的问题。可以看到如果不归一化,插值结果也会发生变化。所以一般还是要先归一化。插值后再归一化。

这里提到了为了保证CPU和GPU的数据字节对齐,简化了数据布局的任务,一般都是用vec4,即便有空间浪费,但速度会非常快。

早起硬件不支持分支,导致预编译只能编译出所有分支的结果。现在的硬件已经可以支持分支指令。

 

 

这是两种不同的情况。前者是信号得以完美重建,也就是说通过sinc(x)过滤,他的fs是1,那么信号的最大频率必须比0.5要小。如果满足这个条件,那么我们采样的时候,可以双倍采样频率,这样重建出来的信息可以更好的获得抗锯齿。后者是因为原始信号本身频率太高,最大频率比0.5还要大,采样无法完美还原,重建的结果本身已经是丢失了高频信息的信号。那么如果如果进行双倍采样,是无法获得正确的结果的。正确的做法是反其道而行,我们增加采样间隔,让他采样频率变成原来采样频率的一半。

 

多重采样是在每一个像素上采样,但不是中心点,而是分布多个点。

FSAA先生成一个多倍分辨率的图片,然后再使用过滤器和超采样来获得抗锯齿的效果。成本会很高。

MSAA是对同一个像素内部不同位置进行采样,然后得到图形是否覆盖他的位置,每一个采样都有自己的颜色和zbuffer的存储空间,那么根据覆盖的值,就可以把对应的颜色和zbuffer拷贝到对应的空间中。然后,根据采样的点,我们可以判断获取哪个像素才是我们想要的点。

这里提到了TAA,一个根据前一帧信息来抗锯齿的方法。

我们可以把像素移动的速度存在一个buff中。这样我们就可以知道上一帧像素所在的位置。

这里面提到的TAA对静止画面会闪烁,是因为TAA去采样上一帧画面的时候会使用jitter,也就是抖动,如果这一帧和上一帧画面结果不一样,是0.5和0.3,那么权重一样的情况是没有问题的。但如果权重不一样,就会山所。

周期2的情况还真看不出来,但周期为3,就是和前两帧混合,就会出问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yxriyin

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值