การติดตาม Radiosity VS Ray


12

Radiosity นั้นเป็นสิ่งที่อนุญาตให้: การส่องสว่างโดยตรงกับ Radiosity

ในแบบฝึกหัดของCornell University เกี่ยวกับ Radiosityกล่าวไว้ว่า:

รูปภาพเวอร์ชันที่ติดตามด้วยรังสีจะแสดงเฉพาะแสงที่มาถึงวิวเวอร์โดยการสะท้อนโดยตรงดังนั้นจึงพลาดเอฟเฟกต์สี

อย่างไรก็ตามในWikipedia :

Radiosity เป็นอัลกอริธึมการส่องสว่างระดับโลกในแง่ที่ว่าการส่องสว่างที่มาถึงพื้นผิวนั้นไม่เพียงแค่มาจากแหล่งกำเนิดแสงโดยตรง แต่ยังมาจากพื้นผิวอื่นที่สะท้อนแสงด้วย

...

วิธี radiosityในที่เกิดขึ้นในปัจจุบันบริบทคอมพิวเตอร์กราฟิกจาก (และเป็นพื้นฐานเดียวกับ) วิธี radiosity ในการถ่ายโอนความร้อน

และถ้าการติดตามรังสีมีความสามารถ:

การจำลองเอฟเฟกต์แสงที่หลากหลายเช่นการสะท้อน (การสะท้อนแบบกระจาย ) และการกระเจิง (เช่นการเบี่ยงเบนของรังสีจากเส้นทางตรงเช่นการผิดปกติในสื่อที่แพร่กระจายอนุภาคหรือในอินเตอร์เฟซระหว่างสองสื่อ)

บทช่วยสอนนั้นไม่ได้พิจารณาผลกระทบเหล่านี้หรือมีวิธีใช้คลื่นความถี่ที่สามารถใช้ในการติดตามรังสีเพื่อเปิดใช้งานได้หรือไม่

ถ้าไม่เอฟเฟกต์แสงเหล่านี้ไม่สามารถจำลองสภาพคลื่นวิทยุทั้งหมดหรืออัลกอริทึมแบบคลื่นวิทยุมีประสิทธิภาพมากขึ้นในการแก้ปัญหาการสะท้อนแสงแบบกระจายหรือไม่?

คำตอบ:


13

Radiosity ไม่ได้คำนึงถึงการสะท้อนแสงแบบ specular (กล่าวคือมันเป็นแค่การสะท้อนแบบกระจาย) การติดตามรังสีของ Whitted จะพิจารณาเฉพาะการสะท้อนแบบเงาหรือแบบกระจายซึ่งอาจเป็นกระจกสะท้อน และในที่สุดการติดตามเส้นทางของ Kajiya นั้นเป็นวิธีที่ธรรมดาที่สุด [2] ในการจัดการกับการสะท้อนแสงแบบมันวาวและแบบ specular จำนวนเท่าใดก็ได้

ดังนั้นฉันคิดว่ามันขึ้นอยู่กับสิ่งที่คุณหมายถึงโดย "การติดตามรังสี": เทคนิคที่พัฒนาโดย Whitted หรือ "การติดตามรังสี" ชนิดใด ๆ ...

หมายเหตุด้านข้าง: Heckbert [1] (หรือ Shirley?) ได้วางแผนการจัดประเภทของเหตุการณ์การกระเจิงของแสงซึ่งเกิดขึ้นเมื่อแสงเดินทางจากโคมไฟไปที่ดวงตา โดยทั่วไปมีรูปแบบดังต่อไปนี้:

L(S|D)*E

"L" หมายถึงโคมไฟ "D" สำหรับการสะท้อนแบบกระจาย "S" สำหรับการสะท้อนแบบสะท้อนแสงหรือการหักเห "E" ต่อตาและสัญลักษณ์ "*", "|", "()", "[]" จากเครื่องหมายนิพจน์ทั่วไปและแสดงว่า "ศูนย์หรือมากกว่า", "หรือ", "การจัดกลุ่ม", "หนึ่งใน" ตามลำดับ Veach [3] ขยายสัญกรณ์ในวิทยานิพนธ์ที่โด่งดังของเขาโดย "D" สำหรับ Lambertian, "S" สำหรับ specular และ "G" เพื่อการสะท้อนเงาและ "T" สำหรับการส่งสัญญาณ

โดยเฉพาะอย่างยิ่งเทคนิคต่อไปนี้จัดเป็น:

  • การแรเงา OpenGL: EDL

  • การหล่อเรย์ของ Appel: E(D|G)L

  • การติดตามรังสีของ Whitted: E[S*](D|G)L

  • การติดตามเส้นทางของ Kajiya: E[(D|G|S)+(D|G)]L

  • วิทยุของ Golar: ED*L

[1] Paul S. Heckbert ปรับพื้นผิว radiosity สำหรับการติดตามรังสีแบบสองทิศทาง SIGGRAPH คอมพิวเตอร์กราฟิกส์เล่มที่ 24 ฉบับที่ 4 สิงหาคม 2533

