कुक-टॉरेंस BRDF को ट्रेस करते हुए पथ


27

- लंबी पोस्ट के लिए क्षमा करें, लेकिन मैं इस तरह से करना पसंद करता हूं क्योंकि " शैतान विवरण में है। " :)

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

मित्सुबा संदर्भ छवि।

छवि से ऊपर: मित्सुबा संदर्भ (सही माना जाता है) छवि: प्रत्यक्ष प्रकाश नमूनाकरण, महत्वपूर्ण गोलार्ध नमूनाकरण, अधिकतम पथ लंबर = 5, 32 स्तरीकृत एसपीपी, बॉक्स फ़िल्टर, सतह खुरदरापन = 0.2, आरजीबी के साथ पथ अनुरेखण।

रेंडर की गई छवि

ऊपर की छवि: वास्तविक रेंडर की गई छवि: ब्रूट फोर्स भोले पथ अनुरेखण, समरूप गोलार्ध नमूनाकरण, अधिकतम पथ लंबर = 5, 4096 स्तरीकृत एसपीपी, बॉक्स फ़िल्टर, सतह खुरदरापन = 0.2, आरजीबी। रेंडरिंग सेटिंग्स के संबंध में कुछ अंतरों के बावजूद, यह स्पष्ट है कि प्रदान की गई छवि पहले दिखाए गए संदर्भ में परिवर्तित नहीं होगी।

मुझे लगता है कि यह एक कार्यान्वयन समस्या नहीं है, लेकिन रेंडर-टॉरेंस मॉडल के उचित उपयोग के बारे में एक मुद्दा है। नीचे मैं समझाता हूं कि मैं स्पेक्युलर बीआरडीएफ का मूल्यांकन कैसे कर रहा हूं और मैं यह जानना चाहूंगा कि क्या मैं इसे ठीक से कर रहा हूं और यदि नहीं, तो क्यों।

नॉटी-ग्रिट्टी विवरण में जाने से पहले, ध्यान दें कि रेंडरर काफी सरल है: 1) केवल ब्रूट बल भोले पथ अनुरेखण एल्गोरिथ्म को लागू करता है - कोई प्रत्यक्ष प्रकाश नमूनाकरण, कोई द्वि-दिशात्मक पथ अनुरेखण, कोई एमएलटी; 2) सभी नमूना चौराहे बिंदु के ऊपर गोलार्ध पर समान है - न तो कोई महत्वपूर्ण नमूना, न ही फैलाने वाली सतहों के लिए; 3) किरण पथ की एक निश्चित अधिकतम लंबाई 5 है - कोई रूसी रूलेट नहीं; 4) आरजीबी ट्यूपल के माध्यम से चमक / प्रतिबिंब को सूचित किया जाता है - कोई वर्णक्रमीय प्रतिपादन नहीं।

कुक टॉरेंस माइक्रोफैसेट मॉडल

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

Lo(p,wo)=Le+∫ΩLi(p,wi)fr(wo,wi)cos⁡θdω
pwowiLowoLipwicos⁡θ=n⋅wi

उपरोक्त इंटीग्रल ( यानी रेंडरिंग समीकरण का परावर्तन शब्द) को निम्नलिखित मोंटे कार्लो अनुमानक जहां संभाव्यता घनत्व फ़ंक्शन (PDF) है जो नमूने के वितरण का वर्णन करता है। vectors ।

1N∑k=1NLi(p,wk)fr(wk,wo)cos⁡θp(wk)
pwk

वास्तविक प्रतिपादन के लिए, BRDF और PDF को निर्दिष्ट किया जाना चाहिए। कुक-टोरेंस मॉडल के स्पेक्युलर टर्म के मामले में, मैं निम्नलिखित BRDF का उपयोग कर रहा हूं। जहां उपरोक्त समीकरणों में,

