"การประมาณค่าไดโพล" สำหรับการกระเจิงใต้ผิวดินคืออะไร?


18

หากคุณอ่านเอกสารเกี่ยวกับการกระเจิงใต้ผิวดินคุณจะพบการอ้างอิงถึงสิ่งที่เรียกว่า "การประมาณไดโพล" บ่อยครั้ง คำนี้ดูเหมือนจะย้อนกลับไปที่บทความแบบจำลองการปฏิบัติสำหรับการขนส่งแสงใต้ผิวดินโดย Henrik Wann Jensen et al แต่บทความนี้ค่อนข้างเข้าใจยาก

ทุกคนสามารถอธิบายด้วยคำพูดที่ค่อนข้างง่ายว่าการประมาณไดโพลคืออะไรและใช้ในการเรนเดอร์ใต้ผิวดินอย่างไร?


1
แน่นอนมันเป็นกระดาษที่ซับซ้อน (ยังทำให้ฉันฝันร้ายเป็นครั้งคราว!) แต่ฉันพยายามทำให้เรื่องทั้งหมดง่ายขึ้นเล็กน้อย ให้ฉันรู้ว่าถ้าคุณคิดว่าด้านล่างคำตอบควรมีการปรับในทางหรือ :) อีก
cifz

คำตอบ:


23

สมมติฐานพื้นฐานของโมเดลดังกล่าวเหมือนกับโมเดลจำนวนมากสำหรับการเรนเดอร์สกิน การกระเจิงใต้ผิวดินสามารถประมาณได้ว่าเป็นปรากฏการณ์การแพร่ นี่เป็นสิ่งที่ดีเพราะในสื่อที่มีการกระเจิงสูงการกระจายของแสงจะสูญเสียการพึ่งพาจากมุมและมีแนวโน้มที่จะเป็นไอโซโทป

การประมาณไดโพลเป็นสูตรสำหรับการแก้ปัญหาการแพร่ในรูปแบบการวิเคราะห์

โดยทั่วไปแล้วพวกเขาเริ่มต้นด้วยการประมาณ BSSRDF เป็นองค์ประกอบการกระเจิงและการกระเจิงหลายองค์ประกอบ การกระจัดกระจายหลายครั้งถูกกำหนดเป็น:

ป้อนคำอธิบายรูปภาพที่นี่

โดยที่คือคำศัพท์ Fresnel และRคือโพรไฟล์การแพร่ที่แสดงเป็นฟังก์ชันของระยะห่างระหว่างจุดเข้าและออก Fเสื้อR

นี้จะเรียกว่าเป็นรายละเอียดการแพร่กระจายและพวกเขากำหนดรายละเอียดนี้ทางประมาณขั้ว การมีส่วนร่วมของรังสีแสงที่เข้ามานั้นถือเป็นหนึ่งในสองแหล่งเสมือน: หนึ่งค่าลบที่อยู่ใต้พื้นผิวและอีกหนึ่งค่าบวกข้างบน (นั่นคือสาเหตุที่ไดโพล)R

ป้อนคำอธิบายรูปภาพที่นี่

ในภาพ r คือxผม-xโอด้านบน การมีส่วนร่วมของแหล่งกำเนิดแสงเหล่านั้นขึ้นอยู่กับปัจจัยต่าง ๆ เช่นระยะทางของแสงจากพื้นผิวค่าสัมประสิทธิ์การกระเจิงเป็นต้น (ดูด้านล่างสำหรับคำอธิบายรายละเอียดเพิ่มเติมของสูตรเอง)

รุ่นนี้มีไว้สำหรับการกระจัดกระจายหลายครั้ง แต่ก็เพียงพอสำหรับสกิน จะต้องสังเกตว่าสำหรับวัสดุโปร่งแสงบางอย่าง (เช่นควันและหินอ่อน) การกระเจิงเดี่ยวเป็นพื้นฐาน กระดาษนั้นเสนอสูตรการกระเจิงเดียว แต่มีราคาแพง

