क्या प्रकाश मॉडल में रैखिक क्षीणन घटक का भौतिक समकक्ष है?


18

ओपनजीएल (और अन्य प्रणालियों) में बिंदु रोशनी के लिए दूरी क्षीणन कारक कुछ ऐसा है 1/(c+kd+sd^2), जहां dप्रकाश से दूरी है और c, kऔर sस्थिरांक हैं।

मैं उस sd^2घटक को समझता हूं जो वास्तविकता में अपेक्षित भौतिक रूप से सटीक "उलटा वर्ग कानून" क्षीणन के मॉडल को जानता है।

मुझे लगता है कि स्थिरांक c, आमतौर पर एक है, क्या d(और विभाजित-शून्य-शून्य रक्षा शायद?) के बहुत छोटे मूल्यों से निपटने के लिए है ।

kdमॉडल में रैखिक घटक की क्या भूमिका है , (डिफ़ॉल्ट रूप kसे ओपनजीएल में शून्य है)। आप अन्य मूल्यों का उपयोग कब करेंगे k? मुझे पता है कि इसे "रैखिक क्षीणन" घटक कहा जाता है, लेकिन यह प्रकाश मॉडल में किस व्यवहार का अनुकरण करता है? यह प्रकाश के किसी भी भौतिक मॉडल में प्रकट नहीं होता है जिसके बारे में मुझे पता है।

[संपादित करें]

डेविड गॉविया ने बताया कि रैखिक कारक का उपयोग उस दृश्य को देखने में मदद करने के लिए किया जा सकता है जो डेवलपर / कलाकार के इरादे के करीब है, या उस दर को बेहतर ढंग से नियंत्रित करने के लिए जिस पर प्रकाश गिरता है। जिस स्थिति में मेरा सवाल है "क्या रैखिक क्षीणन कारक का भौतिकी समकक्ष है या यह सिर्फ दृश्य में प्रकाश की गुणवत्ता को नियंत्रित करने में मदद करने के लिए एक ठग कारक के रूप में उपयोग किया जाता है?"


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

सॉरी डेविड, मेरा मतलब आपके जवाब को गलत बताना नहीं था। मैंने अपना एडिट ऊपर बदल दिया है।
केन

1
यह याद रखना हमेशा अच्छा होगा कि सभी प्रकाश एक हैक, शुद्ध और सरल =) है
पैट्रिक ह्यूजेस

जवाबों:


21

प्रकाश, बिंदु जैसे स्रोतों से, दूरी के वर्ग के साथ गिरता है। वह भौतिक वास्तविकता है।

रैखिक क्षीणन अक्सर बेहतर दिखाई देने के लिए कहा जाता है। लेकिन यह केवल सच है जब एक गैर-रेखीय रंग स्थान में काम कर रहा है । यदि आपके पास उचित गामा सुधार सक्रिय नहीं है। कारण बहुत आसान है।

यदि आप गामा सुधार के बिना एक रेखीय आरजीबी मान को रेखीय आरजीबी मान लिख रहे हैं, तो आपके रेखीय मान मॉनिटर के अंतर्निहित गामा रैंप द्वारा मंगवाए जाएंगे। यह आपके द्वारा वास्तव में इच्छित उद्देश्य की तुलना में प्रभावी ढंग से दृश्य को गहरा कर देता है।

2.2 के एक गामा को मानते हुए, आपका मॉनिटर प्रभावी रूप से सभी रंगों को 2.2 की शक्ति तक बढ़ाएगा जब उन्हें प्रदर्शित किया जाएगा।

यह रैखिक क्षीणन है 1/kd:। इस पर नजर रखने के गामा रैंप के साथ रैखिक क्षीणन लागू किया जाता है: 1/(kd)^2.2। यह एक उचित उलटा-चुकता संबंध के बहुत करीब है।

लेकिन वास्तविक उलटा वर्ग: 1/sd^2बन जाता है 1/((s^2)(d^4.4)):। यह प्रकाश क्षीणन गिर बनाता है बहुत अधिक तेजी से अपेक्षा से।

सामान्य तौर पर, यदि आप उचित गामा सुधार का उपयोग कर रहे हैं (जैसे sRGB फ्रेमबफ़र को रेंडर करना), तो आपको रैखिक क्षीणन का उपयोग नहीं करना चाहिए। यह सही नहीं लगेगा। सब पर । और अगर आप गामा सुधार का उपयोग नहीं कर रहे हैं ... आपके साथ क्या गलत है?)

