एक टिकट बनाएं
अनुसरण करें

Q100362: GPU त्वरित रंग प्रबंधन के लिए अपने OCIO कॉन्फ़िगरेशन का अनुकूलन

सारांश

यह आलेख मारी 3.3v1 में OCIO रंग प्रबंधन प्रणाली में किए गए परिवर्तनों की व्याख्या करता है और प्रत्येक रंग स्थान के लिए रंग परिवर्तन ओवरराइड बनाकर कस्टम रंग विन्यास के लिए इस नए GPU त्वरित प्रणाली का पूरी तरह से उपयोग करने का विवरण देता है।

नोट: यह लेख उन स्टूडियो के लिए लक्षित है जो नियमित रूप से अपने स्वयं के कस्टम OCIO कॉन्फ़िगरेशन के साथ काम करते हैं और उन शब्दों को संदर्भित कर सकते हैं जो घर उपयोगकर्ताओं के लिए अपरिचित हैं।

अधिक जानकारी

Mari 3.0 ने OCIO रंग प्रबंधन प्रणाली की शुरुआत की, जिसने शक्तिशाली और पाइपलाइन रंग प्रबंधन वर्कफ़्लोज़ की अनुमति दी। इसने सोर्स इमेजेस, इंडिविजुअल चैनल्स और GPU वर्किंग स्पेस पर कलरस्पेस प्रॉपर्टीज के जरिए ज्यादा कंट्रोल दिया। OCIO प्रणाली ने किसी भी रंग स्थान के लिए पूर्व प्रसंस्करण स्रोत छवियों या पोस्ट प्रोसेसिंग निर्यातित छवियों की श्रमसाध्य आवश्यकता को हटा दिया।

जीएलएएसएल शेड्स के साथ GPU पर मारी की सभी इमेज प्रोसेसिंग की जाती है। हालांकि, OCIO अपने प्रदान किए जाने वाले कलरस्पेस के प्रकारों में काफी सीमित है। उदाहरण के लिए, यह वर्तमान में सशर्त ब्रांचिंग का समर्थन नहीं करता है, और ज्यादातर मामलों में एक एलयूटी का उपयोग कलरस्पेस परिवर्तन करने के लिए किया जाता है।

जब GPU पर उपयोग किया जाता है, तो एक LUT परिवर्तन एक 3 डी बनावट के रूप में प्रदान किया जाता है जो दुर्भाग्य से प्रदर्शन और सटीकता दोनों मुद्दों से पीड़ित हो सकता है। इन 3 डी बनावट में कम नमूना गिनती होती है और इसलिए फ्लोटिंग पॉइंट परिशुद्धता खो जाती है यदि पेंट बफर को पेंट करने योग्य परतों में सेंकना करने के लिए उपयोग किया जाता है। अंतिम रंग डेटा में सटीकता सुनिश्चित करने के लिए, मारी कच्चे OCIO गणित का उपयोग करते हुए सीपीयू पर एक स्कैनलाइन रेंडर करके इसके चारों ओर काम करता है। इस अतिरिक्त ओवरहेड ने मारी के समग्र प्रदर्शन को कम कर दिया।

मारी 3.3 के साथ, nuke -default रंग प्रबंधन विन्यास गणित देशी GLSL शेडर कोड में परिवर्तित कर दिया गया था। सीपीयू से रंग परिवर्तन को जीपीयू में बदलकर मारी में नाटकीय रूप से पेंट बेकिंग प्रदर्शन में सुधार हुआ। कस्टम shader कोड रजिस्टर करने के लिए एक एपीआई फ़ंक्शन भी सीपीयू स्कैनलाइन विधि के साथ कस्टम shaders को प्रस्तुत करने की आवश्यकता को बदलने के लिए सामने आया था।

अपने कस्टम रंग कॉन्फ़िगरेशन के लिए इस नए GPU त्वरित रंग प्रबंधन प्रणाली का पूरी तरह से उपयोग करने के लिए, आपको प्रत्येक रंग स्थान से लेकर रंग स्थान पर रंग परिवर्तन ओवरराइड बनाने की आवश्यकता होगी। इसमें देशी रंग-स्थान से लेकर वर्किंग कलरस्पेस और बैक के साथ-साथ मैरी में उपयोग किए जाने वाले प्रत्येक कलरस्पेस के बीच रूपांतरण शामिल हैं।

आप क्या करना चाहते हैं?

