คำถามติดแท็ก monte-carlo

2
เหตุใดการติดตาม monte carlo ray จึงทำงานได้ดีกว่าการติดตามการกระจายรังสี
ฉันได้ยินมาว่าคุณภาพของตัวติดตามมอนต์คาร์โลเรย์ (ขึ้นอยู่กับอัลกอริธึมการติดตามเส้นทาง) นั้นสมจริงกว่าเครื่องยนต์แบบกระจาย (สุ่ม) ฉันพยายามที่จะเข้าใจว่าทำไม แต่ฉันเพิ่งจะเริ่ม ในการดำน้ำในหัวข้อนี้และทำความเข้าใจกับพื้นฐานบางคนสามารถชี้แนะทิศทางที่ถูกต้องได้ไหม? ส่วนใดของอัลกอริทึมที่นำไปสู่ผลลัพธ์การแสดงผลที่สมจริงยิ่งขึ้น?

3
รูเล็ตรัสเซียเป็นคำตอบจริงๆหรือไม่?
ฉันได้เห็นแล้วว่าในการติดตั้ง Path Tracing การใช้แนวทางที่เรียกว่า Russian Roulette นั้นใช้ในการกำจัดเส้นทางบางส่วนและแบ่งปันผลงานของพวกเขาในเส้นทางอื่น ๆ ฉันเข้าใจว่าแทนที่จะติดตามเส้นทางจนกว่ามันจะลดลงต่ำกว่าค่าการสนับสนุนที่กำหนดไว้และจากนั้นให้ทิ้งการใช้เกณฑ์ที่แตกต่างกันและเส้นทางที่การบริจาคต่ำกว่าเกณฑ์นั้นจะถูกยกเลิกด้วยความน่าจะเป็นเพียงเล็กน้อยเท่านั้น เส้นทางอื่นมีส่วนร่วมของพวกเขาเพิ่มขึ้นตามจำนวนที่สอดคล้องกับการแบ่งปันพลังงานที่หายไปจากเส้นทางที่ถูกยกเลิก ฉันยังไม่ชัดเจนว่าจะเป็นการแก้ไขอคติที่ได้รับการแนะนำโดยเทคนิคหรือไม่หรือจำเป็นต้องใช้เทคนิคทั้งหมดเพื่อหลีกเลี่ยงอคติ รูเล็ตรัสเซียให้ผลที่ไม่เอนเอียงหรือไม่? รูเล็ตรัสเซียจำเป็นสำหรับผลที่เป็นกลางหรือไม่? นั่นคือจะใช้ขีด จำกัด เล็ก ๆ และยกเลิกเส้นทางทันทีที่มันลดลงต่ำกว่าขีด จำกัด นั้นจะให้ผลลัพธ์ที่เอนเอียงหรือมีอคติน้อยลงหรือไม่ เมื่อพิจารณาจากตัวอย่างจำนวนมากโดยพลการทั้งสองจะเข้าหากันบนภาพผลลัพธ์ที่เป็นกลางหรือไม่? ฉันกำลังมองหาที่จะเข้าใจเหตุผลพื้นฐานสำหรับการใช้วิธีรูเล็ตรัสเซีย ความเร็วหรือคุณภาพแตกต่างกันอย่างมีนัยสำคัญหรือไม่? ฉันเข้าใจว่าพลังงานถูกกระจายไปในรังสีอื่นเพื่อรักษาพลังงานทั้งหมด อย่างไรก็ตามการแจกจ่ายนี้ยังไม่สามารถทำได้ถ้ารังสีนั้นสิ้นสุดลงเมื่อลดลงต่ำกว่าขีด จำกัด คงที่แทนที่จะมีช่วงชีวิตที่กำหนดแบบสุ่มหลังจากถึงขีด จำกัด นั้นหรือไม่? ในทางกลับกันถ้าพลังงานที่จะสูญเสียไปโดยการยุติรังสีโดยไม่ต้องกระจายพลังงานนั้นก็จะหายไปในที่สุด (เช่นเดียวกับรังสีที่มันถูกแจกจ่ายไปก็ถูกยกเลิกด้วย) ในที่สุดสิ่งนี้จะปรับปรุงสถานการณ์ได้อย่างไร