fr(wi,wo)=DFGπ(n⋅wi)(n⋅wo)
D=1m2(n⋅h)4exp⁡((n⋅h)2−1m2(n⋅h)2)
F=cspec+(1−cspec)(1−wi⋅h)5
G=min(1,2(n⋅h)(n⋅wo)wo⋅h,2(n⋅h)(n⋅wi)wo⋅h)
h=wo+wi|wo+wi| और रंग है। के अपवाद के साथ सभी समीकरण, मूल पेपर से निकाले गए थे। , जिसे श्लिक के सन्निकटन के रूप में भी जाना जाता है, वास्तविक फ्रेसेल शब्द का एक कुशल और कम सटीक सन्निकटन है।cspecFF

चिकनी स्पेकुलर सतहों के प्रतिपादन के मामले में महत्व के नमूने का उपयोग करना अनिवार्य होगा। हालाँकि, मैं केवल यथोचित सतह ( ) की मॉडलिंग कर रहा हूँ , इस प्रकार, मैंने कुछ समय के लिए समान नमूनाकरण (लंबे समय तक प्रतिपादन की लागत पर) रखने का निर्णय लिया है। इस स्थिति में, पीडीएफ मोंटे कार्लो अनुमानक ( में मोंटे कार्लो अनुमानक में वर्दी पीडीएफ और कुक-टोरेंस BRDF को प्रतिस्थापित करके है। , यादृच्छिक चर) द्वारा प्रतिस्थापित , मुझे m≈0.2

p(wk)=12π
wiwk
1N∑k=1NLi(p,wk)(DFGπ(n⋅wk)(n⋅wo))cos⁡θ(12π)
अब हम को रद्द कर सकते हैं और सम्‍मिलन हटा सकते हैं क्‍योंकि हम चौराहे के बिंदु से केवल एक यादृच्छिक किरण को शूट करते हैं। हम चूंकि , हम इसे π
2Li(p,wk)(DFG(n⋅wk)(n⋅wo))cos⁡θ
cos⁡θ=n⋅wk
2Li(p,wk)(DFGn⋅wo)

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

दिलचस्प रूप से पर्याप्त है, अगर मैं उपरोक्त अभिव्यक्ति को गुणा करता हूं, तो मुझे ऐसे परिणाम मिलते हैं जो सही लगते हैं। हालाँकि, मैंने ऐसा करने से इनकार कर दिया है क्योंकि मैं गणितीय रूप से इसे सही नहीं ठहरा सकता।1π

कोई मदद बहुत स्वागत है! धन्यवाद!

अद्यतन करें

जैसा कि @wolle ने नीचे बताया है, यह पेपर पथ अनुरेखण के लिए बेहतर नया सूत्रीकरण प्रस्तुत करता है, जहाँ सामान्य वितरण फ़ंक्शन (NDF) में कारक शामिल होता है और BRDF में _rac कारक। इस प्रकार और उपरोक्त समीकरणों में शामिल किए जाने को सुरक्षित रखें। प्रतिपादन समीकरण, मैं साथ समाप्त हुआ D1πfr14

Dnew=1πm2(n⋅h)4exp⁡((n⋅h)2−1m2(n⋅h)2)
frnew(wi,wo)=DFG4(n⋅wi)(n⋅wo)
π2Li(p,wk)(DnewFGn⋅wo)
जो अच्छी तरह से काम किया! पुनश्च: इस मुद्दे को अब बेहतर ढंग से समझने के लिए कैसे के लिए नए निर्माण है और ऊर्जा संरक्षण को बनाए रखने में मदद ... लेकिन यह एक और विषय है।Dfr

अद्यतन २

जैसा कि पेटेयूके ने कहा , मेरे प्रश्न के मूल पाठ में प्रस्तुत फ्रेसेल सूत्रीकरण के लेखक ने गलत तरीके से कुक और टॉरेंस को जिम्मेदार ठहराया था। ऊपर इस्तेमाल किया गया फ्रेस्नेल सूत्रीकरण वास्तव में श्लिक के सन्निकटन के रूप में जाना जाता है और इसका नाम क्रिस्टोफ श्लिक के नाम पर रखा गया है। प्रश्न का मूल पाठ तदनुसार संशोधित किया गया था।


