เมื่อแปลงจากการสุ่มตัวอย่างซีกโลกเท่ากันเพื่อการสุ่มตัวอย่างซีกโลกถ่วงน้ำหนักโคไซน์ฉันสับสนโดยคำสั่งในบทความ
ผลงานทางอ้อมในปัจจุบันของฉันถูกคำนวณดังนี้:
Vec3 RayDir = UniformGenerator.Next()
Color3 indirectDiffuse = Normal.dot(RayDir) * castRay(Origin, RayDir)
จุดผลิตภัณฑ์เป็น cos (θ)
แต่ในบทความนี้เกี่ยวกับการสุ่มตัวอย่างที่ดีกว่า ( http://www.rorydriscoll.com/2009/01/07/better-sampling/ ) ผู้เขียนแนะนำว่า PDF คือ (cos (θ) / pi) และไม่มีหลักฐานของ การคำนวณ N dot L
คำถามของฉันคือ - นั่นหมายความว่าฉันไม่จำเป็นต้องทำการ dot dotDirection ปกติอีกต่อไปเพราะมันรวมอยู่ใน PDF หรือนอกเหนือจาก pdf หรือไม่