Rasterization (रास्टराइज़ेशन) त्रि-आयामी प्रिमिटिव (त्रिकोण, रेखाएँ, बिंदु) के वेक्टर विवरण को स्क्रीन पर प्रदर्शन के लिए पिक्सेल (फ़्रैगमेंट) के सेट में बदलने की प्रक्रिया है। Khronos Group, 2025 के अनुसार, रास्टराइज़ेशन ग्राफ़िक्स पाइपलाइन का एक स्वचालित (गैर-प्रोग्रामेबल) चरण है, जो Vertex Shader और Fragment Shader के बीच स्थित है। Rasterization यह निर्धारित करता है कि स्क्रीन के कौन से पिक्सेल किस त्रिकोण से संबंधित हैं, और प्रत्येक फ़्रैगमेंट के लिए इंटरपोलेटेड विशेषताओं की गणना करता है।
मुख्य बिंदु
Rasterization ग्राफ़िक्स पाइपलाइन का एक चरण है जो ज्यामितीय प्रिमिटिव (त्रिकोण, रेखाएँ) को Fragment Shader द्वारा आगे की प्रक्रिया के लिए फ़्रैगमेंट के सेट में बदलता है। इनपुट डेटा स्क्रीन निर्देशांक में त्रिकोण के शीर्ष और उनकी विशेषताएँ (रंग, नॉर्मल, UV) हैं। आउटपुट इंटरपोलेटेड विशेषताओं वाले फ़्रैगमेंट का सेट है।
प्रोग्रामेबल शेडर (Vertex Shader और Fragment Shader) के विपरीत, रास्टराइज़ेशन एक निश्चित (गैर-प्रोग्रामेबल) चरण है। डेवलपर रास्टराइज़ेशन एल्गोरिदम नहीं बदल सकता, लेकिन इसके पैरामीटर नियंत्रित कर सकता है: कलिंग मोड, लाइन चौड़ाई, पॉलीगॉन ऑफ़सेट और मल्टी-सैंपलिंग।
लगभग सभी आधुनिक रीयल-टाइम ग्राफ़िक्स — गेम, UI, AR/VR — रास्टराइज़ेशन का उपयोग करते हैं। यह सबसे अधिक प्रदर्शन करने वाली रेंडरिंग विधि है, जो 60 FPS पर प्रति फ्रेम लाखों त्रिकोण प्रसंस्करण में सक्षम है। GPU रास्टराइज़र विशेष ROP (रेंडर आउटपुट यूनिट) ब्लॉक के माध्यम से एक साथ हजारों त्रिकोणों के समानांतर प्रसंस्करण के लिए अनुकूलित हैं।
त्रिकोण रास्टराइज़ेशन Vertex Shader द्वारा शीर्षों को स्क्रीन निर्देशांक में बदलने के बाद शुरू होता है। GPU त्रिकोण के तीन शीर्ष लेता है और निर्धारित करता है कि स्क्रीन के कौन से पिक्सेल उस त्रिकोण के अंदर हैं।
प्रक्रिया में तीन क्रमिक चरण शामिल हैं: पिक्सेल में त्रिकोण का बाउंडिंग बॉक्स निर्धारित करना — बाउंडिंग बॉक्स के अंदर प्रत्येक पिक्सेल की त्रिकोण सदस्यता (एज फ़ंक्शन) के लिए जाँच — प्रत्येक कवर किए गए पिक्सेल के लिए इंटरपोलेटेड विशेषताओं (बेरीसेंट्रिक निर्देशांक) की गणना। एज फ़ंक्शन एक रैखिक समीकरण है जो निर्धारित करता है कि कोई बिंदु त्रिकोण के किनारे के किस तरफ स्थित है।
| चरण | विवरण | परिणाम |
|---|---|---|
| क्लिपिंग | व्यूपोर्ट सीमाओं के बाहर त्रिकोणों को काटना | दृश्यमान प्रिमिटिव |
| व्यूपोर्ट ट्रांसफ़ॉर्म | स्क्रीन निर्देशांक में रूपांतरण | पिक्सेल निर्देशांक |
| त्रिकोण सेटअप | एज फ़ंक्शन और बाउंडिंग बॉक्स की गणना | रास्टराइज़ेशन पैरामीटर |
| फ़्रैगमेंट जनरेशन | कवरेज परीक्षण और इंटरपोलेशन | फ़्रैगमेंट + विशेषताएँ |
Rasterization विभिन्न एल्गोरिदम द्वारा कार्यान्वित की जा सकती है, प्रत्येक के प्रदर्शन और गुणवत्ता के बीच अपने स्वयं के समझौते हैं। आधुनिक GPU कई दृष्टिकोणों के संयोजन का उपयोग करते हैं।
प्रारंभिक GPU के लिए विकसित क्लासिक रास्टराइज़ेशन एल्गोरिदम। त्रिकोण को पंक्ति दर पंक्ति (स्कैनलाइन) संसाधित किया जाता है: स्क्रीन की प्रत्येक पंक्ति के लिए त्रिकोण के प्रवेश और निकास बिंदु निर्धारित किए जाते हैं, और उनके बीच के सभी पिक्सेल भरे जाते हैं। स्कैनलाइन कन्वर्ज़न बड़े त्रिकोणों के लिए कुशल है लेकिन मनमाने आकार के त्रिकोणों के लिए जटिल तर्क की आवश्यकता होती है।
आधुनिक GPU हाफ-स्पेस रास्टराइज़ेशन विधि का उपयोग करते हैं: त्रिकोण के प्रत्येक पक्ष के लिए एक एज फ़ंक्शन की गणना की जाती है — एक रैखिक समीकरण जो एक तरफ सकारात्मक और दूसरी तरफ नकारात्मक होता है। एक पिक्सेल त्रिकोण से संबंधित होता है यदि सभी तीन एज फ़ंक्शन सकारात्मक हों। हाफ-स्पेस रास्टराइज़ेशन आसानी से समानांतरीकृत होता है और SIMD GPU आर्किटेक्चर के लिए उपयुक्त है।
मोबाइल GPU (Qualcomm Adreno, ARM Mali) टाइल-आधारित रेंडरिंग (TBR) का उपयोग करते हैं। स्क्रीन को छोटे टाइल (16x16 या 32x32 पिक्सेल) में विभाजित किया जाता है, और प्रत्येक टाइल के लिए अलग से रास्टराइज़ेशन किया जाता है। यह फ़्रेमबफ़र को तेज़ स्थानीय मेमोरी (टाइल मेमोरी) में संग्रहीत करके मेमोरी एक्सेस को कम करता है। TBR बिजली की खपत को कम करता है, जो मोबाइल उपकरणों के लिए महत्वपूर्ण है।
Rasterization और ray tracing 3D ग्राफ़िक्स रेंडरिंग के लिए दो मौलिक रूप से भिन्न दृष्टिकोण हैं। रास्टराइज़ेशन रीयल-टाइम अनुप्रयोगों में हावी है, जबकि ray tracing ऑफ़लाइन रेंडरिंग में उपयोग किया जाता है और धीरे-धीरे रीयल-टाइम में प्रवेश कर रहा है (RTX-संगत GPU पर)।
| पैरामीटर | Rasterization | Ray Tracing |
|---|---|---|
| सिद्धांत | त्रिकोण → फ़्रैगमेंट | किरण → दृश्य प्रतिच्छेदन |
| गति | बहुत तेज़ (लाखों त्रिकोण/फ्रेम) | धीमा (हज़ारों किरणें/फ्रेम) |
| गुणवत्ता | अतिरिक्त तकनीकों की आवश्यकता (छायाएँ, प्रतिबिंब) | भौतिक रूप से सही छायाएँ और प्रतिबिंब |
| मोबाइल GPU | मानक विधि | सीमित समर्थन (A17 Pro, Snapdragon Gen 3) |
| बिजली खपत | कम | उच्च |
रास्टराइज़ेशन aliasing की समस्या उत्पन्न करता है — त्रिकोण सीमाओं पर दांतेदार किनारे (jaggies)। ऐसा इसलिए होता है क्योंकि पिक्सेल असतत होता है और त्रिकोण द्वारा आंशिक रूप से कवर नहीं किया जा सकता। aliasing से निपटने के लिए मल्टी-सैंपलिंग (MSAA) का उपयोग किया जाता है।
MSAA (मल्टी-सैंपल एंटी-अलियासिंग) बढ़ी हुई सैंपलिंग दर (2x, 4x, 8x) पर रास्टराइज़ेशन करता है। प्रति पिक्सेल एक सैंपल के बजाय कई उप-सैंपल का उपयोग किया जाता है, प्रत्येक को त्रिकोण कवरेज के लिए परीक्षण किया जाता है। MSAA 4x प्रति पिक्सेल 4 उप-सैंपल संसाधित करता है, जो रेंडरिंग रिज़ॉल्यूशन को पूरी तरह से बढ़ाए बिना ध्यान देने योग्य किनारा चौरसाई प्रदान करता है।
MSAA के विपरीत, पोस्ट-प्रोसेस एंटी-अलियासिंग विधियाँ (FXAA, SMAA, TAA) अंतिम छवि का विश्लेषण करके रास्टराइज़ेशन के बाद काम करती हैं। FXAA (फ़ास्ट अप्रॉक्सिमेट एंटी-अलियासिंग) छवि किनारों का पता लगाता है और चौरसाई के लिए धुंधलापन लागू करता है, जो MSAA से काफी तेज़ काम करता है लेकिन कम गुणवत्ता के साथ।
Rasterization आधुनिक GPU पर विशेष हार्डवेयर ब्लॉक — ROP (रेंडर आउटपुट यूनिट) द्वारा किया जाता है। ROP की संख्या सीधे फ़िल रेट को प्रभावित करती है — पिक्सेल की संख्या जो GPU प्रति सेकंड संसाधित कर सकता है।
मोबाइल GPU (टाइल-आधारित रेंडरिंग) के लिए महत्वपूर्ण कारकों में शामिल हैं: अर्ली-Z रिजेक्शन के माध्यम से ओवरड्रा को कम करना, अदृश्य त्रिकोणों को हटाने के लिए बैक-फ़ेस कलिंग का उपयोग करना, और अन्य वस्तुओं द्वारा पूरी तरह से कवर किए गए त्रिकोणों को अस्वीकार करने के लिए ऑक्लूज़न कलिंग का उपयोग करना।
अक्सर पूछे जाने वाले प्रश्न
रास्टराइज़ेशन त्रिकोणों को स्क्रीन पर पिक्सेल में बदलने की प्रक्रिया है। GPU एक त्रि-आयामी त्रिकोण लेता है, यह निर्धारित करता है कि स्क्रीन के कौन से पिक्सेल वह कवर करता है, और उन्हें रंगने के लिए Fragment Shader को भेजता है।
रास्टराइज़ेशन त्रिकोणों को स्क्रीन पर प्रोजेक्ट करता है और पिक्सेल कवरेज निर्धारित करता है (बहुत तेज़)। Ray tracing कैमरे से किरणें भेजता है और ज्यामिति के साथ प्रतिच्छेदन की जाँच करता है (भौतिक रूप से अधिक सटीक लेकिन काफी धीमा)।
रास्टराइज़ेशन के दौरान, एक पिक्सेल या तो पूरी तरह से त्रिकोण से संबंधित होता है या नहीं — इसलिए दांतेदार किनारे (aliasing) उत्पन्न होते हैं। MSAA प्रति पिक्सेल कई उप-सैंपल का उपयोग करके किनारों को चिकना करता है, जबकि FXAA अंतिम छवि पर एक फ़िल्टर लागू करता है।
नहीं, रास्टराइज़ेशन ग्राफ़िक्स पाइपलाइन का एक निश्चित चरण है। डेवलपर एल्गोरिदम नहीं बदल सकता, लेकिन सेटिंग्स को नियंत्रित कर सकता है: कलिंग, पॉलीगॉन ऑफ़सेट, रास्टराइज़ेशन मोड (बिंदु, रेखाएँ, त्रिकोण), और MSAA पैरामीटर।
टाइल-आधारित रेंडरिंग (TBR) स्क्रीन को टाइल में विभाजित करता है और उन्हें वैश्विक VRAM के बजाय तेज़ स्थानीय मेमोरी में संसाधित करता है। यह बिजली की खपत और बैंडविड्थ को मौलिक रूप से कम करता है, जो बैटरी से चलने वाले मोबाइल उपकरणों के लिए महत्वपूर्ण है।
सारांश
हम एक मोबाइल एप्लिकेशन टर्नकी विकसित करेंगे
IT Sectr 2017 से स्टार्टअप और व्यवसायों के लिए iOS और Android एप्लिकेशन बनाता है। हम आपको सलाह देंगे और सर्वोत्तम समाधान प्रस्तावित करेंगे।
यह भी पढ़ें