楼主 我按参照了你给的文章实现了一下,光滑物体较多的时候确实会有莫名的白色两点,但我尝试将castRay的返回值clamp到Vector3f(0)~Vector3f(1)之间后,效果好了很多,但是我不知道这样做对不对,符不符合物理。
return Vector3f::Min(Vector3f::Max(color, Vector3f(0)), Vector3f(1));
附图是128spp结合重要性采样的效果,用roughness和metallic控制材质属性,就是learnOpenGL那个。
Attachments:
You must be
logged in to view attached files.