19 1月

Jetter Sampling Antialiasing 随机采样抗锯齿(二)

在抗锯齿第一章我们讲了均匀采样。如,将一个像素点分成5*5的子格子分别进行光线采样。

organiti

他的缺点就是太平均了,可能会出现一些奇怪的波纹。大自然都是无规律的形状,所以我们也要随机话。

jettersample

a图,在一个像素点随机取25个点进行光线采样,缺点是点很不平均。

b图,更均匀的分布,原理如c图将一个像素分割成5*5的格子,然后在每个子格子中采样点进行光线采样。即随机,又均匀。

代码修改很简单。只要将前一章的

q+0.5   p+0.5 替换成 q+rand_float()  p+rand_float(),rand_float()范围是0到1