[2] Siggraph 2001 แน่นอน "รัฐของศิลปะใน Monte Carlo Ray Tracing สำหรับการสังเคราะห์สารที่สมจริงภาพกล่าวว่า" ต่อไปนี้: "กระจายรังสีติดตามและเส้นทางการติดตามรวมถึงการตีกลับหลายที่เกี่ยวข้องกับการกระเจิงไม่ใช่ specular เช่นE(D|G)*Lอย่างไรก็ตามแม้วิธีการเหล่านี้ไม่สนใจ. เส้นทางของรูปแบบE(D|G)S*Lนั่นคือการสะท้อนแสงหลายครั้งจากแหล่งกำเนิดแสงในรูปแบบกัดกร่อน "

[3] Eric Veach วิธีการมอนติคาร์โลที่แข็งแกร่งสำหรับการจำลองการขนส่งด้วยแสง ปริญญาเอก วิทยานิพนธ์มหาวิทยาลัยสแตนฟอร์ดธันวาคม 1997


สัญกรณ์สำหรับการติดตามเส้นทางแสดงให้เห็นว่ามันไม่สามารถจัดการกับเส้นทางได้ES*Lแต่แน่นอนว่ามันสามารถทำได้หากเป็นไฟในพื้นที่ (ไม่ใช่ไฟที่ตรงเวลา) นอกจากนี้ฉันคิดว่าข้อความในการอ้างอิงของคุณ [2] นั้นผิดพลาดไปหมด การติดตามเส้นทางจะไม่เพิกเฉยต่อการกัดกร่อน มันไม่ได้มีประสิทธิภาพมากสำหรับพวกเขา (การทำแผนที่โฟตอน, Metropolis, VCM ฯลฯ ดีกว่า)
นาธานรีด

ขอบคุณ Ecir สำหรับคำอธิบาย (โดยเฉพาะ regex ... ฉันสงสัยว่าพวกเขาเคยพิจารณา E {2} สำหรับดวงตาทั้งสองข้างหรือไม่) เมื่อฉันพูดถึง "การติดตามรังสี" ฉันพูดถึงการกวดวิชาของมหาวิทยาลัยคอร์เนลล์พวกเขาไม่ได้พูดถึงเทคนิคเฉพาะใด ๆ นั่นคือสาเหตุที่ฉันสงสัยว่าวิทยุเป็นประเภทหรือเป็นส่วนหนึ่งของการติดตามเรย์ ดังนั้นหากคุณต้องการสร้างการสะท้อนแบบกระจายคุณจะเลือกการติดตามเส้นทางผ่านทางวิทยุ ทำไม (อันไหนจะมีประสิทธิภาพมากกว่า)?
เท้า

1
@NathanReed ฉันถามเกี่ยวกับมันที่ompf2และมีความคิดสร้างสรรค์กล่าวว่า: "เส้นทางแสงชนิดเดียวที่เส้นทางการติดตามเส้นทางไปข้างหน้าไม่สามารถสุ่มตัวอย่างได้คือ E (D | G) * S + L โดยที่ L เป็นแหล่งกำเนิดแสง ทั้งในการปล่อยทิศทางหรือตำแหน่งตัวอย่างเช่นไฟจุดและไฟทิศทางเส้นทางดังกล่าวสามารถอธิบายได้โดยใช้สัญลักษณ์เพิ่มเติมของ Veach สำหรับโคมไฟและเซ็นเซอร์ดูหัวข้อ 8.3.2 ในวิทยานิพนธ์ของเขา "
Ecir Hana

@ เท้าฉันจะไปตามเส้นทางแน่นอน งานวิจัยมากมายหนังสือรหัสที่ต้องเรียนรู้ ฉันไม่รู้ว่าจะเร็วกว่านี้ แต่มีตัวแปรมากเกินไป (โครงสร้างการเร่งความเร็วระบบการแรเงา ... ) เห็นได้ชัดว่า Radiosity จำลองการแพร่กระจายความร้อนหลังจากแยกฉากออกเป็นรูปสามเหลี่ยมขนาดเล็กจำนวนมาก ( FEM ) ฉันไม่เคยลองเลยและผลิตภัณฑ์เดียวที่ฉันใช้ก็คือ Autodesk Lightscape ท้ายสุด แต่ไม่ท้ายสุดคุณแน่ใจหรือไม่ว่าคุณต้องการเพียงการสะท้อนแสงแบบกระจาย
Ecir Hana

1
@Armfoot สัญลักษณ์ไม่ได้ใช้ E {2} ด้วยเหตุผลเดียวกับที่มันไม่ได้ใช้ L {n} สำหรับไฟหลายดวง สิ่งนี้อธิบายถึงพา ธ เดียวหรือตัวอย่างเดียว วิธีที่เราใช้ในการเรนเดอร์การแสดงผลแบบมอนติคาร์โลอย่างเป็นทางการคือการใช้สมการเรนเดอร์ Kajiya จากนั้นแปลงให้เป็นตัวแปรสุ่มค่าที่คาดหวังซึ่งเป็นวิธีแก้สมการ จากนั้นคุณสามารถคำนวณค่าของพิกเซลด้วยการสุ่มตัวอย่างจำนวนมากและประมาณค่าเฉลี่ย เส้นทางแสงมากขึ้นหรือน้อยลงสอดคล้องกับไดอะแกรมของไฟน์แมน
นามแฝง
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.