किसी भी मामले में, यदि आप वास्तविकता की नकल करने की कोशिश कर रहे हैं, तो आप उलटा-चुकता (और गामा सही) चाहते हैं। यदि आप नहीं हैं, तो आप अपने दृश्य के लिए जो भी आवश्यक हो, कर सकते हैं।


4
+1 मैंने थोड़ी देर के लिए गामा सही प्रतिपादन के बारे में जाना। मैंने कुछ समय के लिए द्विघात और रैखिक क्षीणन के बारे में जाना है। और यही वह क्षण है जहां मुझे पहली बार दोनों के बीच संबंध का एहसास हुआ। :-)
डेविड गौविया

9

लचीलापन

क्योंकि आप चाहते हैं कि आपकी रोशनी रैखिक रूप से गिर जाए। यह आपको नियंत्रण की डिग्री देने के लिए है। यह वास्तव में शारीरिक रूप से सटीक होने की आवश्यकता नहीं है (और पूरे फोंग छायांकन प्रकाश समीकरण निश्चित रूप से शारीरिक रूप से सटीक नहीं हैं)।

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

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

संपादित करें: बस यह समझाते हुए एक अच्छा संसाधन मिला ।


6

ठीक है, मैं एक अनुमान लगाने जा रहा हूँ।

प्रारंभिक अवलोकन

ओपनजीएल (और अन्य प्रणालियों) में बिंदु रोशनी के लिए दूरी क्षीणन कारक कुछ ऐसा है 1/(c+kd+sd^2), जहां dप्रकाश से दूरी है और c, kऔर sस्थिरांक हैं।

मैं उस sd^2घटक को समझता हूं जो वास्तविकता में अपेक्षित भौतिक रूप से सटीक "उलटा वर्ग कानून" क्षीणन के मॉडल को जानता है।

के लिए वक्र c+kd+sd^2एक परवलय है, और इसके लिए वक्र है sd^2; अंतर उतना महत्वपूर्ण नहीं है जितना यह लग सकता है: वे अनंत रूप में समान व्यवहार करते हैं, यह सिर्फ छोटे मूल्यों के लिए है जो अलग हैं। जो भी kमतलब है, यह केवल प्रकाश के करीब होने पर सार्थक है।

प्रारंभिक सरलीकरण

चूँकि यह एक क्षीणन कारक है जिसे आप सेट कर सकते हैं s == 1, या sअभिव्यक्ति में प्रत्येक स्थिर को विभाजित कर सकते हैं, और अपने प्रकाश स्रोत की शक्ति को विभाजित कर सकते हैं s। सूत्र में एक पैरामीटर बहुत अधिक है।

आप के साथ अंत:

1/(c/s+(k/s)d+d^2)

चरों का परिवर्तन

... जो कड़ाई से समकक्ष है:

1/(A + D^2)

के साथ A == c/s - k^2/(4s^2)और अधिक महत्वपूर्ण बात,D == d + k/2s ,।

यह 1/(A+D^2)वास्तव में हमेशा की तरह दिखता है 1/(c+d^2), है ना?

निष्कर्ष

kकारक अग्रिम या प्रकाश क्षीणन विलंब इतना है कि यह केवल की परिधि पर शुरू होता है-k/2s (हाँ, यह भी, "नकारात्मक" त्रिज्या हो सकता था एक काल्पनिक गोलाकार दर्पण के अंदर एक काल्पनिक बिंदु प्रकाश है कि केवल बाहर दूसरी बार प्रकाश दिया जाएगा के बारे में सोच) । ऐसा प्रतीत होता है कि मैथ्स फिर से जीत गए!

संपादित करें: एक सेकंड के लिए मुझे लगा कि यह एक गोलाकार प्रकाश के बराबर है, लेकिन यह नहीं है। सबसे विशेष रूप से, यह नरम छाया उत्पन्न नहीं करेगा।

उपयोगिता?

मेरा अनुमान है कि इस पैरामीटर का उपयोग किसी कलाकार द्वारा रोशनी दिखाने के लिए किया जा सकता है जैसे यह रोशनी के मामले में ऑब्जेक्ट के करीब (या आगे दूर) है, लेकिन इसे स्थानांतरित किए बिना। चूँकि पॉइंट लाइट्स हार्ड शैडो उत्पन्न करती हैं, इसलिए यह एक आवश्यकता हो सकती है कि प्रकाश एक विशिष्ट स्थिति में रहे।


3

