实验 2.4whitted-style 中 shiness 的问题

为什么拖动 object 的 shiness bar 到大于 1000 后,输出的 shiness 还是默认的 5?是不是 material 调用的时间不对?
下面是 cast_ray 里的判断代码,这里的 result 是来自 trace 的返回结果。

下面是 trace 返回的值
image

我在 trace 函数中尝试输出 material.shiness 也是默认值 5。

如果程序的写法正确,shiness 应该会返回更改后的结果。也许是在返回 result 之前没有对 result 中的 shiness 进行有效更改,或者在场景中有多个物体时,输出的 shiness 是其他未更改物体的 shiness,再或者是出现了错误的相交判断,从而导致输出了默认值