ग्राफिक्स में, एक बनावट नमूने का एक सेट है जो सतह की दृश्य उपस्थिति का वर्णन करती है। एक नमूना एक बिंदु है। यही है, इसका कोई आकार नहीं है (जैसा कि एक पिक्सेल के विपरीत है जिसमें भौतिक आकार है)। पिक्सेल के रंगों को निर्धारित करने के लिए नमूने का उपयोग करते समय, प्रत्येक नमूना अपने संबंधित पिक्सेल के सटीक केंद्र में स्थित होता है। पूरे नंबर निर्देशांक के साथ पिक्सेल को संबोधित करते समय, दिए गए पिक्सेल के लिए सटीक केंद्र इसकी संपूर्ण संख्या समन्वय और 0.5 (प्रत्येक आयाम में) का ऑफसेट बन जाता है।
दूसरे शब्दों में, बनावट कोऑर्डिनेट्स में 0.5 जोड़ना सुनिश्चित करता है कि, उन निर्देशांकों से पढ़ते समय, उस पिक्सेल के नमूने का सटीक मान वापस कर दिया जाता है।
हालांकि, यह तभी होता है जब बनावट के लिए filterMode
cudaFilterModeLinear
कि मूल्य है कि एक बनावट से पढ़ी जाती है एक पिक्सेल के भीतर भिन्न होता है करने के लिए सेट किया गया है। उस मोड में, समन्वय से पढ़ना जो पिक्सेल के सटीक केंद्र में नहीं हैं वे मान दिए गए पिक्सेल के लिए नमूना और पड़ोसी पिक्सल के नमूने के बीच इंटरपोलेट किए गए मान। इसलिए, पूरे संख्या निर्देशांक में 0.5 जोड़ना प्रभावी ढंग से cudaFilterModeLinear
मोड को अस्वीकार करता है। लेकिन, बनावट कोऑर्डिनेट्स में 0.5 जोड़ना कर्नेल में चक्र लेता है, इसलिए filterMode
को cudaFilterModePoint
पर सेट करके इंटरपोलेशन को बंद करना बेहतर होता है। फिर, किसी पिक्सेल के भीतर किसी भी समन्वय से पढ़ने से उस पिक्सेल के लिए सटीक बनावट नमूना मान लौटाता है, और इसलिए, बनावट नमूने सीधे पूर्ण संख्याओं का उपयोग करके पढ़ा जा सकता है।
जब cudaFilterModePoint
का उपयोग कर, यदि कोई चल बिन्दु गणित बनावट निर्देशांक की गणना में शामिल है, देखभाल सुनिश्चित करना है कि चल बिन्दु अशुद्धियों का कारण नहीं है बनावट अभीष्ट लक्ष्य पिक्सेल के लिए सीमा के बाहर गिर निर्देशांक लिया जाना चाहिए।
इसके अलावा, जैसा कि टिप्पणियों का उल्लेख है, आपके कोड में कोई समस्या हो सकती है। बनावट निर्देशांक में 0.5 एफ जोड़ना तात्पर्य है कि cudaFilterModeLinear
मोड का उपयोग किया जा रहा है, लेकिन वह मोड एक फ्लोट देता है, न कि int।
स्रोत
2012-05-19 17:34:32
आपने कहा कि बनावट निर्देशांक के लिए वास्तव में एक पिक्सेल केंद्र को इंगित किया जाता है, इसलिए यदि हम 0,0 निर्देशांक के साथ तत्व तक पहुंच सकते हैं और अपनी योजना का उपयोग करते हैं तो हमें 1,1 पिक्सेल मिलता है। – geek
@ marina.k: मुझे यकीन नहीं है कि आपका क्या मतलब है। क्या उत्तर के साथ कोई समस्या है? –
@ रोगर डाहल धन्यवाद, बहुत अच्छा जवाब। लेकिन क्या आप विस्तारित कर सकते हैं जब आप कहते हैं कि फ़्लोटिंग पॉइंट त्रुटियों से सह समन्वय लक्षित लक्ष्य पिक्सेल के लिए सीमा के बाहर गिरने का कारण बन सकते हैं? आप का मतलब क्या है? –