โปรไฟล์การแพร่กระจายมักจะประมาณสำหรับแอปพลิเคชันแบบเรียลไทม์เป็นชุดของ blurs แบบเกาส์ (เช่นในผลงานสุดท้ายของ D'Eon และคณะใน GPU Gems 3 จากนั้นใช้สำหรับ SSSSS ของ Jimenez) เพื่อให้เป็นจริงสำหรับสถานการณ์จริง . ในบทความที่ยอดเยี่ยมนี้มีรายละเอียดเกี่ยวกับการประมาณดังกล่าว ภาพจากกระดาษนั้นแสดงว่าสูตรนี้ดีแค่ไหน:

ป้อนคำอธิบายรูปภาพที่นี่

เมื่อสังเกตด้านข้างการประมาณค่าไดโพลถือว่าเป็นวัสดุกึ่งอนันต์อย่างไรก็ตามสมมติฐานนี้ไม่ได้ยึดติดกับแผ่นบางและวัสดุหลายชั้นเช่นผิวหนัง Donner and Jensen [2005] เสนอการประมาณค่าหลายขั้วที่อธิบายถึงปัญหาไดโพล ด้วยโมเดลนี้แทนที่จะเป็นไดโพลเดี่ยวผู้เขียนใช้ชุดของมันเพื่ออธิบายปรากฏการณ์การกระเจิง ในการกำหนดดังกล่าวโปรไฟล์การสะท้อนและการส่งผ่านสามารถรับได้โดยการสรุปผลงานของไดโพลที่แตกต่างกันที่เกี่ยวข้อง


แก้ไข: ฉันใส่คำตอบสำหรับคำถามของ @NathanReed ที่นี่ในส่วนความคิดเห็น:

แม้ว่าจะมีการประมาณโปรไฟล์การแพร่กระจายแบบจำลอง BSSRDF ยังคงต้องการการรวมเข้ากับรัศมีของจุดที่อยู่ใกล้เคียงบนพื้นผิวเพื่อรวบรวมแสงที่เข้ามาถูกต้องหรือไม่ พูดได้อย่างไรว่าเป็นผู้ตามรอยเส้นทาง? คุณต้องสร้างโครงสร้างข้อมูลบางส่วนเพื่อให้คุณสามารถสุ่มตัวอย่างจุดบนพื้นผิวใกล้กับจุดที่กำหนดได้หรือไม่?

การประมาณ BSSRDF ยังคงต้องรวมเข้ากับพื้นที่ที่แน่นอนใช่

ในกระดาษที่เชื่อมโยงพวกเขาใช้ Montecarlo ray-tracer สุ่มตัวอย่างแบบสุ่มรอบ ๆ จุดด้วยความหนาแน่นที่กำหนดเป็น:

σเสื้อRอี-σเสื้อRd

เมื่อค่า sigma นั้นเป็นค่าสัมประสิทธิ์การสูญเสียที่มีประสิทธิภาพที่กำหนดด้านล่าง (ขึ้นอยู่กับการกระเจิงและการดูดซับค่าสัมประสิทธิ์ซึ่งเป็นสมบัติของวัสดุ) และ d คือระยะทางถึงจุดที่เรากำลังประเมิน ความหนาแน่นนี้เป็นวิธีที่กำหนดไว้เนื่องจากคำว่าการแพร่กระจายนั้นมีการหลุดแบบเอกซ์โปเนนเชียล

ใน[Jensen and Buhler 2002]พวกเขาเสนอเทคนิคการเร่งความเร็ว หนึ่งในแนวคิดหลักคือการแยกการสุ่มตัวอย่างจากการประเมินระยะการแพร่ วิธีนี้พวกเขาทำการประเมินแบบลำดับชั้นของข้อมูลที่คำนวณระหว่างขั้นตอนการสุ่มตัวอย่างเพื่อจัดกลุ่มตัวอย่างที่อยู่ห่างไกลกันเมื่อมันมาถึงการประเมินการแพร่กระจาย การใช้งานที่อธิบายไว้ในกระดาษใช้แปดเป็นโครงสร้าง เทคนิคนี้อ้างอิงจากบทความว่าขนาดของคำสั่งเร็วกว่าการบูรณาการมอนติคาร์โลแบบเต็ม
น่าเสียดายที่ฉันไม่เคยเข้าร่วมการใช้งานแบบออฟไลน์ดังนั้นฉันจึงไม่สามารถช่วยได้มากกว่านี้

ในการประมาณผลรวมของ Gaussians แบบเรียลไทม์รัศมีที่ถูกต้องจะถูกตั้งค่าโดยปริยายเมื่อกำหนดความแปรปรวนของ Gaussian blurs ที่จำเป็นต้องใช้

ทำไมแสงหนึ่งบวกและลบหนึ่ง? มีเป้าหมายสำหรับพวกเขาที่จะยกเลิกกันอย่างใด?

2AD

ป้อนคำอธิบายรูปภาพที่นี่

FdR


EDIT2: ฉันได้ขยาย (เล็กน้อย) แนวคิดบางอย่างในคำตอบนี้ในบล็อกโพสต์: http://bit.ly/1Q82rqT


สำหรับผู้ที่ไม่กลัวตัวอักษรกรีกจำนวนมากในสูตรนี่เป็นสารสกัดจากวิทยานิพนธ์ของฉันที่อธิบายประวัติย่อในแต่ละเทอม:

ป้อนคำอธิบายรูปภาพที่นี่


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

1) จริง ๆ แล้วสิ่งที่พวกเขาเสนอในกระดาษที่มีมอนเทอร์คาร์โลเรย์เทรเซอร์คือการสุ่มตัวอย่างสุ่มที่มีความหนาแน่นจำเพาะตามระยะทางและค่าสัมประสิทธิ์การสูญพันธุ์ ฉันเดาว่าคุณสามารถปาลูกดอกเพื่อค้นหาตัวอย่างและใช้ความน่าจะเป็นที่ยอมรับได้อย่างเหมาะสมตามค่าสัมประสิทธิ์การสูญพันธุ์ และระยะทาง (1/2)
cifz

