问题四十:对ray tracing圆环图形进行debug(1)

针对上一章节的最后输出图片,进行debug。


中间那个白色夹杂着红色的圈是什么鬼???


第一步:去掉绿圆环



第二步:将单个像素点的采样次数改为1

那个多余的白色夹杂着红色的圈的颜色之所以是白色偏红色,是因为:多次采样中可能一次出现红色而其他其次都是白色,所以作为最终像素点颜色的多次采样的平均值就是白色偏红色。之前单个像素点采样是100次。


放大5倍后截图:


第三步:针对下方多余像素点进行分析

图中多余的红色像素点,我们认为是多余的。但是,计算机之所以在某个位置生成一个红色像素点,是因为,它认为光线和圆环在这个位置相撞了。也就是说,这个位置对应这光线方程和圆环方程联立后的一个有效实根。

 

在代码中添加如下红色字体代码,去掉Y坐标小于3.4的“有效实根”

            for (int k=1;k<int(roots[0])+1; k++) {

                if (roots[k]< t_max && roots[k] > t_min) {

                    r

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值