रैखिक क्षीणन गुणांक एक माध्यम में यात्रा करने वाले प्रकाश का भौतिक प्रतिरूप है। क्षीणन के बिना, प्रकाश सही शून्य में यात्रा करने लगता है। "यथार्थवादी" दृश्यों को प्रस्तुत करते समय, आप चाहते हैं कि हवा दूरी पर प्रकाश की तीव्रता को कम कर दे, और यह क्षीणन रैखिक है।


मुझे नहीं लगता कि यह सच हो सकता है। एक माध्यम के माध्यम से प्रकाश यात्रा से तनु की जाएगी 1/dमें Rसमन्वय, और अभी भी द्वारा 1/d^2में thetaऔर phiगोलाकार निर्देशांक। आप जो वर्णन करते हैं 1/d^3, वह प्रकाश की तीव्रता का क्षीणन है।
सैम होसेवर

3

रैखिक क्षीणन कारक उन मामलों के लिए होता है जहाँ आप अपने प्रकाश के लिए रेखीय क्षीणन का उपयोग करना चाहते हैं, लेकिन मुख्य बात यह है - आपको इसका उपयोग नहीं करना है (या उस मामले के लिए अन्य क्षीणन कारकों में से कोई भी)।

यह आपको अपने स्वयं के व्यक्तिगत स्वाद के लिए अपने प्रकाश को ट्यून करने की अनुमति देता है। तो बस किसी भी क्षीणन कारक को सेट करें जिसे आप 0 पर नहीं चाहते हैं और जिन्हें आप गैर-0 पर करना चाहते हैं और यह किया गया है।

एक विशिष्ट उदाहरण जहां आप रैखिक क्षीणन का उपयोग करना चाह सकते हैं यदि अधिक गणितीय रूप से सही उलटा-वर्ग बहुत तेजी से एक गिरावट को बंद करता है। रैखिक का उपयोग करके आप एक परिणाम प्राप्त कर सकते हैं जो कम या ज्यादा अच्छा लग सकता है (और दृश्य में कम रोशनी के साथ); तो आप 0 स्थिर, 1 रैखिक और 0 घातीय का उपयोग करेंगे।

यह ध्यान रखना दिलचस्प है (लेकिन इस चर्चा के लिए प्रासंगिक रूप से प्रासंगिक नहीं है) कि बिंदु दोनों ओएनजीसीएल और डी 3 डी (और ओपनजीएल में पॉइंट पैरामीटर) दोनों में समान क्षीणन सूत्र का उपयोग करता है।

यह भी ध्यान देने योग्य है कि ओपनजीएल / डी 3 डी लाइटिंग का कड़ाई से शारीरिक रूप से सही होने का इरादा नहीं है; यह कभी भी स्वीकार्य सन्निकटन से अधिक कुछ भी नहीं होने के लिए डिज़ाइन किया गया था, और इस तरह से काम करने के तरीके से संबंधित किसी भी चीज़ की क्वेरी करते समय इसे ध्यान में रखना चाहिए।

बेशक, आजकल आप सबसे अधिक संभावना एक शेडर का उपयोग कर रहे होंगे इसलिए पुराना प्रकाश सूत्र मुख्य रूप से केवल अकादमिक / ऐतिहासिक रुचि है - आप जो भी प्रकाश सूत्र चाहते हैं उसे लिख सकते हैं।


1
  • c प्रकाश स्रोत के लिए निरंतर क्षीणन मान है।
  • lरैखिक क्षीणन है। यही कारण है कि इसे डिस्टैंट से प्रकाश स्रोत तक गुणा किया जाता है।
  • s द्विघात क्षीणन है, इसलिए यह दूरी के वर्ग से गुणा किया जाता है।

इस लिंक में कुछ और जानकारी है ।


धन्यवाद, लेकिन मेरा सवाल यह है कि मॉडलिंग प्रकाश में रैखिक क्षीणन घटक की भूमिका क्या है। मैं पूछता हूं क्योंकि यह प्रकाश के किसी भी भौतिकी मॉडल में प्रकट नहीं होता है जिससे मैं परिचित हूं। आपके द्वारा प्रदान किया गया लिंक यह नहीं बताता है कि रैखिक क्षीणन घटक क्या है। यह सिर्फ कहता है; "यह रेखीय क्षीणन है", बिना किसी अन्य स्पष्टीकरण के।
केन

ठीक है, मैंने आपके प्रश्न का गलत अर्थ निकाला। रैखिक क्षीणन बेहतर एक अनंत, एक आयामी प्रकाश स्रोत (एक फ्लोरोसेंट ट्यूब लगता है) में मनाया जाएगा, जबकि द्विघात मॉडल एक गोलाकार प्रकाश स्रोत का व्यवहार करते हैं। अब तक मैंने केवल एक ही स्थान पाया है जहाँ भौतिक प्रकाश मॉडल और कंप्यूटर ग्राफिक्स में उपयोग किए जाने वाले पत्राचार की व्याख्या है: imdoingitwrong.wordpress.com/2011/01/31/light-attenuation
r2d2rigue

