मैं OpenGL में एक सीमित (256) रंग पैलेट का अनुकरण कैसे कर सकता हूं?


16

ट्विटर पर, मुझे विकास में एक गेम का यह स्क्रीनशॉट मिला:

यहाँ छवि विवरण दर्ज करें

शीर्ष पर छवि बिना किसी रंग सीमा के लगती है। लेकिन नीचे की दो अन्य तस्वीरों में 256 कलर पैलेट है।

मैं अपने खेल में एक समान प्रभाव प्राप्त करना चाहता हूं (मैं ओपनजीएल का उपयोग कर रहा हूं)। ऐसा मैं किस प्रकार करूं?



क्या आप ५६० रंगीन ग्राफिक्स की तरह oldschool खींचना चाहते हैं या आप २४bit ग्राफिक्स को पुराने स्कूल ग्राफिक्स की तरह बनाना चाहते हैं? दूसरे शब्दों में क्या आप प्रक्रिया को पोस्ट करना चाहते हैं या वास्तव में 256 रंग पैलेट का उपयोग करना चाहते हैं? यहाँ
वेबलॉग में पैलेटेड

जवाबों:


32

मैं उस छवि का निर्माता हूं।

दाईं ओर की छवि को रंग-रूप बनावट का उपयोग करके प्रस्तुत किया गया है। अंतिम GLSL शेडर में, मैं ड्यूरेट लागू करता हूं, फिर RGB मानों को पूर्णांक में 0 <= x <40 में परिवर्तित करता हूं, उन्हें एक ही इंडेक्स में संयोजित करता हूं, फिर इस छवि में परिणामी रंग मान देखें:

रंग तालिका देखो

सबसे कम पंक्ति कच्ची पैलेट है।

बाईं ओर की छवि शुद्ध रूप से लाल और हरे रंग के चैनल को 8 मानों तक डाउनशैड करके, और ब्लू चैनल को 4 मानों को लागू करने के बाद नीचे की ओर बनाया जाता है, जिसके परिणामस्वरूप RGB332 होता है। मैंने 7 लाल, 9 हरे और 4 नीले रंगों के साथ भी खेला है, जिसके परिणामस्वरूप केवल 252 रंग हैं, लेकिन हरे रंग पर एक बड़ा जोर देने के साथ, जो मानव आंख के लिए सबसे अधिक संवेदनशील है।


6

आप एक पोस्टप्रोसेसिंग चरण में रंग ग्रेडिंग लुकअप टेबल का उपयोग कर सकते हैं जैसा कि यहां और शायद यहां बताया गया है

यहाँ छवि विवरण दर्ज करें

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

रंग सीमा के साथ लुकअप टेक्सचर को ध्यान में रखते हुए, सभी फ़िल्टरिंग को अक्षम करना सुनिश्चित करें, इसलिए यह अतिरिक्त रंगों का उत्पादन नहीं करेगा।

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