2
ตัวอย่างที่มีความสัมพันธ์กันมีอิทธิพลต่อพฤติกรรมของตัวแสดงผล Monte Carlo อย่างไร
คำอธิบายส่วนใหญ่ของวิธีการเรนเดอร์ Monte Carlo เช่นการติดตามเส้นทางหรือการติดตามเส้นทางสองทิศทางสมมติว่าตัวอย่างถูกสร้างขึ้นอย่างอิสระ นั่นคือตัวสร้างตัวเลขสุ่มแบบมาตรฐานจะใช้ในการสร้างสตรีมของตัวเลขที่เป็นอิสระและกระจายอย่างสม่ำเสมอ เรารู้ว่าตัวอย่างที่ไม่ได้เลือกอย่างอิสระจะเป็นประโยชน์ในแง่ของเสียง ตัวอย่างเช่นการสุ่มตัวอย่างแบบแบ่งชั้นและลำดับความคลาดเคลื่อนต่ำเป็นสองตัวอย่างของแผนการสุ่มตัวอย่างที่มีความสัมพันธ์ซึ่งมักจะปรับปรุงเวลาในการเรนเดอร์เกือบตลอดเวลา อย่างไรก็ตามมีหลายกรณีที่ผลกระทบของความสัมพันธ์ของกลุ่มตัวอย่างไม่ชัดเจน ตัวอย่างเช่นวิธีมาร์คอฟเชนมอนติคาร์โลเช่นMetropolis Light Transportสร้างกระแสตัวอย่างที่มีความสัมพันธ์กันโดยใช้โซ่มาร์คอฟ; วิธีการที่ใช้แสงจำนวนมากจะนำชุดแสงขนาดเล็กกลับมาใช้ใหม่สำหรับเส้นทางกล้องหลาย ๆ ตัวสร้างการเชื่อมต่อเงาที่สัมพันธ์กันจำนวนมาก แม้การทำแผนที่โฟตอนจะได้รับประสิทธิภาพจากการใช้เส้นทางแสงผ่านพิกเซลจำนวนมากรวมทั้งเพิ่มความสัมพันธ์ของกลุ่มตัวอย่าง (แม้ว่าจะเป็นแบบเอนเอียง) วิธีการเรนเดอร์ทั้งหมดเหล่านี้สามารถพิสูจน์ได้ว่าเป็นประโยชน์ในบางฉาก แต่ดูเหมือนจะทำให้สิ่งต่าง ๆ แย่ลงในผู้อื่น ยังไม่ชัดเจนเกี่ยวกับวิธีการวัดคุณภาพข้อผิดพลาดที่แนะนำโดยเทคนิคเหล่านี้นอกเหนือจากการเรนเดอร์ฉากด้วยอัลกอริธึมการแสดงผลที่แตกต่างกัน ดังนั้นคำถามคือ: ความสัมพันธ์ของกลุ่มตัวอย่างมีอิทธิพลต่อความแปรปรวนและการลู่เข้าของตัวประมาณค่า Monte Carlo อย่างไร เราสามารถคำนวณปริมาณของความสัมพันธ์ตัวอย่างที่ดีกว่าแบบอื่นได้หรือไม่? มีข้อควรพิจารณาอื่น ๆ หรือไม่ที่อาจมีอิทธิพลต่อความสัมพันธ์ของกลุ่มตัวอย่างที่เป็นประโยชน์หรือเป็นอันตราย (เช่นข้อผิดพลาดการรับรู้ภาพเคลื่อนไหวกะพริบ)?

