Viewing 5 reply threads
  • Author
    Posts
    • #5620 Score: 0

      在按照文档的算法进行实现后,发现最后结果有些奇怪,光源既没有纯黑,也没有显示出光源,如图所示:

      Attachments:
      You must be logged in to view attached files.
    • #5625 Score: 0
      xxrl
      Participant
      1 pt

      你光源的位置是不是变了,中间的墙变亮了

      • #5646 Score: 0
        MrPhD
        Participant
        1 pt

        中间变亮是间接光照导致的,他应该没显示光源而已

    • #5645 Score: 0
      MrPhD
      Participant
      1 pt

      那是因为有间接光照,光源又被间接光照照亮,其实光源应该更亮的,你可以判断一下被ray击中的物体是不是光源,是光源就处理一下。如果你想看光源有没有颜色,你可以把间接光照先关掉。

    • #5670 Score: 0

      尝试过关掉间接光源,还是无法显示纯黑的光源,最后的结果是整个天花板全黑,下面是我的计算直接光和间接光的代码,请大佬们看看哪里出了问题

      Attachments:
      You must be logged in to view attached files.
      • #5672 Score: 0
        MrPhD
        Participant
        1 pt

        天花板全黑就对了啊,光源在天花板上,直接光照情况下,天花板应该就是全黑的

      • #5675 Score: 0
        Yadi Cao
        Participant
        2 pts

        接上楼MrPhD说的“如果打到的是光源/emit=true就处理一下”,他也帮我在一个类似的帖子里解答过,搬运一下希望能帮到你
        详细一点说,处理应该指的是,如果按照原来的算法,在光源上sample一点和hit point(假设也在光源上)直接连接的向量是在平面内的,与光源normal始终垂直,因此计算的direct光照就是零了(也就是光源全黑)。为了避免这种错误,可以直接把这种情况的direct光照先赋值为光源的强度就好,之后的操作照旧。

        • #5676 Score: 1
          Yadi Cao
          Participant
          2 pts

          至于“天花板是全黑的”楼上说的很清楚了,是个巧合,这次恰好天花板和面光源共面。
          不共面的话,有些部分可能会被照亮的

          This post has received 1 vote up.
    • #5679 Score: 0

      可能我没有说清楚,在我的理解里,就是按照文档里的说明,实现了伪代码之后,应该出现一个光源纯黑,但是天花板上有光的图像,而不应该是光源会被间接光照亮的情况,我不太明白为啥我按照伪代码实现后,并没有出现预计的结果,是不是我代码里有一些问题

      • #5680 Score: 0
        MrPhD
        Participant
        1 pt

        既然天花板除光源以外的部分都可以被间接光照打亮,为什么光源部分就不会受到间接光照的影响呢?

        • #5683 Score: 0
          Yadi Cao
          Participant
          2 pts

          哈哈哈我之前也有过类似的误解,以为光源部分不受其他外来入射光线的影响,和固定边界条件似的。

          直到我近距离拿着手机的手电筒照了一个红色的瑜伽砖,手机电筒附近也出现了红色的光晕我就意识到这个了。

    • #5684 Score: 0

      好吧,看来我也误解了这个说明,谢谢各位大佬指教

Viewing 5 reply threads
  • You must be logged in to reply to this topic.