सुनिश्चित नहीं हैं कि आप अभी भी इस साइट पर जा रहे हैं, लेकिन मुझे आपके फ्रेस्नेल समीकरण के बारे में एक प्रश्न मिला है और इसे यहां
— पेटीक

जवाबों:


12

इस पत्र के अनुसार , आपके में होना चाहिए, : इसलिए आप 1πfr14

fr=DFG4(n⋅wi)(n⋅wo),
π2Li(p,wk)(DFGn⋅wo).

मैंने कुक-टॉरेंस बीआरडीएफ के लिए यह अन्य सूत्रीकरण देखा है, जहां समीकरण बजाय से गुणा किया जाता है । हालाँकि, अंत में, इस संशोधन का प्रभाव बहुत कम है क्योंकि हम 2 को प्रतिस्थापित करेंगे, अंतिम समीकरण में मौजूद, 1.57 ( )। मैंने यहां एक परीक्षण किया है (बस मामले में ...), और वास्तव में समस्या बनी रही। 141π=π2
— ईसाई पगोट

@ कपापोट को का कारक कभी-कभी प्रकाश स्रोत तीव्रता (सम्मेलन द्वारा) में शामिल किया जाता है और BRDFs से बाहर छोड़ दिया जाता है; यह प्रश्न भी देखें । लेकिन यह पथ अनुरेखण की तुलना में वास्तविक समय प्रतिपादन में अधिक सामान्य है। इसके अलावा, आप कहते हैं कि आपका लैंबर्टियन परीक्षण मित्सुबा से पूरी तरह मेल खाता है, इसलिए यह कम संभावना है कि यह मुद्दा है ... फिर भी यह देखने लायक हो सकता है। 1/π
— नाथन रीड

@ कपापोट मुझे लगता है कि आप अपने वितरण फ़ंक्शन में एक याद कर रहे हैं । कागज मैं से जुड़ा हुआ तो होने, बेकमैन वितरण में है कि घटक है, जिसे आप उपयोग भी शामिल है में और में चाल करना चाहिए। 1πD14fr1πD
— ११'१६

@NathanReed मैंने रंग में एम्बेडिंग बारे में लेख पढ़ा है । हालांकि, इस कारण से कि आपने उल्लेख किया है, मुझे यकीन था कि यह समस्या नहीं थी। π
— क्रिश्चियन पगोट

@wolle बिल्कुल! दरअसल, मैंने पहले ही उस कागज पर एक त्वरित नज़र डाल ली थी जिसका आपने उल्लेख किया है, लेकिन मैंने उस पर ध्यान नहीं दिया! मैं बस के लिए खाते में मेरी कार्यान्वयन बदल दिया है में और में , और सब कुछ अब एक आकर्षण की तरह काम करता है! मैं जवाब के साथ सवाल के लिए एक अद्यतन शामिल होगा! धन्यवाद! 1πD14fr
— क्रिश्चियन पगोट

13

मैं यह किसी के लिए भी सोच रहा हूं कि पद और बीच के भ्रम के बारे में सोच रहा हूँ ।1π14

शब्द मूल कुक-टोरेंस संदर्भ से एक त्रुटि है।1π

वास्तव में, पूरे शब्द प्रतिबिंबित ठोस कोण से सामान्य ठोस कोण में परिवर्तन के से आता है।14(n⋅ωi)

अधिकांश कागजात के अनुसार, शब्द पहली बार [टोरेंस, 67] में दिखाई दिया ।14

इस शब्द की अच्छी व्याख्या के लिए, आपको [Nayar, 91] , परिशिष्ट D. की जाँच करनी चाहिए । यहाँ एक ही चित्र है:

dω′=dωr4cos⁡θi′

इसके अलावा, जो स्टैम नायर के टर्म के साथ [स्टैम 01, एक रोशनी मॉडल फॉर रफ सर्फर्स द्वारा बाध्य], परिशिष्ट बी से सहमत हैं ।14

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.