ฉันรู้ว่าเซ่นเผยแพร่วิธีการรวมแบบลำดับชั้นในปี 2545 ที่โชคไม่ดีที่ฉันเพิ่งอ่านไปสักพักแล้วฉันก็จำได้ไม่กี่บิต แนวคิดหลักคือการแยกการสุ่มตัวอย่างจากการประมาณค่าการแพร่และกลุ่มตัวอย่างที่อยู่ไกลออกไป IIRC พวกเขาใช้ octree เป็นโครงสร้างแบบลำดับชั้น ฉันไม่เคยมีส่วนร่วมในการใช้งานออฟไลน์ดังนั้นฉันจึงไม่ได้ช่วยเหลือรายละเอียดอื่น ๆ เกี่ยวกับสิ่งนี้ฉันกลัว (2/2)
cifz

2) วิธีนี้เป็นไปตามเงื่อนไขขอบเขตบางอย่างคุณต้องการให้ความคล่องแคล่วกลายเป็นศูนย์ในขอบเขตที่คาดการณ์บางอย่างที่มีระยะห่างเฉพาะจากสื่อ ระยะนี้คำนวณจากสัมประสิทธิ์การกระเจิงและการกระเจิงของอัลเบโด้
cifz

@NathanReed แจ้งให้เราทราบว่านี้ได้ชี้แจงบางสิ่งบางอย่างอื่นผมสามารถลองและขยายความคิดในความคิดเห็นนี้ในคำตอบของตัวเอง
cifz

3

เพื่อให้ง่ายต่อการเข้าใจ 'ทฤษฎีไดโพล' เราต้องเข้าใจก่อนว่ามันมาจาก 'ทฤษฎีการแพร่'

และมาจากการจำลองการขนส่งทางแสงในสื่อที่มีส่วนร่วมโดยการแก้สมการการส่งผ่านความสว่าง (RTE)

