मुझे लगता है कि मुझे अपनी सोच को समझाने की आवश्यकता है।
जैसा कि नाम इंगित करता है, इनपुट इनपुट में केवल एक ही ऑपरेशन को लागू करने के बजाय, यह उस छवि के खिलाफ शेडर्स के दो पास चलाता है, एक दूसरे के बाद। गॉसियन ब्लर्स जैसे संचालन के लिए इसकी आवश्यकता है, जहां मैं एक लंबवत कर्नेल का उपयोग एक लंबवत धुंध पास करने के लिए करता हूं और फिर क्षैतिज एक (9-हिट धुंध पर बनावट को 81 से 18 तक पढ़ता है)। मैं छवियों को किनारे का पता लगाने के लिए उनके ल्यूमिनेंस घटक में कम करने के लिए इसका उपयोग करता हूं, हालांकि मैंने हाल ही में फिल्टर को यह पता लगाने के लिए बनाया है कि क्या वे उस वैकल्पिक बनाने के लिए मोनोक्रोम सामग्री प्राप्त कर रहे थे।
इसलिए, यह बेस GPUImageFilter को दो फ्रेमबफर और दो शेडर प्रोग्रामों का उपयोग करने के बजाय प्रत्येक में से एक के लिए विस्तारित करता है। पहले पास में, प्रतिपादन एक मानक GPUImageFilter के साथ ऐसा होता है। हालांकि, इसके अंत में, परिणामस्वरूप बनावट को श्रृंखला में अगले फ़िल्टर में भेजने की बजाय, यह बनावट दूसरे रेंडर पास के लिए इनपुट के रूप में ली जाती है। फिल्टर दूसरे शेडर प्रोग्राम में स्विच करता है और दूसरे आउटपुट बनावट के उत्पादन के लिए पहले आउटपुट बनावट के खिलाफ चलता है, जिसे अंततः इस फ़िल्टर के आउटपुट के रूप में पास किया जाता है।
फ़िल्टर GPUImageFilter के केवल विधियों को ओवरराइड करता है जो ऐसा करने के लिए आवश्यक है। देखने के लिए एक मुश्किल बात यह है कि मैं फिल्टर के पहले चरण में इनपुट छवि के घूर्णन के लिए सही हूं, लेकिन दूसरे चरण को फिर से छवि को घुमाए जाने की आवश्यकता नहीं है। यही कारण है कि पहले और दूसरे चरणों के लिए उपयोग किए गए बनावट निर्देशांक में एक अंतर है। इसके अलावा, एक ही दिशा में नमूने वाले ब्लर्स जैसे फ़िल्टरों को उनके नमूना इनपुट फ़्लिप करने की आवश्यकता हो सकती है, इस पर निर्भर करता है कि पहला चरण छवि को घुमा रहा है या नहीं।
वहां कुछ मेमोरी ऑप्टिमाइज़ेशन और शेडर कैशिंग चीजें भी हैं, लेकिन आप इसे एंड्रॉइड पर पोर्ट करते समय सुरक्षित रूप से अनदेखा कर सकते हैं।
स्रोत
2013-02-05 18:52:21
+1 हमें एंड्रॉइड के लिए इस पर काम करने वाले लोगों की आवश्यकता है! यह एक भयानक ओपन सोर्स प्रोजेक्ट है, जिसने इसे आईओएस पर इस्तेमाल किया है और इसे एंड्रॉइड –
पर खो दिया है, अगर यह फ़िल्टर मौजूद है, तो यह परियोजना एंड्रॉइड – Jameo
पर तत्काल मूल्यवान होगी। 'GPUImageMovieWriter' भी उपयोग के मामले के आधार पर बेहद मूल्यवान है, लेकिन यह एक ऐसा क्षेत्र है जहां एंड्रॉइड को पोर्ट करना ** बहुत ** कठिन हो सकता है –