1

यह इस तथ्य से प्राप्त हो सकता है कि Z, सम्मानित एरिक लेंग्येल के शब्दों में ,

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

तथ्य यह है कि आप पास के विमान के करीब और अधिक सटीक परिशुद्धता प्राप्त करते हैं, बस एक साइड इफेक्ट है और 1 / z प्रक्षेप के पीछे प्रेरणा के साथ कुछ भी नहीं करना है।

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

यह सिर्फ एक अनुमान है।


आप वहां कुछ कर सकते हैं। यह अच्छी तरह से उस स्थान के साथ कुछ कर सकता है जिसमें प्रकाश की गणना की जाती है। लेकिन मुझे नहीं लगता कि गहराई बफर इसका हिस्सा है, क्योंकि यह वस्तु से आंख (या सामने के विमान) से 'छद्म दूरी' को संग्रहीत करता है, वस्तु से प्रकाश की दूरी नहीं। यह प्रकाश की दूरी है जिसका उपयोग प्रकाश व्यवस्था में किया जाता है।
केन

@downvoter - टिप्पणी करने के लिए देखभाल, या बस ट्रोलिंग? (जोनाथन को उद्धृत करने के लिए)
इंजीनियर

डाउनवोटिंग के रूप में, क्षीणन की गणना नेत्र स्थान में नहीं सामान्यीकृत स्थान पर की जाती है -> परिप्रेक्ष्य / z का इससे कोई लेना-देना नहीं है
ओलिवर ज़ेंडेल

1

केवल एक परिशिष्ट के रूप में: जब ओपनजीएल मॉडल का उपयोग करते हुए एक गोलाकार प्रकाश स्रोत का अनुमान लगाया जाता है, तो तीनों गुणांक समझ में आते हैं और वैध होते हैं ("ओवरफ्लो को रोकने के लिए नहीं" या "कलात्मक स्वतंत्रता"):

त्रिज्या आर के साथ एक क्षेत्र के लिए हम:

1 / (घ / आर + 1) ^ 2

यह करने के लिए अनुवाद

c = 1 k = 2 / r s = (1 / r ^ 2)

(देखें http://imdoingitwrong.wordpress.com/2011/01/31/light-attenuation/ )।

Imho यह सन्निकटन infinitesimally छोटे बिंदु रोशनी का उपयोग करने से बेहतर है, जिसमें कोई विस्तार नहीं है!


सूत्र 1 / (d / r + 1) ^ 2 कैसे आता है? मूल लेख केवल कहता है "परीक्षणों की एक श्रृंखला से परिणामों को देखने के बाद, यह स्पष्ट हो गया", जो भौतिक मॉडलिंग के बारे में पूछे जाने वाले प्रश्न के संदर्भ में पर्याप्त आश्वस्त नहीं है।
user1914692

0

सूत्र के बारे में मेरा एक अलग दृष्टिकोण / उत्तर है।

जब हम एक स्पॉट लाइट देखते हैं, उदाहरण के लिए, वास्तव में हम लाइट को बिखरते हुए देखते हैं। तो 1 / d ^ 2 का सूत्र केवल उस पिक्सेल के उत्सर्जन प्रकाश के लिए है। लेकिन उस पिक्सेल के हमारे कैमरे की चमक में अधिक जटिल सूत्र होगा, जो प्रकाश के बिखरने के सिद्धांत का उपयोग करेगा। कागज देखें

"एकल स्कैटरिंग के साथ मीडिया में भाग लेने के लिए छाया और क्रुस्पकुलर किरणों के लिए एपिपोलर नमूनाकरण"

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

तो मुझे लगता है कि दावा:

"यदि आप वास्तविकता की नकल करने की कोशिश कर रहे हैं, तो आप उलटा-सीधा (और गामा सही) चाहते हैं" मान्य नहीं है।

वास्तव में मैं गामा के बिना रैखिक और द्विघात कारकों के साथ सूत्र का उपयोग करता हूं, चमक प्रभाव की अच्छी तरह से नकल कर सकता है। रैखिक नहीं कर सकते।

एक संक्षिप्त सारांश में, सूत्र में प्रकाश प्रकीर्णन का भौतिक प्रतिरूप होता है।

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