बिट ब्लिट: Difference between revisions
No edit summary |
No edit summary |
||
| Line 11: | Line 11: | ||
== अप्रत्यक्ष तिल कार्यान्वयन का उदाहरण == | == अप्रत्यक्ष तिल कार्यान्वयन का उदाहरण == | ||
टिल तिल के लिए उत्कृष्ट उपयोग करके पृष्ठभूमि पर (कंप्यूटर ग्राफिक्स) पारदर्शी | टिल तिल के लिए उत्कृष्ट उपयोग करके पृष्ठभूमि पर (कंप्यूटर ग्राफिक्स) पारदर्शी स्प्राइट [[स्प्राइट (कंप्यूटर ग्राफिक्स)|(कंप्यूटर ग्राफिक्स)]] को प्रस्तुत करती है। इस उदाहरण में पृष्ठभूमि प्रतिबिम्ब, स्प्राइट और 1-बिट आवरण का उपयोग किया जाता है। चूंकि आवरण 1-बिट है, इसलिए अल्फा साहित्यिक रचना अल्फा सम्मिश्रण के माध्यम से आंशिक पारदर्शिता की कोई संभावना नहीं होती है। | ||
लूप जो आवरण में प्रत्येक बिट की जांच करता है और आवरण चयन होने पर ही [[पिक्सेल]] को | लूप जो आवरण में प्रत्येक बिट की जांच करता है और आवरण चयन होने पर ही [[पिक्सेल]] को स्प्राइट से प्रतिलिपि करता है, जो सामान्यता हार्डवेयर की तुलना में बहुत धीमा होगा जो प्रत्येक पिक्सेल पर यथार्थ उसी प्रचालन को प्रयुक्त कर सकता है। इसके अतिरिक्त अप्रत्यक्ष टिल को AND और OR रेखापुंज संचालन का उपयोग करके दो नियमित BITBIT संचालन के साथ प्रयुक्त किया जा सकता है। | ||
{| class="wikitable" | {| class="wikitable" | ||
| Line 23: | Line 23: | ||
|align="center"| [[Image:XBlit_dot.png]] | |align="center"| [[Image:XBlit_dot.png]] | ||
|} | |} | ||
इसे उत्पन्न करने के लिए प्रतिबिम्ब पर | इसे उत्पन्न करने के लिए प्रतिबिम्ब पर स्प्राइट को विभिन्न स्थितियों में खींचा जाता है। | ||
{| class="wikitable" | {| class="wikitable" | ||
| Line 34: | Line 34: | ||
=== तकनीक === | === तकनीक === | ||
स्प्राइट तैयार करते समय रंगों का अत्यधिक महत्व होता है। जंहा आवरण पिक्सेल 0 (काला) होता हैं जहाँ यह संबंधित स्प्राइट पिक्सेल को प्रदर्शित किया जाता है और 1 (सफ़ेद) जहाँ यह पृष्ठभूमि को संरक्षित करने की आवश्यकता होती है। स्प्राइट 0 (काला) कहीं भी होना चाहिए जहां इसे पारदर्शी माना जाता है, किन्तु ध्यान दें कि गैर-पारदर्शी क्षेत्रों में काले रंग का उपयोग किया जा सकता है। | |||
प्रथम टिल में, रेखापुंज अनुरूप बिटवाइज़ प्रचालन AND का उपयोग करके आवरण को पृष्ठभूमि पर टिल किया जाता है। क्योंकि 0 के साथ कोई भी मान AND 0 के समान्तर होता है और 1 के साथ कोई भी मान अपरिवर्तित है, काले क्षेत्र बनाए जाते हैं जहां वास्तविक स्प्राइट दिखाई देंगे, जबकि शेष पृष्ठभूमि को एकाकी छोड़ देंगे। | |||
{| class="wikitable" | {| class="wikitable" | ||
| Line 44: | Line 44: | ||
|align="center"| [[Image:XBlit_and.png|none]] | |align="center"| [[Image:XBlit_and.png|none]] | ||
|} | |} | ||
दूसरे | दूसरे टिल में, स्प्राइट को बिटवाइज़ प्रचालन OR के रेखापुंज ऑपरेटर का उपयोग करके नए परिवर्तित पृष्ठभूमि पर टिल किया जाता है। क्योंकि 0 के साथ कोई भी मान अपरिवर्तित है, पृष्ठभूमि अप्रभावित और काले क्षेत्र वास्तविक स्प्राइट प्रतिबिम्ब से भरे हुए हैं। | ||
{| class="wikitable" | {| class="wikitable" | ||
| Line 52: | Line 52: | ||
|align="center"| [[Image:XBlit_final.png|none]] | |align="center"| [[Image:XBlit_final.png|none]] | ||
|} | |} | ||
सफेद पृष्ठभूमि और सफेद-पर-काले आवरण के साथ | सफेद पृष्ठभूमि और सफेद-पर-काले आवरण के साथ स्प्राइट का उपयोग करके समान प्रभाव प्राप्त करना भी संभव है। इस स्थिति में आवरण प्रथम अयस्क होगा और स्प्राइट समाप्त होगा। | ||
== | == टिलिंग बनाम हार्डवेयर स्प्राइट == | ||
{{See also| | {{See also|स्प्राइट (कंप्यूटर ग्राफिक्स)}} | ||
टिलिंग हार्डवेयर-स्प्राइट (कंप्यूटर ग्राफिक्स) चित्रकारी के समान है, जिसमें दोनों प्रणाली के चित्रपट पर भिन्न-भिन्न स्थानों पर स्वरूप, सामान्यतः वर्ग क्षेत्र को पुन: प्रस्तुत करते हैं।<ref>{{cite web |title=Framebuffer - OpenGL Wiki |url=https://www.khronos.org/opengl/wiki/Framebuffer#Blitting |website=www.khronos.org |accessdate=23 June 2020 |quote=A blit operation is a special form of copy operation; it copies a rectangular area of pixels from one framebuffer to another. This function also has some very specific properties with regard to multisampling.}}</ref> हार्डवेयर स्प्राइट को भिन्न स्मृति में संग्रहीत होने का लाभ मिलता है और इसलिए मुख्य दृश्य स्मृति को परेशान नहीं करता है। इससे उन्हें बिना किसी प्रभाव के, पृष्ठभूमि को आवरण करते हुए प्रदर्शन के चारों ओर ले जाने की अनुमति मिलती है। | |||
चूँकि | टिलिंग चित्रपट के बारे में उसी प्रकार के स्वरुप को स्थानांतरित करता है, किन्तु अतिरिक्त दृश्य के समान स्मृति में लिखकर ऐसा करता है। इसका तात्पर्य यह है कि हर बार जब चित्रपट पर अग्रभूमि स्वरुप रखा जाता है, तब नीचे कोई भी पृष्ठभूमि पिक्सेल अधिलेखित या क्षतिग्रस्त हो जाता है। यह सॉफ्टवेयर पर निर्भर है कि वह दो बार टिलिंग करके इस क्षति का पुनर्निर्माण किया जाता है, अतः परिवर्तिते किए गए पिक्सेल को पुनर्स्थापित करने के लिए और फिर अग्रभूमि स्वरुप को अपने नए स्थान पर रखने के लिए इसे करने का विधियह है कि वीआरएएम ऑफचित्रपट में आवश्यक स्वरुप को स्टोर किया जाए और प्रभावित दृश्य खंड को अस्थायी रूप से स्टोर करने के लिए स्टैक के रूप में दूसरे क्षेत्र को गुप्त चित्रपट आरक्षित किया जाता है। यह मानते हुए कि ग्राफिक्स चिप में वीआरएएम समर्पित है, जिस कारण यह प्रणाली रैम पर तनाव को कम करने के लिए उपयोगी होता है, किन्तु पुराने पीसी प्रणाली पर बैंडविड्थ सीमित आईएसए विस्तार खांचा भी है। | ||
चूँकि इसे अनुकूलित करने की अनेक विधि हैं। यदि चित्रपट के बड़े क्षेत्रों को स्वरुप द्वारा ले लिया जाता है, तब प्रत्येक स्वरुप को व्यक्तिगत रूप से नष्ट करने के लिए अतिरिक्त पृष्ठभूमि को चित्रपट पर टिल करना अधिक कुशल हो सकता है। भिन्नता में चित्रपट को खंडों में विभाजित करना और केवल उन खंडों को नष्ट करना सम्मलित है, जिन पर स्वरुप बनाए गए हैं। इस तकनीक को अस्पष्ट आयत के रूप में जाना जाता है। | |||
== यह भी देखें == | == यह भी देखें == | ||
* अल्फा रचना | * अल्फा रचना | ||
* [[मास्क (कंप्यूटिंग)|आवरण (कंप्यूटिंग)]], यहां स्टैंसिल के रूप में उपयोग किया जाता है | * [[मास्क (कंप्यूटिंग)|आवरण (कंप्यूटिंग)]], यहां स्टैंसिल (निकृंत) के रूप में उपयोग किया जाता है | ||
* | * टिलर | ||
== संदर्भ == | == संदर्भ == | ||
Revision as of 23:01, 20 February 2023
टिल तिल (जिसे BITBLT, BIT BLT, BITBLT, Bit BLT, Bit BIT आदि के रूप में भी लिखा जाता है, जो टिल खण्ड स्थानातरण के लिए संयोगित किया जाता है) आँकड़ा प्रचालन है जो सामान्यतः कंप्यूटर चित्रलेख में उपयोग किया जाता है जिसमें अनेक बिटमैप का उपयोग करके निश्चित टेबल बाइनरी प्रचालन में जोड़ा जाता है।.[1]
प्रचालन में कम से कम दो बिटमैप सम्मलित होते हैं, स्रोत (या अग्रभूमि) और गंतव्य (या पृष्ठभूमि) और संभवतः तीसरा जिसे मुक्त स्टैंसिल कहा जाता है। इसके परिणाम स्वरुप इसे चौथे बिटमैप पर लिखा जा सकता है, चूंकि अधिकांशतः यह गंतव्य को परिवर्तित कर देता है। जिसके माध्यम से निर्दिष्ट रेखापुंज प्रचालन (आरओपी) के अनुसार प्रत्येक पिक्सल को बिटवाइज़ संयोजित किया जाता है और फिर परिणाम को गंतव्य पर लिखा जाता है। निर्दिष्ट रेखापुंज प्रचालन (आरओपी) अनिवार्य रूप से बूलियन तर्क का सूत्र है। सबसे स्पष्ट निर्दिष्ट रेखापुंज प्रचालन (आरओपी) स्रोत के साथ गंतव्य को अधिलेखित कर देता है। अन्य निर्दिष्ट रेखापुंज प्रचालन (आरओपी) में तार्किक संयोजन, एक्सओआर, और नकारात्मक संचालन सम्मलित हो जाता हैं।[1] कमोडोर अमिगा के ग्राफिक्स विस्तार और अन्य तीन इनपुट के साथ 256 संभावित बूलियन कार्यों में से किसी का उपयोग करके तीन स्रोत बिटमैप्स को जोड़ सकते हैं।
आधुनिक ग्राफ़िक्स सॉफ़्टवेयर ने लगभग पूर्ण प्रकार से बिटवाइज़ प्रचालन को अल्फा रचना जैसे प्रभावों के लिए उपयोग किए जाने वाले अधिक सामान्य गणितीय प्रचालन के साथ परिवर्तित किया जाता है। सामान्यतः ऐसा इसलिए है क्योंकि रंग दृश्य पर बिटवाइज़ प्रचालन सामान्यतः ऐसे परिणाम नहीं देते हैं जो प्रकाशीय या स्याही के भौतिक संयोजन के समान होते हैं। चूँकि कुछ सॉफ़्टवेयर अभी भी परस्पर संवादात्मक हाइलाइट आयतों या क्षेत्र की सीमाओं को आकर्षित करने के लिए एक्सओआर का उपयोग करते हैं, जब यह प्रतिबिम्बों को रंगने के लिए किया जाता है, इस प्रकार असामान्य परिणामी रंग सरलता से देखे जा सकते हैं।
उत्पत्ति
बिट-सीमा ब्लॉक स्थानांतरण के लिए खड़े ज़ेरॉक्स ऑल्टो कंप्यूटर के लिए नाम BITBLT प्रतिक्रिया से निकला है। डैन इंगल्स, लैरी टेस्लर, बॉब स्प्राउल और डायना मीरा ने स्मॉलटाक -72 प्रणाली के लिए नवंबर,1975 में ज़ेरॉक्स PARC में इस प्रचालन को प्रोग्राम किया। डैन इंगल्स ने पश्चात् सूक्ष्म कूट में नया डिज़ाइन किया गया संस्करण प्रयुक्त किया।
विभिन्न टिल तिल प्रचालन के लिए तेज़ विधि के विकास में मानक ग्राफिक्स (पाठ विधा) का उपयोग करने से लेकर हर चीज के लिए रेखापुंज ग्राफिक्स (बिटमैप) का उपयोग करने के लिए कंप्यूटर दृश्य के विकास को प्रोत्साहन दिया। जिससे मशीनें जो 2डी कंप्यूटर ग्राफिक्स (जैसे विडियो गेम कंसोल) के प्रदर्शन पर बहुत अधिक निर्भर करती हैं, अधिकांशतः विशेष-उद्देश्य परिपथीय होती हैं।
अप्रत्यक्ष तिल कार्यान्वयन का उदाहरण
टिल तिल के लिए उत्कृष्ट उपयोग करके पृष्ठभूमि पर (कंप्यूटर ग्राफिक्स) पारदर्शी स्प्राइट (कंप्यूटर ग्राफिक्स) को प्रस्तुत करती है। इस उदाहरण में पृष्ठभूमि प्रतिबिम्ब, स्प्राइट और 1-बिट आवरण का उपयोग किया जाता है। चूंकि आवरण 1-बिट है, इसलिए अल्फा साहित्यिक रचना अल्फा सम्मिश्रण के माध्यम से आंशिक पारदर्शिता की कोई संभावना नहीं होती है।
लूप जो आवरण में प्रत्येक बिट की जांच करता है और आवरण चयन होने पर ही पिक्सेल को स्प्राइट से प्रतिलिपि करता है, जो सामान्यता हार्डवेयर की तुलना में बहुत धीमा होगा जो प्रत्येक पिक्सेल पर यथार्थ उसी प्रचालन को प्रयुक्त कर सकता है। इसके अतिरिक्त अप्रत्यक्ष टिल को AND और OR रेखापुंज संचालन का उपयोग करके दो नियमित BITBIT संचालन के साथ प्रयुक्त किया जा सकता है।
| Background image | Sprite (left) and mask (right) |
|---|---|
| File:Blit back.png |
इसे उत्पन्न करने के लिए प्रतिबिम्ब पर स्प्राइट को विभिन्न स्थितियों में खींचा जाता है।
| Intended Result |
|---|
तकनीक
स्प्राइट तैयार करते समय रंगों का अत्यधिक महत्व होता है। जंहा आवरण पिक्सेल 0 (काला) होता हैं जहाँ यह संबंधित स्प्राइट पिक्सेल को प्रदर्शित किया जाता है और 1 (सफ़ेद) जहाँ यह पृष्ठभूमि को संरक्षित करने की आवश्यकता होती है। स्प्राइट 0 (काला) कहीं भी होना चाहिए जहां इसे पारदर्शी माना जाता है, किन्तु ध्यान दें कि गैर-पारदर्शी क्षेत्रों में काले रंग का उपयोग किया जा सकता है।
प्रथम टिल में, रेखापुंज अनुरूप बिटवाइज़ प्रचालन AND का उपयोग करके आवरण को पृष्ठभूमि पर टिल किया जाता है। क्योंकि 0 के साथ कोई भी मान AND 0 के समान्तर होता है और 1 के साथ कोई भी मान अपरिवर्तित है, काले क्षेत्र बनाए जाते हैं जहां वास्तविक स्प्राइट दिखाई देंगे, जबकि शेष पृष्ठभूमि को एकाकी छोड़ देंगे।
| Result of the first blit |
|---|
दूसरे टिल में, स्प्राइट को बिटवाइज़ प्रचालन OR के रेखापुंज ऑपरेटर का उपयोग करके नए परिवर्तित पृष्ठभूमि पर टिल किया जाता है। क्योंकि 0 के साथ कोई भी मान अपरिवर्तित है, पृष्ठभूमि अप्रभावित और काले क्षेत्र वास्तविक स्प्राइट प्रतिबिम्ब से भरे हुए हैं।
| Final result |
|---|
सफेद पृष्ठभूमि और सफेद-पर-काले आवरण के साथ स्प्राइट का उपयोग करके समान प्रभाव प्राप्त करना भी संभव है। इस स्थिति में आवरण प्रथम अयस्क होगा और स्प्राइट समाप्त होगा।
टिलिंग बनाम हार्डवेयर स्प्राइट
टिलिंग हार्डवेयर-स्प्राइट (कंप्यूटर ग्राफिक्स) चित्रकारी के समान है, जिसमें दोनों प्रणाली के चित्रपट पर भिन्न-भिन्न स्थानों पर स्वरूप, सामान्यतः वर्ग क्षेत्र को पुन: प्रस्तुत करते हैं।[2] हार्डवेयर स्प्राइट को भिन्न स्मृति में संग्रहीत होने का लाभ मिलता है और इसलिए मुख्य दृश्य स्मृति को परेशान नहीं करता है। इससे उन्हें बिना किसी प्रभाव के, पृष्ठभूमि को आवरण करते हुए प्रदर्शन के चारों ओर ले जाने की अनुमति मिलती है।
टिलिंग चित्रपट के बारे में उसी प्रकार के स्वरुप को स्थानांतरित करता है, किन्तु अतिरिक्त दृश्य के समान स्मृति में लिखकर ऐसा करता है। इसका तात्पर्य यह है कि हर बार जब चित्रपट पर अग्रभूमि स्वरुप रखा जाता है, तब नीचे कोई भी पृष्ठभूमि पिक्सेल अधिलेखित या क्षतिग्रस्त हो जाता है। यह सॉफ्टवेयर पर निर्भर है कि वह दो बार टिलिंग करके इस क्षति का पुनर्निर्माण किया जाता है, अतः परिवर्तिते किए गए पिक्सेल को पुनर्स्थापित करने के लिए और फिर अग्रभूमि स्वरुप को अपने नए स्थान पर रखने के लिए इसे करने का विधियह है कि वीआरएएम ऑफचित्रपट में आवश्यक स्वरुप को स्टोर किया जाए और प्रभावित दृश्य खंड को अस्थायी रूप से स्टोर करने के लिए स्टैक के रूप में दूसरे क्षेत्र को गुप्त चित्रपट आरक्षित किया जाता है। यह मानते हुए कि ग्राफिक्स चिप में वीआरएएम समर्पित है, जिस कारण यह प्रणाली रैम पर तनाव को कम करने के लिए उपयोगी होता है, किन्तु पुराने पीसी प्रणाली पर बैंडविड्थ सीमित आईएसए विस्तार खांचा भी है।
चूँकि इसे अनुकूलित करने की अनेक विधि हैं। यदि चित्रपट के बड़े क्षेत्रों को स्वरुप द्वारा ले लिया जाता है, तब प्रत्येक स्वरुप को व्यक्तिगत रूप से नष्ट करने के लिए अतिरिक्त पृष्ठभूमि को चित्रपट पर टिल करना अधिक कुशल हो सकता है। भिन्नता में चित्रपट को खंडों में विभाजित करना और केवल उन खंडों को नष्ट करना सम्मलित है, जिन पर स्वरुप बनाए गए हैं। इस तकनीक को अस्पष्ट आयत के रूप में जाना जाता है।
यह भी देखें
- अल्फा रचना
- आवरण (कंप्यूटिंग), यहां स्टैंसिल (निकृंत) के रूप में उपयोग किया जाता है
- टिलर
संदर्भ
- ↑ 1.0 1.1 Sanchez, Julio; Maria P. Canton (2007). "Displaying Bit-Mapped images". Software solutions for engineers and scientists. CRC Press. p. 690.
- ↑ "Framebuffer - OpenGL Wiki". www.khronos.org. Retrieved 23 June 2020.
A blit operation is a special form of copy operation; it copies a rectangular area of pixels from one framebuffer to another. This function also has some very specific properties with regard to multisampling.