2
วิธีการสร้างแบบจำลองวัตถุประสงค์เลนส์ / กล้องที่เหมาะสมสำหรับการติดตามเส้นทาง?
ฉันได้เขียนเส้นทางตามรอยเล็ก ๆ หลังจากเรียนรู้และทดลองกับเจ้าตัวเล็ก สิ่งเดียวที่ฉันไม่ได้เขียน (และเข้าใจ) ตัวฉันเองก็คือวิธีการคำนวณและยิงรังสีเริ่มต้นจากกล้อง ฉันได้รับหลักการที่ถูกต้อง แต่ฉันกำลังมองหาแหล่งข้อมูลที่อธิบายวิธีการ: คำนวณทิศทางเริ่มต้นของรังสี สร้างแบบจำลองเลนส์จริง (ตรงข้ามกับกล้องรูเข็ม) คาดว่าจะมีเอฟเฟกต์เช่นระยะชัดลึกหรือไม่ ไม่จำเป็นต้องใช้คณิตศาสตร์และฟิสิกส์อันทันสมัย ​​แต่ตกลงหากอธิบายอย่างละเอียด

1
การสุ่มตัวอย่างซีกโลกถ่วงน้ำหนักยังคงต้องใช้ NdotL เมื่อคำนวณการมีส่วนร่วมสำหรับแสงทางอ้อมหรือไม่?
เมื่อแปลงจากการสุ่มตัวอย่างซีกโลกเท่ากันเพื่อการสุ่มตัวอย่างซีกโลกถ่วงน้ำหนักโคไซน์ฉันสับสนโดยคำสั่งในบทความ ผลงานทางอ้อมในปัจจุบันของฉันถูกคำนวณดังนี้: 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 หรือไม่

1
การกระเจิงของปริมาตร Monte-Carlo แบบเต็ม
ฉันต้องการเพิ่มการกระจัดกระจายปริมาตร monte-carlo อย่างเต็มรูปแบบเพื่อติดตามเส้นทางของฉัน แต่ฉันมีเวลายากวิจัยวิธีการทำ ให้ฉันอธิบายสิ่งที่ฉันต้องการจะทำ: รังสีเข้าสู่วัสดุและเราใช้ BTDF จากนั้นหลังจากระยะทางหนึ่งเหตุการณ์การกระเจิงของปริมาตรเกิดขึ้นหลังจากนั้น (ในกรณี isotropic) รังสีจะกระจายไปในทิศทางใดก็ได้ใน รูปทรงกลม การทำซ้ำนี้จนกว่ารังสีจะออกจากวัสดุด้วย BTDF อื่น คำถามของฉันมีดังนี้: ฉันจะเลือกระยะห่างระหว่างเหตุการณ์กระจายได้อย่างไร สัญชาตญาณบอกฉันว่าควรจะมีการกระเจิงแบบ pdf ซึ่งให้โอกาสในการกระจายหลังจากระยะทางที่แน่นอน? สิ่งนี้จะถูกต้องหรือไม่ pdf จะเป็นฟังก์ชันเชิงเส้นสำหรับวัสดุ isotropic หรือไม่ ฟังก์ชั่นนี้มีชื่อหรืออะไรที่ฉันสามารถใช้กับ Google Beer-Lambert จะยังคงใช้งานระหว่างเหตุการณ์กระจายหรือไม่ ฉันจะไม่คิด เนื่องจาก Beer-Lambert เป็นการทำให้การคำนวณกระจัดกระจายง่ายขึ้น จากนั้นอีกครั้งบางทีเบียร์ - แลมเบิร์ตเป็นการคำนวณในระดับไมโครและการติดตามเส้นทางอยู่ในระดับมหภาค ปริมาตรที่เทียบเท่ากับ BSDF คืออะไร? ดูเหมือนว่าฉันสามารถใช้ฟังก์ชันเฟสเช่น Henyey-Greenstein เพื่อกำหนดทิศทางใหม่ แต่ฉันจะใช้เพื่อลดทอนอะไรบ้าง สุดท้ายวลี Google ดีกว่าสำหรับการกระเจิงเชิงปริมาตร Monte-Carlo คืออะไร? การค้นหาการกระจัดกระจายตามปริมาตรหรือ SSS …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.