การประมาณค่าการกระจัดกระจายแบบคลาสสิกจะแก้ปัญหา RTE โดยพิจารณาจากการขยายตัวของฮาร์โมนิกทรงกลมที่มีลำดับแรกเท่านั้น หากเราสมมติว่าฟังก์ชั่นแหล่งกำเนิดเป็นหน่วยจุดกำเนิดพลังงานแบบไอโซโทรปิกในสื่อที่เป็นเนื้อเดียวกันไม่สิ้นสุดเราจะได้ฟังก์ชั่นการแพร่กระจายแบบคลาสสิก

เมื่อทำการเรนเดอร์วัสดุโปร่งแสงมันจะสะดวกในการกำหนดปัญหานี้อีกครั้งในลักษณะที่คล้ายคลึงกับการสะท้อนพื้นผิวที่สำคัญ สิ่งนี้ส่งผลให้เกิดสมการที่สำคัญซึ่งคำนวณความเปล่งปลั่งขาออก, Lo, ที่ตำแหน่งและทิศทางเป็นสังวัตนาของการส่องสว่างของเหตุการณ์, Li และ BSSRDF, S เหนือตำแหน่งและทิศทางของเหตุการณ์ทั้งหมด

ขณะนี้ด้วยฟังก์ชันการกระจายของกรีนเราไม่ได้คำนึงถึงเงื่อนไขขอบเขตที่กำหนดโดยพื้นผิววัสดุ เงื่อนไขเหล่านี้สามารถจัดการได้ง่าย ๆ โดยการวางแหล่งกำเนิดแสงสะท้อนลบออกนอกตัวกลางสำหรับแหล่งกำเนิดแสงบวกทุกแหล่งในตัวกลางเพื่อให้การไหลของแสงเป็นศูนย์ในระยะทางประมาณเหนือผิวน้ำ นี่คือการประมาณไดโพล

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

ความก้าวหน้าล่าสุดของ BSSRDF มาจากการเปลี่ยนวิธีการเชิงปริมาตรและการมีส่วนร่วมด้วยเนื้อหาแบบเฉพาะกิจที่ดีกว่าโดยคำนึงถึงเงื่อนไขขอบเขตของพื้นผิว

สำหรับ ..

รุ่น BSSRDF ยังคงต้องการการผสานรวมกับรัศมีของจุดที่อยู่ใกล้เคียงบนพื้นผิวเพื่อรวบรวมแสงที่เข้ามา .. ?

ใช่เรารวมการตกกระทบของแสงเข้ากับ BSSRDF ในทุกตำแหน่งและทิศทางของเหตุการณ์

ตอนนี้เราสามารถใช้วิธีเดรัจฉานบังคับหรือนี่คือวิธีการปาลูกดอกด้วยการเอาต์เล็ตของรัสเซีย แต่พวกเขาทั้งสองวิธีไร้เดียงสา

SSS มาสู่การผลิต (Pixar Renderman) เมื่อมีการพัฒนาวิธีการประมาณค่าเพื่อใช้การรวบรวมแสงแบบลำดับชั้นโดยใช้โครงสร้างข้อมูลแบบแปดที่ใช้ในการอบแสงแบบกระจายในกลุ่มเพื่อการคำนวณ SSS ด้วย Renderman นี่เป็นวิธีการทางธรรมชาติเพราะ REYES เพื่อให้ micropoligon ทุกอันที่สร้างจาก REYES นั้นสามารถ 'แยก' ออกได้ง่ายในจุดหนึ่ง

คลื่นลูกที่สองของการปรับปรุงอาศัยการสุ่มตัวอย่างความสำคัญบนดิสก์ (อาร์โนลด์) ซึ่งตอนนี้เป็นวิธีการที่แท้จริงสำหรับการใช้งาน SSS จำนวนมาก โดยทั่วไปเรากำหนดปริมาณการค้นหา (ทรงกลม) แจกจ่ายตัวอย่างบนดิสก์เหนือพื้นผิวและโพรบตามทิศทางปกติและทิศทางมุมฉากเพื่อค้นหาเพลงทั้งหมดที่อยู่ในปริมาณ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.