मारी में किए गए रंगों के समायोजन को अच्छी तरह से समझने के लिए, यहाँ वो चरण हैं जो मारी ACRcg पर सेट किए गए चैनल में एक पेंटेबल लेयर में sRGB संदर्भ चित्र को पकाते समय लेती है, जब वर्किंग-स्पेस भी ACCCg पर सेट होता है:

  1. स्रोत छवि
    (उपयोगिता - sRGB - बनावट)
  2. सोर्स पेंट को वर्किंग कलरस्पेस में बदलें
    (उपयोगिता - sRGB - बनावट -> ACES - ACEScg)
  3. मौजूदा लक्ष्य पेंट को वर्किंग कलरस्पेस में बदलें
    (ACES - ACEScg -> ACES - ACEScg) (कोई बदलाव नहीं)
  4. उपकरण के माध्यम से इंटरैक्टिव पेंट प्रदर्शित करें और सेंकना ऑपरेशन करें
    (ACES - ACEScg)
  5. चैनल कलरस्पेस को लक्षित करने के लिए बेक्ड पेंट में कनवर्ट करें
    (ACES - ACEScg -> ACES - ACEScg) (कोई बदलाव नहीं)
  6. अंतिम चैनल डेटा
    (ACES - ACEScg)

नोट: यदि कार्यशील रंग स्थान को एक अतिरिक्त रंग स्थान पर कॉन्फ़िगर किया गया था, तो एक अतिरिक्त रंग स्थान परिवर्तन उन चरणों में होगा जहां ऊपर (कोई परिवर्तन नहीं) उल्लिखित है और इन्हें कवर करने की भी आवश्यकता होगी।

यह सुनिश्चित करने के लिए कि आपके कस्टम रंग विन्यास के लिए कलरस्पेस परिवर्तन ओवरराइड को सही ढंग से लागू किया गया है, आपको अपनी पाइपलाइन के भीतर निम्नलिखित तीन अलग-अलग भूमिकाओं पर विचार करना होगा:

  1. रंग वैज्ञानिक
    प्रत्येक रंगस्थान A से B और B से A रूपांतरण के लिए गणित का काम करना।
  2. छायाकार लेखक
    प्रत्येक रूपांतरण के लिए अनुकूलित GLSL शेडर कोड में रंग गणित को सांकेतिक शब्दों में बदलना।
  3. पाइपलाइन टीडी
    प्रत्येक परिवर्तन के लिए कलर्सस्पेस ट्रांसफ़ॉर्मेशन पंजीकरण कॉल का निर्माण करने और उन्हें निष्पादित करने के लिए जब एक कलाकार मारी लॉन्च करते हैं।

उदाहरण

इस लेख के साथ संलग्न और डाउनलोड करने के लिए तैयार, आप हमारे उदाहरण कोड पाएंगे कि मैरी 4.0v1 में ACES 1.0.3 कॉन्फ़िगरेशन के लिए इन परिवर्तनों को कैसे अनुकूलित किया गया था। इन पायथन फ़ाइलों की सामग्री को स्क्रिप्ट संपादक में निष्पादित किया जा सकता है, या फ़ाइल को मारी स्टार्टअप पर स्वचालित निष्पादन के लिए आपकी मारी लिपियों की निर्देशिका में रखा जा सकता है। आपका मारी लिपियों का फ़ोल्डर निम्नलिखित स्थान पर पाया जा सकता है:

लिनक्स और ओएस एक्स: ~/Mari/Scripts
Windows : C:\Users\<username>\Documents\Mari\Scripts

संलग्न आपको निम्नलिखित दो फाइलें मिलेंगी:

register_which_transforms.py

जब चलाया जाता है, तो यह फ़ाइल आपके वर्तमान प्रोजेक्ट के माध्यम से चलेगी और त्वरित किए जाने वाले सभी कलरस्पेस परिवर्तनों को परिभाषित करेगी। यह तब प्रोजेक्ट डेटा को प्रिंट करता है, और पायथन कंसोल में ओवरराइड्स को कलरस्पेस बदलने के लिए आवश्यक पायथन कमांड देता है। यह \ TODO विवरणों के साथ लेबल किया जाएगा।

register_aces_shader_transforms.py

यह स्क्रिप्ट ACES 1.0.3 कॉन्फ़िग फ़ाइल को ऑप्टिमाइज़ करने के लिए हमारे द्वारा लिए गए परिवर्तन पंजीकरणों की व्याख्या करती है। इस फ़ाइल में एक डीबग विकल्प भी शामिल है जो sRGB - ACEScg को दृश्यता के लिए हरे रंग में बदल देगा।

क्या यह लेख उपयोगी था?
/

We're sorry to hear that!

Please tell us why.
0 में से 0 के लिए उपयोगी रहा

टिप्पणियां