R1ac

@R1ac

  • 问题解决了,是我默认将重心当作着色的位置导致的着色不均匀,进而偏移的解决也只需按 EPSILON 修正就可以了

    Post #4
  • image
    学长我这法线是按上面这样计算的,没有插值,然后在其他函数并未对法线做任何处理;
    最开始法线的计算是下面这张图一样,其中 nor[i] 是从 mesh 中提取的,这种做法渲染得到的颜色计算也不正确,并且也存在上面的问题,同时时间要比前一种要慢 1 分钟左右,然后我测试的助教发布的搭建好的软件渲染时间是要我渲染的时间两倍还要多,不知道是哪里多出了这些时间
    image

    然后那个偏移那个是将渲染的面片重心向光线方向偏移 0.5 个单位向量,而后我给它改道 0.3 左右才刚好避免那个 trace 导致的黑点产生,但看起来偏移还是很大

    Post #3
  • image
    输出原 diffuse 是计算结果全 0,于是尝试了一下将 diffuse 计算中的-LD 换成了 LD 出现了上述结果 😢

    Post #2
  • image
    我按照你说的方法试了一下,感觉是原来的黑色和白色互换了一下

    对于你说的是否是判断 inside triangle 出现的问题,我觉得问题不在这里,可能是在屏幕坐标系下对像素点的遍历出现了叠加?

    Post #3