मुझे इसका कहीं भी अच्छा कारण नहीं मिल रहा है। फोंग में प्रयुक्त प्रतिबिंब वेक्टर का भौतिकी में सरल आधार है। लेकिन ब्लाइन में इस्तेमाल किए गए आधे वेक्टर का कोई तर्कसंगत आधार नहीं है, और एक उचित प्रतिबिंब का गठन नहीं करता है। और फिर भी इसका उपयोग हर तथाकथित "शारीरिक रूप से आधारित" छायांकन फ़ंक्शन में किया जाता है। अगर इसके लिए कोई अच्छा शारीरिक आधार है, तो मैं जानना चाहूंगा।
जो मैं पा सका हूं, उसके कुछ कारण हैं:
यह तेज़ है - इस पर मिली-जुली जानकारी है, लेकिन फिर भी यह एक बड़ा कारण रहा होगा ... वर्ष 1998 में।
यह 90 डिग्री से बेहतर कोणों को बेहतर तरीके से संभालता है - जहां तक मैं इसका एकमात्र कारण बता सकता हूं क्योंकि फोंग शब्द का उपयोग अनुचित तरीके से किया गया है। प्रतिबिंब और दृश्य का डॉट उत्पाद -1 और +1 के बीच एक कोण देता है। आमतौर पर इस कोण को 0 से 1 तक जकड़ा जाता है, यह 90 डिग्री की समस्या का प्रत्यक्ष कारण है। इसे क्लैंप करने के बजाय कोण को फिर से सामान्य करें और आप पूर्ण 180 डिग्री कवरेज प्राप्त करें। मुझे विश्वास है कि एक साधारण एक्स * 0.5 + 0.5 ऑपरेशन ने 40 साल के लिए ग्राफिक्स की दुनिया को हटा दिया है।
यह किनारों को बेहतर तरीके से संभालता है - धार "समस्या" ब्लिन समाधान में भी मौजूद है, बस कुछ हद तक। मुख्य कारण टर्मिनेटर पर क्षेत्र प्रकाश व्यवस्था का अनुचित अनुकरण है, जो किसी भी "शारीरिक रूप से आधारित" shader के लिए आवश्यक होना चाहिए। लेकिन सरल स्थितियों में भी एक सिग्मॉइड फ़ंक्शन एक सॉफ्ट टर्मिनेटर लाइन को सही ढंग से अनुमानित कर सकता है। लैंबर्ट शब्द में गुणा करना गलत है क्योंकि यह स्पेक्युलर शब्द को अनुचित रूप से अटेंड करता है, इससे एक फ्रेस्नेल टर्म को रद्द किया जा सकता है और आगे की त्रुटियां हो सकती हैं।
इसके किनारे पर लंबे प्रतिबिंब हैं - यह मुझे लगता है कि जबकि अनीसोट्रोपिक प्रतिबिंब यथार्थवादी हो सकते हैं, ब्लिन उन्हें लागू करने का सही तरीका नहीं है, क्योंकि वे केवल किनारे पर दिखाई देते हैं। यह केवल एक सुखद संयोग है कि एच शब्द में एक त्रुटि यथार्थवादी दिखने के लिए होती है।
इन कारणों में से कोई भी संतोषजनक नहीं है, मैं इस पागलपन को सुलझाना चाहता हूं।
मैं स्पष्ट करना चाहता हूं कि मैं विशेष रूप से ब्लिन और फोंग के बारे में बात नहीं कर रहा हूं , बल्कि वेक्टर घटकों एच और आर के बारे में बात कर रहा हूं , जो इन रंगों के साथ-साथ अन्य के लिए भी आधार के रूप में उपयोग किया जाता है।