पीबीआर कार्यान्वयन के साथ भ्रमित


14

मुझे गणित की अद्भुत दुनिया का पता चल रहा है और मैं पीबीआर के साथ एक बड़ी दीवार को मार रहा हूं और नामकरण कर रहा हूं इसलिए मेरे पास कुछ सवाल हैं: जहां तक ​​मैं समझता हूं कि बीआरडीएफ वर्णन करता है कि प्रकाश के लिए एक सामग्री कैसे प्रतिक्रिया करती है (आने वाली प्रत्यक्ष प्रकाश और प्रतिबिंब)। लेकिन "कुक-टॉरेंस" में मैं उन प्रतिबिंबों के बारे में कुछ नहीं देखता, जिन्हें मैं नहीं समझता कि मैं इसे कैसे एकीकृत करता हूं इसलिए मुझे केवल प्रकाश और प्रतिबिंब मिलते हैं।

मैंने "ओरेन-नायर" जैसे विभिन्न "फैलाना शब्द" के बारे में बहुत कुछ पढ़ा है क्या यह DFG के नॉमिनेटर में एक अलग "D" की तरह कुक-टोरेंस का हिस्सा है? क्या यह स्पेक्युलर गणना के बिना इसे प्रतिस्थापित करता है?

मैंने अपने ब्लेंडर आर्टिस्ट बैकग्राउंड से "GGX" के बारे में बहुत कुछ पढ़ा है, मुझे लगा कि यह कुछ ऐसा है जो धुंधली प्रतिबिंब बनाता है, लेकिन ऐसा लगता है कि मैं गलत था और अब मैं इस जीजीएक्स शब्द को बहुत सारे अलग-अलग स्थितियों में पाता हूं जैसे कि माइक्रो-फेस सामान्य इस ट्यूटोरियल में वितरण

तो संक्षेप में सवाल यह है: कैसे "ओरेन-नायर" और "जीजीएक्स" और "कुक-टोरेंस" एक दूसरे से संबंधित हैं (यदि वे हैं) और मैं उन एल्गोरिथ्म में "vec3 प्रतिबिंब" को कैसे एकीकृत करूं?

जैसा कि मैंने पहले कहा था कि मैं गणित में नौसिखिया हूँ, इसलिए यदि आपका उत्तर "गणित भारी" है, तो कृपया अपने समीकरणों का एक glsl / hlsl संस्करण लिखें, यह मेरे लिए समझना बहुत आसान है, इसलिए समतुल्यता मुझे बहुत मदद करेगी

पुनश्च: मैं समझता हूं कि मेरा प्रश्न धुंधला है लेकिन यह विषय की मेरी समझ के अनुसार भी धुंधला है।


1
कुछ ऐसा जो आपकी मदद कर सकता है वह यह है कि "स्पेक्युलर" का अर्थ है "दर्पण जैसा"। इसलिए, जब स्पेक्युलर और डिफ्यूज़ रिफ्लेक्शंस के बारे में बात की जाती है, तो स्पेक्युलर का मतलब रिफ्लेक्शन जैसा दर्पण होता है, जिसे लोग आम तौर पर रिफ्लेक्शन कहते हैं। डिफ्यूज़ सिर्फ "चीजों को प्रकाश में लाना" है। वे प्रकाश को भी प्रतिबिंबित कर रहे हैं, लेकिन वे कई अलग-अलग दिशाओं से प्रतिबिंबित कर रहे हैं, इसलिए परिणाम कुछ भी नहीं है कि आप किसी छवि को पहचान सकते हैं। वास्तविक वस्तुओं में स्पेक्युलर और फैलाना प्रतिबिंब के बीच एक पैमाना है, और यह उसी का हिस्सा है। पीबीआर नियंत्रण के "खुरदरापन" पैरामीटर।
एलन वोल्फ

आप मूल कुक-टॉरेंस पेपर को पढ़ने की कोशिश कर सकते हैं: inst.cs.berkeley.edu/~cs294-13/fa09/lectures/cookpaper.pdf - जब संभव हो तो सबसे अंत में सूचीबद्ध संदर्भों की जाँच करना सुनिश्चित करें। ऑनलाइन मौजूद है)। इसमें कुछ समय लगेगा, लेकिन यह "गहराई से" समझने का एक निश्चित तरीका है।
WIP

जवाबों:


12

