- लंबी पोस्ट के लिए क्षमा करें, लेकिन मैं इस तरह से करना पसंद करता हूं क्योंकि " शैतान विवरण में है। " :)
मैं स्क्रैच से एक पथ अनुरेखक लिख रहा हूं और यह पूरी तरह से फैलने के लिए अच्छी तरह से काम कर रहा है (लैम्बर्टियन) सतहों ( यानी भट्ठी परीक्षण इंगित करता है - कम से कम नेत्रहीन - कि यह ऊर्जा संरक्षण है, और प्रदान की गई छवियां उसी के लिए मित्सुबियर के साथ उत्पन्न मेल खाती हैं। पैरामीटर)। अब मैं कुछ धातु की सतहों को प्रस्तुत करने के लिए, मूल कुक-टॉरेंस माइक्रोफैसेट मॉडल के स्पेक्युलर टर्म के लिए समर्थन को लागू कर रहा हूं। हालांकि, ऐसा लगता है कि यह बीआरडीएफ प्राप्त की तुलना में अधिक ऊर्जा को प्रतिबिंबित कर रहा है। नीचे उदाहरण चित्र देखें:
छवि से ऊपर: मित्सुबा संदर्भ (सही माना जाता है) छवि: प्रत्यक्ष प्रकाश नमूनाकरण, महत्वपूर्ण गोलार्ध नमूनाकरण, अधिकतम पथ लंबर = 5, 32 स्तरीकृत एसपीपी, बॉक्स फ़िल्टर, सतह खुरदरापन = 0.2, आरजीबी के साथ पथ अनुरेखण।
ऊपर की छवि: वास्तविक रेंडर की गई छवि: ब्रूट फोर्स भोले पथ अनुरेखण, समरूप गोलार्ध नमूनाकरण, अधिकतम पथ लंबर = 5, 4096 स्तरीकृत एसपीपी, बॉक्स फ़िल्टर, सतह खुरदरापन = 0.2, आरजीबी। रेंडरिंग सेटिंग्स के संबंध में कुछ अंतरों के बावजूद, यह स्पष्ट है कि प्रदान की गई छवि पहले दिखाए गए संदर्भ में परिवर्तित नहीं होगी।
मुझे लगता है कि यह एक कार्यान्वयन समस्या नहीं है, लेकिन रेंडर-टॉरेंस मॉडल के उचित उपयोग के बारे में एक मुद्दा है। नीचे मैं समझाता हूं कि मैं स्पेक्युलर बीआरडीएफ का मूल्यांकन कैसे कर रहा हूं और मैं यह जानना चाहूंगा कि क्या मैं इसे ठीक से कर रहा हूं और यदि नहीं, तो क्यों।
नॉटी-ग्रिट्टी विवरण में जाने से पहले, ध्यान दें कि रेंडरर काफी सरल है: 1) केवल ब्रूट बल भोले पथ अनुरेखण एल्गोरिथ्म को लागू करता है - कोई प्रत्यक्ष प्रकाश नमूनाकरण, कोई द्वि-दिशात्मक पथ अनुरेखण, कोई एमएलटी; 2) सभी नमूना चौराहे बिंदु के ऊपर गोलार्ध पर समान है - न तो कोई महत्वपूर्ण नमूना, न ही फैलाने वाली सतहों के लिए; 3) किरण पथ की एक निश्चित अधिकतम लंबाई 5 है - कोई रूसी रूलेट नहीं; 4) आरजीबी ट्यूपल के माध्यम से चमक / प्रतिबिंब को सूचित किया जाता है - कोई वर्णक्रमीय प्रतिपादन नहीं।
कुक टॉरेंस माइक्रोफैसेट मॉडल
अब मैं उस पथ का निर्माण करने की कोशिश करूंगा, जो मैंने बीआरडीएफ मूल्यांकन अभिव्यक्ति को लागू करने के लिए अनुसरण किया है। सब कुछ प्रतिपादन समीकरण जहां सतह पर प्रतिच्छेदन बिंदु है, देखने वाला वेक्टर है, प्रकाश वेक्टर है, है साथ बाहर जाने वाले चमक , पर चमक घटना है के साथ और ।
उपरोक्त इंटीग्रल ( यानी रेंडरिंग समीकरण का परावर्तन शब्द) को निम्नलिखित मोंटे कार्लो अनुमानक जहां संभाव्यता घनत्व फ़ंक्शन (PDF) है जो नमूने के वितरण का वर्णन करता है। vectors ।
वास्तविक प्रतिपादन के लिए, BRDF और PDF को निर्दिष्ट किया जाना चाहिए। कुक-टोरेंस मॉडल के स्पेक्युलर टर्म के मामले में, मैं निम्नलिखित BRDF का उपयोग कर रहा हूं। जहां उपरोक्त समीकरणों में,
चिकनी स्पेकुलर सतहों के प्रतिपादन के मामले में महत्व के नमूने का उपयोग करना अनिवार्य होगा। हालाँकि, मैं केवल यथोचित सतह ( ) की मॉडलिंग कर रहा हूँ , इस प्रकार, मैंने कुछ समय के लिए समान नमूनाकरण (लंबे समय तक प्रतिपादन की लागत पर) रखने का निर्णय लिया है। इस स्थिति में, पीडीएफ मोंटे कार्लो अनुमानक ( में मोंटे कार्लो अनुमानक में वर्दी पीडीएफ और कुक-टोरेंस BRDF को प्रतिस्थापित करके है। , यादृच्छिक चर) द्वारा प्रतिस्थापित , मुझे
तो, यह वह अभिव्यक्ति है जिसका मैं मूल्यांकन कर रहा हूं जब एक किरण एक स्पेक्युलर सतह से टकराती है जिसका प्रतिबिंब कुक-टॉरेंस बीआरडीएफ द्वारा वर्णित है। यह वह अभिव्यक्ति है जो प्राप्त की तुलना में अधिक ऊर्जा को प्रतिबिंबित करती प्रतीत होती है। मुझे लगभग यकीन है कि इसके साथ (या व्युत्पत्ति प्रक्रिया में) कुछ गड़बड़ है, लेकिन मैं अभी इसे हाजिर नहीं कर सकता।
दिलचस्प रूप से पर्याप्त है, अगर मैं उपरोक्त अभिव्यक्ति को गुणा करता हूं, तो मुझे ऐसे परिणाम मिलते हैं जो सही लगते हैं। हालाँकि, मैंने ऐसा करने से इनकार कर दिया है क्योंकि मैं गणितीय रूप से इसे सही नहीं ठहरा सकता।
कोई मदद बहुत स्वागत है! धन्यवाद!
अद्यतन करें
जैसा कि @wolle ने नीचे बताया है, यह पेपर पथ अनुरेखण के लिए बेहतर नया सूत्रीकरण प्रस्तुत करता है, जहाँ सामान्य वितरण फ़ंक्शन (NDF) में कारक शामिल होता है और BRDF में _rac कारक। इस प्रकार और उपरोक्त समीकरणों में शामिल किए जाने को सुरक्षित रखें। प्रतिपादन समीकरण, मैं साथ समाप्त हुआ
अद्यतन २
जैसा कि पेटेयूके ने कहा , मेरे प्रश्न के मूल पाठ में प्रस्तुत फ्रेसेल सूत्रीकरण के लेखक ने गलत तरीके से कुक और टॉरेंस को जिम्मेदार ठहराया था। ऊपर इस्तेमाल किया गया फ्रेस्नेल सूत्रीकरण वास्तव में श्लिक के सन्निकटन के रूप में जाना जाता है और इसका नाम क्रिस्टोफ श्लिक के नाम पर रखा गया है। प्रश्न का मूल पाठ तदनुसार संशोधित किया गया था।