ในการติดตามรังสี / การติดตามเส้นทางหนึ่งในวิธีที่ง่ายที่สุดในการต่อต้านนามแฝงของภาพคือการแทนที่ค่าพิกเซลและเฉลี่ยผลลัพธ์ IE แทนที่จะถ่ายภาพตัวอย่างทุกชิ้นผ่านจุดศูนย์กลางของพิกเซลคุณชดเชยตัวอย่างด้วยจำนวนเงินหนึ่ง
ในการค้นหาทั่วอินเทอร์เน็ตฉันได้พบสองวิธีที่แตกต่างกันในการทำสิ่งนี้:
- สร้างตัวอย่างอย่างไรก็ตามคุณต้องการและชั่งน้ำหนักผลลัพธ์ด้วยตัวกรอง
- ตัวอย่างหนึ่งคือPBRT
- สร้างตัวอย่างที่มีการแจกแจงเท่ากับรูปร่างของตัวกรอง
- สองตัวอย่างคือขนาดเล็กและทังสเตนเรนเดอร์ของBenedikt Bitterli
สร้างและชั่งน้ำหนัก
กระบวนการพื้นฐานคือ:
- สร้างตัวอย่างอย่างไรก็ตามคุณต้องการ (ลำดับแบบสุ่มแบ่งชั้นความคลาดเคลื่อนต่ำ ฯลฯ )
- ชดเชยเรย์ของกล้องโดยใช้สองตัวอย่าง (x และ y)
- แสดงภาพด้วยรังสี
- คำนวณน้ำหนักโดยใช้ฟังก์ชั่นตัวกรองและระยะห่างของตัวอย่างโดยอ้างอิงจากจุดศูนย์กลางพิกเซล ตัวอย่างเช่น Box Filter, Tent Filter, Gaussian Filter, ฯลฯ )
- ใช้น้ำหนักกับสีจากการเรนเดอร์
สร้างเป็นรูปร่างของตัวกรอง
หลักฐานพื้นฐานคือการใช้การสุ่มตัวอย่างการแปลงผกผันเพื่อสร้างตัวอย่างที่กระจายตามรูปร่างของตัวกรอง ตัวอย่างเช่นฮิสโตแกรมของตัวอย่างที่กระจายในรูปร่างของเกาส์เซียนจะเป็น:
สิ่งนี้สามารถทำได้อย่างแน่นอนหรือโดยการ binning ฟังก์ชั่นเป็น pdf / cdf แยก smallptใช้ cdf ผกผันที่แน่นอนของตัวกรองเต็นท์ ตัวอย่างของวิธีการ binning สามารถพบได้ที่นี่
คำถาม
ข้อดีและข้อเสียของแต่ละวิธีคืออะไร? แล้วทำไมคุณถึงใช้อันอื่น? ฉันนึกถึงบางสิ่ง:
การสร้างและการชั่งน้ำหนักดูเหมือนว่าจะแข็งแกร่งที่สุดช่วยให้สามารถใช้วิธีการสุ่มตัวอย่างร่วมกับตัวกรองใด ๆ ก็ได้ อย่างไรก็ตามคุณต้องติดตามน้ำหนักใน ImageBuffer แล้วทำการแก้ไขขั้นสุดท้าย
สร้างในรูปร่างของตัวกรองสามารถรองรับรูปร่างของตัวกรองที่เป็นบวกเท่านั้น (เช่น no Mitchell, Catmull Rom หรือ Lanczos) เนื่องจากคุณไม่สามารถมี pdf เชิงลบได้ แต่ดังที่กล่าวไว้ข้างต้นคุณสามารถนำไปใช้งานได้ง่ายขึ้นเนื่องจากคุณไม่จำเป็นต้องติดตามน้ำหนักใด ๆ
ถึงแม้ว่าในท้ายที่สุดฉันคิดว่าคุณสามารถนึกถึงวิธีที่ 2 เป็นการทำให้ง่ายขึ้นของวิธีที่ 1 เนื่องจากมันใช้น้ำหนักตัวกรอง Box แบบปริยาย