สับสนกับการใช้งาน PBR


14

ฉันค้นพบโลกมหัศจรรย์ของคณิตศาสตร์และฉันกำลังชนกำแพงขนาดใหญ่ที่มี PBR และตั้งชื่อดังนั้นฉันจึงมีคำถามสองสามข้อ: เท่าที่ฉันเข้าใจ BRDF จะอธิบายว่าวัสดุตอบสนองต่อแสงอย่างไร (แสงเข้าและสะท้อนโดยตรง) แต่ใน "Cook-Torrance" ฉันไม่เห็นอะไรเลยเกี่ยวกับการสะท้อนฉันไม่เข้าใจว่าฉันรวมเข้ากับมันอย่างไรฉันจึงได้รับแสงและการสะท้อนแสงแบบกระจายเท่านั้น

ฉันได้อ่าน "คำกระจาย" ที่แตกต่างกันมากมายเช่น "โอเรน - นายาร์" มันเป็นส่วนหนึ่งของ Cook-Torrance เหมือน "D" ที่แตกต่างกันในผู้เสนอชื่อ DFG หรือไม่ มันจะแทนที่โดยไม่ต้องคำนวณ specular?

ฉันอ่านมากเกี่ยวกับ "GGX" จากพื้นหลังศิลปินปั่นฉันคิดว่ามันเป็นสิ่งที่ทำให้ภาพสะท้อนพร่ามัว แต่ดูเหมือนว่าฉันผิดและตอนนี้ฉันพบคำศัพท์ GGX ในสถานการณ์ที่แตกต่างกันมากมายเช่นใน micro-facet ปกติ การกระจายในบทช่วยสอนนี้

คำถามสั้น ๆ ก็คือ: "Oren-Nayar" และ "GGX" และ "Cook-Torrance" เกี่ยวข้องกันอย่างไร (ถ้าเป็น) และฉันจะรวม "การสะท้อน vec3" ในอัลกอริทึมเหล่านั้นได้อย่างไร

อย่างที่ฉันพูดก่อนที่ฉันจะเป็นมือใหม่ในวิชาคณิตศาสตร์ดังนั้นหากคำตอบของคุณคือ "คณิตศาสตร์หนัก" โปรดเขียนสมการของคุณในเวอร์ชัน glsl / hlsl มันง่ายกว่าที่จะเข้าใจฉันมากดังนั้นการเทียบเท่าจะช่วยฉันได้มาก

ป.ล. : ฉันเข้าใจว่าคำถามของฉันพร่ามัว แต่มันก็พร่ามัวเหมือนที่ฉันเข้าใจในเรื่องนี้


1
สิ่งที่อาจช่วยคุณได้คือ "specular" หมายถึง "mirror like" ดังนั้นเมื่อพูดถึงการสะท้อนแสงแบบกระจายและแบบสะท้อนแสงหมายถึงกระจกเงาแบบสะท้อนแสงสิ่งที่คนทั่วไปเรียกว่าการสะท้อนแสง การกระจายเป็นเพียง "สิ่งที่สว่างขึ้น" พวกมันก็สะท้อนแสงเช่นกัน แต่มันก็สะท้อนมาจากหลายทิศทางดังนั้นผลลัพธ์ไม่ใช่สิ่งที่คุณจำภาพได้มีขนาดระหว่างการสะท้อนแบบ specular และ diffuse ในวัตถุจริงและนี่เป็นส่วนหนึ่งของสิ่งที่ พารามิเตอร์ "ความหยาบ" ของการควบคุม PBR
Alan Wolfe

คุณสามารถลองอ่านเอกสาร Cook-Torrance ต้นฉบับได้ที่: inst.cs.berkeley.edu/~cs294-13/fa09/lectures/cookpaper.pdf - ให้แน่ใจว่าได้ตรวจสอบการอ้างอิงที่ระบุไว้ในตอนท้ายเช่นกัน (ส่วนใหญ่จะเป็น พร้อมใช้งานออนไลน์) จะใช้เวลาสักครู่ แต่เป็นวิธีที่แน่นอนที่จะเข้าใจ "ในเชิงลึก" สิ่งที่เกิดขึ้น
เช็ด

คำตอบ:


12

