レイトレーサーのシャドウレイに問題があります。
次の2枚の写真をご覧ください
3D sMax:
代替テキストhttp://neo.cycovery.com/shadow_problem.gif
私のレイトレーサー:
代替テキストhttp://neo.cycovery.com/shadow_problem2.jpg
シーンは非常に明るい光で照らされ、後ろから輝いています。非常に明るいので、シェーディングにグラデーションはなく、白または暗い(露出オーバーのため)だけです。
両方の画像は3DStudioMaxを使用してレンダリングされ、両方ともまったく同じジオメトリを使用します。1つのケースでは、法線が三角形全体に補間されます。
次に、表面の赤い点について考えます。滑らかでないバージョンの場合、それは暗い領域にあります。これは、光源が三角形とは反対を向いているため、この三角形からは光源が見えないことを意味します。ただし、平滑化されたバージョンでは、補間された法線がそのポイントで光が見えることを示唆しているため、明るい領域にあります(三角形の実際のジオメトリは光源とは反対を向いていますが)。
私の問題は、レイトレーシングされたシャドウが入ってくるときです。シャドウレイが赤い点からシーンに照射され、光源が見えるかどうかをテストする場合(シャドウイングを決定するため)、シャドウレイは交差点を返します。法線が補間されるかどうか(交差はジオメトリにのみ依存するため)。したがって、ピクセルは暗くシェーディングされます。
3dsamxはケースを正しく処理しています-レンダリングされた画像はレイトレースシャドウをオンにして生成されました。ただし、レイトレーシングされたシャドウをオンにすると、自分のレイトレーサーでこの問題が発生します(レイトレーシングされたシャドウがシャドウにあるポイントを決定するため、レイトレーサーでは、どちらの場合もポイントが暗くなります)。解決方法がわかりません。それ。
誰かがこの問題とその対処方法を知っていることを願っています。
ありがとう!