เครื่องวัดแสงแตกต่างจากแผนที่ลูกบาศก์สิ่งแวดล้อมอย่างไร


17

มองไปที่พื้นผิวโพรบแบบเบาดูเหมือนว่าแผนที่สภาพแวดล้อมที่พร่ามัว

อะไรคือความแตกต่างระหว่างทั้งสองกับวิธีการสอบสวนแสงและสิ่งที่เป็นประโยชน์จากการที่พร่ามัว?


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

มีบริบทสำหรับคำถามของคุณหรือไม่ คำว่า 'หัววัดแสง' นั้นมีความน่ากังขาและใช้แตกต่างกันไปตามสถานการณ์อัลกอริธึมและเครื่องยนต์ต่างกัน
David Kuri

โดยเฉพาะถ้าคุณเคย shadertoy.com คุณจะเห็นแผนที่ลูกบาศก์สองชุดพร้อมใช้งาน ชุดหนึ่งคือแผนที่สภาพแวดล้อมชุดอื่น ๆ มีลักษณะเดียวกัน แต่พร่ามัวที่มีป้ายกำกับแสง เพียงแค่อยากรู้เกี่ยวกับเรื่องนั้นและ probes เบาโดยทั่วไป
Alan Wolfe

คำตอบ:


18

มีความหมายทั่วไปสองแบบที่แตกต่างกันของ "หัววัดแสง" ที่ฉันรู้ ทั้งสองเป็นตัวแทนของแสงรอบจุดเดียวในฉากคือสิ่งที่คุณจะเห็นรอบตัวคุณในทุกทิศทางถ้าคุณหดตัวลงจนมีขนาดเล็กและยืนตรงจุดนั้น

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

สามารถใช้ฮาร์มอนิกทรงกลมเพื่อสร้างฟังก์ชั่นทรงกลมที่เรียบและมีความละเอียดต่ำโดยการปรับและเพิ่มฮาร์มอนิกส์ทรงกลมจำนวนหนึ่ง - โดยปกติ 4 (รู้จักกันในแนวเส้นตรงระดับแรกหรือหนึ่งวง SH) หรือ 9 ( เรียกว่ากำลังสอง, สององศา, หรือสองวง SH) มีขนาดกะทัดรัดมากเพราะคุณต้องเก็บปัจจัยการปรับสเกลเท่านั้น ตัวอย่างเช่นสำหรับ SHR กำลังสองที่มีข้อมูล RGB คุณจะต้องใช้ค่า 9 * 3 = 27 ต่อการสอบสวนเท่านั้น ดังนั้น SH จึงมีขนาดกะทัดรัดมาก แต่ก็จำเป็นที่จะต้องนุ่มและพร่ามัวมาก ๆ เพื่อแสดงแสงรอบจุด เหมาะสำหรับการกระจายแสงและอาจมีความขรุขระสูง

สกรีนช็อตจากบล็อกของ Tech's Simonแสดงอาร์เรย์ของแสงโพรบ SH ที่เว้นระยะตลอดฉากแต่ละฉากแสดงแสงทางอ้อมที่ได้รับ ณ จุดนั้น:

ชุดหัววัดแสง SH

ความหมายทั่วไปอื่น ๆ ในปัจจุบันของ "หัววัดแสง" คือแผนที่ลูกบาศก์สภาพแวดล้อมซึ่งระดับ mip ได้รับการเบลอล่วงหน้าไปยังส่วนขยายที่แตกต่างกันดังนั้นจึงสามารถนำมาใช้สำหรับแสงแบบเฉพาะที่มีระดับความขรุขระที่แตกต่างกัน ภาพจากบล็อกของ Seb Lagardeแสดงความคิดพื้นฐาน:

ระดับการแม็พ cubemap ที่กรองไว้ล่วงหน้า

Mips ความละเอียดสูง (ทางซ้าย) ใช้สำหรับพื้นผิวที่มีความมันเงาสูงซึ่งคุณต้องการภาพสะท้อนที่มีรายละเอียดมาก ไปทางขวาระดับ mip ที่มีความละเอียดต่ำจะเบลอมากขึ้นและใช้สำหรับการสะท้อนจากพื้นผิวที่ขรุขระ ใน shader เมื่อสุ่มตัวอย่าง cubemap นี้คุณสามารถคำนวณระดับ mip ที่ร้องขอตามความหยาบของวัสดุและใช้ประโยชน์จากฮาร์ดแวร์ตัวกรอง trilinear

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

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


คำอธิบายที่ดี! เพียงเพื่อยืนยันเกี่ยวกับส่วนที่เกี่ยวกับการใช้การกรอง trilinear บน mips ... Mips เป็นที่ต้องการมากกว่าพื้นผิวปริมาณเนื่องจากใช้ความละเอียดน้อยลงและระดับ Blur ที่สูงขึ้นต้องการความละเอียดน้อยลงหรือไม่
Alan Wolfe

1
ฉันจะบอกว่า "ชนิด" ของโพรบแสงทั้งสองนี้เหมือนกัน โพรบวัดแสงเป็นตัววัดความกระจ่างใส (โดยปกติจะมีการจัดเตรียมไว้ล่วงหน้าในบางวิธี) ที่ได้รับ ณ จุดหนึ่งในฉาก Cubemaps และ SH เป็นเพียงวิธีที่แตกต่างในการจัดเก็บ / คำนวณโพรบแบบแสงทำให้การจัดเก็บ / perf / การแลกเปลี่ยนคุณภาพแตกต่างกัน (แก้ไข: เพียงเพื่อให้ชัดเจนฉันเห็นด้วยกับคำตอบฉันแค่คิดว่ามันเป็นผลดีที่จะคิดว่าพวกเขาเป็นสิ่งที่แยกต่างหาก)
yuriks

@ AlanWolfe มีการใช้งานและนั่นคือการมีแผนที่สำหรับการกระจายแสงที่นำมาจากสภาพแวดล้อมจริง (เรียกว่าลูกบอลสีเทา / ลูกบอลสีขาว) ไม่ใช่แค่ specular นี่เป็นความแตกต่างของMirror / Grey Ball Shaders
joojaa

1
@AlanWolfe ถูกต้อง & mdash; คุณต้องการความละเอียดน้อยลงในระดับที่เบลอมากขึ้น นอกจากนี้พื้นผิวปริมาณ cubemap ไม่ใช่สิ่งที่มีอยู่ในฮาร์ดแวร์ :)
นาธานรีด
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.