请问为什么把 shininess 调到大于 1000 时渲染结果会出现一片黑,下面是全反射情况的代码
我也遇到这个现象了,我和你的代码逻辑基本一致,感觉这样写确实会黑漆漆一片,因为光碰到物体表面都被反射走了,能看到的只可能是光源,然而光源没有大小,所以啥都看不见。
因为按照我们的实验设定,镜面材质的物体自身是没有颜色的,它表面的颜色完全由所反射的环境颜色决定。而如果场景中没有其他物体可供反射,所有射线都求交失败就会都返回 (0, 0, 0) 颜色(黑色),导致整个物体全黑。
1 Like
如果镜面的材质还是一片黑,可以调整一下光源和相机的位置,如果仍然无法出现反射,那么需要检查一下全反射的实现逻辑以及法线方向是否存在问题
1 Like