DFG माइक्रोफैसेट आधारित BRDFs के परिवार में आता है। यह केवल तीन शब्दों का उत्पाद है:

  • डी: माइक्रोफैसेट वितरण।
  • एफ: भित्ति गुणांक।
  • जी: माइक्रोफैसेट के बीच ज्यामितीय क्षीणन।

जब कोई कुक-टॉरेंस कहता है, तो उनका मतलब आमतौर पर एक माइक्रोफेट बीआरडीएफ होता है जहां वितरण (डी) बेकमैन है, जो मुझे लगता है कि मूल कुक-टॉरेंस पेपर के बारे में क्या था।

जीजीएक्स वास्तव में सिर्फ एक अलग वितरण (डी टर्म) है। GTR एक और एक है। नाम अक्सर उस वितरण का उपयोग करते हुए एक BRDF मतलब शॉर्टकट के रूप में उपयोग किए जाते हैं।

अब ये सभी माइक्रोफ़ैसेट पर स्पेक्युलर परावर्तन (या अपवर्तन) को ग्रहण करते हैं, इसलिए भित्ति शब्द। यदि आप एक समान विचार रखते हैं, लेकिन विसरित (लैम्बर्टियन) माइक्रोफैसेट का उपयोग करते हैं, तो आपको ऑरेन-नायर ब्रेज़ाफ़ मिलता है। मुझे लगता है कि एक microfacets के गाऊसी वितरण पर आधारित है, लेकिन मैं विवरणों से परिचित नहीं हूं।


ठीक है, यह थोड़ा और स्पष्ट है, लेकिन यह अभी भी स्पष्ट नहीं करता है कि मैं अपने "vec3 प्रतिबिंबकॉल" के साथ क्या करता हूं कि मुझे किरण को पुन: लॉन्च करने / मार्च करने या SSR / cubemap का उपयोग करने से मिलता है। यह केवल एक बिंदु / स्पॉटलाइट को ध्यान में रखते हुए समीकरणों की तरह है, लेकिन क्षेत्र रोशनी या प्रतिबिंब के लिए कोई विचार नहीं है। यह भी लगता है कि "स्पेक्युलर" केवल प्रतिबिंब के बजाय "व्हाइट डॉट" से संबंधित है, क्योंकि इससे कोई मतलब नहीं है = /
new

@newin एक PBR मॉडल में, स्पेक्युलर और रिफ्लेक्शन एक ही चीज़ के अलग-अलग नाम हैं। जब किरण किसी प्रकाश, परावर्तन को टकराती है तो यह एक स्पेक्युलर हाइलाइट होता है जब वह दूसरी वस्तु (या पर्यावरण) से टकराता है। आपके प्रतिबिंब के रूप में, यह निर्भर करता है कि किरण कैसे उत्पन्न होती है। क्या आप प्रत्यक्ष प्रकाश का नमूना ले रहे हैं? क्षेत्र रोशनी? एक BRDF के खिलाफ और पर्यावरण के नक्शे का घालमेल? स्पष्ट प्रकाश नमूनाकरण के साथ प्रगतिशील पथ अनुरेखण पढ़ने की कोशिश करें , एक लंबा जवाब है जो प्रक्रिया के बारे में कुछ चीजें स्पष्ट कर सकता है।
ओलिवियर

तो अगर मैं सही ढंग से समझता हूं कि "vec3 प्रतिबिंबकॉल" को एक प्रकाश के रूप में माना जाना चाहिए और यदि मैं प्रकाश उत्सर्जक करने के लिए जाल बनाना चाहता हूं तो मुझे एल्बिडो में केवल एक मूल्य> 1 डालना चाहिए और यह है? (मैं पीबीआर को अलग-अलग परिदृश्य में एकीकृत करने की कोशिश कर रहा हूं, पहला एक रमैचर है जहां मैं प्रकाश उत्सर्जित करना चाहता हूं, दूसरा एक गेम इंजन है जो एसएसआर का उपयोग करता है और संभवतः क्यूबैप्स का उपयोग करेगा)
नया

@newin उत्सर्जित प्रकाश को बाकी सब चीजों के ऊपर जोड़ा जाता है। यह बीआरडीएफ से असंबंधित है। यदि आपकी जाली प्रकाश के अलावा कुछ नहीं करती है, तो आपको उससे और किरणों का पता लगाने की भी आवश्यकता नहीं है। एक बड़ा एल्बिडो प्रकाश (शारीरिक रूप से गलत) को बढ़ाएगा, इसे पैदा नहीं करेगा।
ओलिवियर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.