DFG ปรากฏขึ้นในตระกูล BRDF ที่ใช้ไมโครไฟเบอร์ มันเป็นเพียงผลคูณของสามเทอม:

  • D: การกระจายไมโครไฟเบอร์
  • F: สัมประสิทธิ์เฟรส
  • G: การลดทอนทางเรขาคณิตระหว่าง microfacets

เมื่อมีคนบอกว่า Cook-Torrance พวกเขามักจะหมายถึง BRDF ของ microfacet ที่การกระจาย (D) คือ Beckmann ซึ่งฉันคิดว่าเป็นสิ่งที่กระดาษ Cook-Torrance ดั้งเดิมเกี่ยวกับ

GGX เป็นเพียงการกระจายที่แตกต่างกัน (เทอม D) GTR เป็นอีกหนึ่ง ชื่อมักใช้เป็นทางลัดเพื่อหมายถึง BRDF ที่ใช้การแจกแจงนั้น

ตอนนี้สิ่งเหล่านี้ถือว่าเป็นการสะท้อนแบบ specular (หรือการหักเห) บน microfacets ดังนั้นคำว่า fresnel หากคุณใช้ความคิดที่คล้ายกัน แต่ใช้ microfacets แบบกระจาย (lambertian) คุณจะได้รับ Oren-Nayar BRDF ฉันคิดว่ามีพื้นฐานมาจากการกระจายตัวของ microfacets แบบเกาส์ แต่ฉันไม่คุ้นเคยกับรายละเอียด


โอเคมันชัดเจนกว่านี้เล็กน้อย แต่ก็ยังไม่อธิบายว่าฉันต้องทำอย่างไรกับ "vec3 reflectionColour" ของฉันที่ฉันได้รับจากการเปิดตัวรังสีใหม่ใน raytracing / marching หรือใช้ SSR / cubemap มันก็เหมือนกับสมการที่คำนึงถึงเฉพาะสปอตไลท์ / สปอตไลท์ แต่ไม่มีความคิดสำหรับไฟพื้นที่หรือการสะท้อนแสง ดูเหมือนว่า "specular" นั้นเกี่ยวข้องกับ "white dot" แทนการสะท้อนเนื่องจากสิ่งที่ไม่สมเหตุสมผล = /
newin

@newin ในรูปแบบ PBR specular และ reflection เป็นชื่อที่แตกต่างกันในสิ่งเดียวกัน มันเป็นไฮไลต์แบบพิเศษเมื่อแสงกระทบกับแสงสะท้อนเมื่อมันกระทบกับวัตถุอื่น (หรือสิ่งแวดล้อม) สำหรับเงาสะท้อนของคุณมันขึ้นอยู่กับว่ารังสีนั้นถูกสร้างขึ้นอย่างไร คุณกำลังสุ่มตัวอย่างแสงโดยตรงหรือไม่ ไฟบริเวณ? การรวม BRDF เข้ากับแผนที่สิ่งแวดล้อม? ลองอ่านการติดตามเส้นทางแบบก้าวหน้าด้วยการสุ่มตัวอย่างแสงอย่างชัดเจนมีคำตอบยาว ๆ ซึ่งอาจช่วยแก้ปัญหาบางอย่างเกี่ยวกับกระบวนการ
Olivier

ดังนั้นถ้าฉันเข้าใจอย่างถูกต้องว่า "vec3 reflectionColour" ควรได้รับการปฏิบัติเหมือนเป็นแสงและถ้าฉันต้องการสร้างตาข่ายเปล่งแสงฉันควรใส่ค่า> 1 ลงในอัลเบโดและนั่นคืออะไร? (ฉันพยายามที่จะรวม PBR เข้ากับสถานการณ์ที่แตกต่างกันอย่างแรกคือ raymarcher ที่ฉันต้องการตาข่ายที่เปล่งแสงส่วนอีกอันคือเอ็นจิ้นเกมที่ใช้ SSR และอาจจะใช้คิวบ์)
newin

@newin แสงที่ปล่อยออกมานั้นถูกเพิ่มเข้ามาเหนือสิ่งอื่นใด มันไม่เกี่ยวข้องกับ BRDF หากตาข่ายของคุณไม่ทำอะไรเลยนอกจากปล่อยแสงคุณไม่จำเป็นต้องติดตามรังสีใด ๆ เพิ่มเติมจากมัน albedo ขนาดใหญ่จะขยายแสง (ผิดปกติทางร่างกาย) ไม่สร้างมันขึ้นมา
Olivier
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.