सबपिक्सल रे ट्रेसर के लिए रेंडरिंग


16

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

एक किरण अनुरेखक के लिए एक स्पष्ट रूप से अनुरूप तरीका है। आप प्रत्येक सबचनेल पर अलग से फ़िल्टरिंग पुनर्निर्माण करते हैं।

मुझे आश्चर्य हुआ कि हालाँकि, मैं वास्तव में ऐसा करने वाले किरण प्रशिक्षकों के संदर्भ नहीं पा सका। खासकर यदि आप पहले से ही वर्णक्रमीय प्रतिपादन कर रहे हैं, तो यह एक स्पष्ट बात है। नहीं है इस पत्र एक पत्रिका मैंने कभी नहीं सुना है संबंधित प्रतीत होती है, जिनमें से से। लेकिन कुल मिलाकर, सबपिक्सल रेंडरिंग बस एक आम बात नहीं लगती है। मेरा सवाल: क्यों नहीं ?


क्या आपकी उप-प्रस्तुत की गई छवियां अभी भी ठीक दिखेंगी यदि एक चित्र अभिविन्यास में स्क्रीन पर देखी जाए?
jamesdlin

एक इंजीनियर के रूप में मैं इस तरह के ... टूटे हुए विचार को लागू करने के लिए कभी सहमत नहीं होता। अगर मुझे यकीन है कि प्रदर्शन पूरी तरह से तय है, तो अपवाद। iPhone 5S के लिए एक appli की तरह। इस तकनीक का उपयोग उल्टे पैटर्न, या विभिन्न व्यवस्थाओं का उपयोग करके स्क्रीन से टूटी हुई छवियां उत्पन्न करता है।
v.oddou

जवाबों:


14

यह पूरी तरह से संभव है

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

उदाहरण के लिए, penTile RGBG में लाल और नीले रंग के दुगने हरे दुपट्टे होते हैं, जैसा कि विकिपीडिया के शो से इस छवि में है:

RGBG पिक्सेल ज्यामिति की छवि बंद करें

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

माँग पर फ़ॉन्ट्स दिए जाते हैं

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

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

दीर्घकालिक लाभ होने की संभावना नहीं है

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


3
शैतान के अधिवक्ता की भूमिका निभाते हुए, यदि संभव हो तो रंग सबपिक्सल रेंडरिंग (मैं एक संदेहवादी!) कर रहा हूं, ऐसा लगता है कि यह वीआर स्थितियों में उपयोगी हो सकता है, जहां वे पर्याप्त समाधान के लिए संघर्ष करते हैं। शायद (गैर रेटिना?) फोन या टेबल पर भी?
एलन वोल्फ

1
@AlanWolfe हाँ, लेकिन यह भी 3 बार के रूप में प्रस्तुत करना महंगा
joojaa

हाँ, निश्चित रूप से, यह सच है। ऐसी कुछ स्थितियां हैं, हालांकि यह एक समस्या नहीं है। उदाहरण के लिए, मुझे एक युगल एल्गोरिदम के बारे में पता है, जहाँ आपको हर फ्रेम हर पिक्सेल के लिए किरणों को शूट करने की आवश्यकता नहीं है। ऐसा लगता है कि यह भी rasterized ग्राफिक्स btw में खेल सकते हैं। फिर, मैं आश्वस्त नहीं हूँ रंग उप-प्रस्तुतिकरण एक वास्तविक बात है, लेकिन फिर भी पता है, अगर! : पी
एलन वोल्फ

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

3
@joojaa कोई कारण नहीं है कि यह 3x के रूप में प्रस्तुत करना महंगा होगा। आपको 3x की किरणों की संख्या को शूट करने की आवश्यकता नहीं होगी; फ़्रेमबफ़र में किरणों को जमा करते समय आप सिर्फ 3 अलग-अलग वज़न लगाते हैं। प्रभावी रूप से, आप प्रत्येक रंग चैनल के लिए एक अलग एंटीअलियासिंग कर्नेल का उपयोग कर रहे हैं।
नाथन रीड 23

9

ज़रूर, आप मनमानी छवियों के लिए उप-प्रस्तुतिकरण का उपयोग कर सकते हैं। हालाँकि, सबपिक्सल रेंडरिंग वास्तव में एक सामान्य 2D इमेज प्रोसेसिंग तकनीक है - इसका विशेष रूप से रे ट्रेसिंग से कोई लेना-देना नहीं है। आप बस किसी अन्य 3D रेंडरिंग विधि के साथ या साधारण 2D ड्राइंग, फोटोग्राफ या वीडियो के साथ भी इसका उपयोग कर सकते हैं।

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


भ्रम का एक संभावित स्रोत यह हो सकता है कि, वर्तमान कंप्यूटर सिस्टम पर, सबपिक्सल प्रतिपादन आमतौर पर केवल पाठ के लिए उपयोग किया जाता है, और आमतौर पर फ़ॉन्ट रेंडरिंग कोड में एकीकृत होता है। इसके मुख्य कारण यकीनन ऐतिहासिक हैं, लेकिन यह भी है जहाँ आमतौर पर सबसे बड़ा भुगतान (दृश्य सुधार और पठनीयता के मामले में) होता है।

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

उस ने कहा, मैं पूरी तरह से उम्मीद करता हूं कि आखिरकार, प्रौद्योगिकी के परिपक्व होने के बाद, हम एक ऐसी प्रणाली की ओर बढ़ेंगे, जहां सबपिक्सल रेंडरिंग को केवल GPU द्वारा पारदर्शी रूप से किया जाता है, या संभवतः स्क्रीन द्वारा ही।

(यह उन अनुप्रयोगों की आवश्यकता होगी जो भौतिक पिक्सल से निपटने के लिए इस सुविधा का पूरा उपयोग करना चाहते हैं जो छोटे हैं, और जरूरी नहीं कि "तार्किक पिक्सल" के समान आकार हो। लेकिन फिर, हम पहले से ही उस में आगे बढ़ रहे हैं। उच्च-डीपीआई स्क्रीन के साथ दिशा।)


Tervetuloa! हां, आपकी बात वैध है, आईडी कहती है कि सिस्टम या हार्डवेयर को यह करना होगा क्योंकि भविष्य के रीयलिस्टिक में केवल सिस्टम स्क्रीन के उन्मुखीकरण और स्क्रीन पर रंगों के संगठन के बारे में पता कर सकता है। अधिमानतः स्क्रीन ही ऐसा करेगी।
पूजा
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.