बिट ब्लिट: Difference between revisions

From Vigyanwiki
(Created page with "{{one source|date=December 2017}} बिट ब्लिट (जिसे BITBLT, BIT BLT, BitBLT, Bit BLT, Bit Blt आदि भी लिखा जाता है, जो '...")
 
No edit summary
 
(12 intermediate revisions by 4 users not shown)
Line 1: Line 1:
{{one source|date=December 2017}}
बिट ब्लिट (जिसे BITBLT, BIT BLT, BITBLT, Bit BLT, BIT BIT आदि के रूप में भी लिखा जाता है, जो टिल खण्ड स्थानातरण के लिए संयोजित किया जाता है) आँकड़ा प्रचालन है जो सामान्यतः [[कंप्यूटर चित्रलेख]] में उपयोग किया जाता है। जिसमें अनेक [[बिटमैप]] का उपयोग करके निश्चित टेबल बाइनरी प्रचालन को जोड़ा जाता है।<ref name="Sanchez"/>
बिट ब्लिट (जिसे BITBLT, BIT BLT, BitBLT, Bit BLT, Bit Blt आदि भी लिखा जाता है, जो ''बिट ब्लॉक ट्रांसफर'' के लिए है) एक डेटा ऑपरेशन है जो आमतौर पर [[कंप्यूटर चित्रलेख]] में उपयोग किया जाता है जिसमें कई [[बिटमैप]]्स को एक का उपयोग करके एक में जोड़ा जाता है। ''Truth_table#Binary_operations''.<ref name="Sanchez"/>


ऑपरेशन में कम से कम दो बिटमैप शामिल होते हैं: एक स्रोत (या अग्रभूमि) और एक गंतव्य (या पृष्ठभूमि), और संभवतः एक तीसरा जिसे [[मुक्त]] [[स्टैंसिल]] कहा जाता है। परिणाम चौथे बिटमैप पर लिखा जा सकता है, हालांकि अक्सर यह गंतव्य को बदल देता है। निर्दिष्ट रास्टर ऑपरेशन (आरओपी) के अनुसार प्रत्येक के पिक्सल को बिटवाइज़ संयोजित किया जाता है और फिर परिणाम को गंतव्य पर लिखा जाता है। आरओपी अनिवार्य रूप से एक [[बूलियन तर्क]] फॉर्मूला है। सबसे स्पष्ट आरओपी स्रोत के साथ गंतव्य को अधिलेखित कर देता है। अन्य आरओपी में लॉजिकल संयोजन, [[तार्किक संयोजन]], एक्सओआर, और [[नकार]]ात्मक संचालन शामिल हो सकते हैं।<ref name="Sanchez">{{cite book|last=Sanchez|first=Julio |author2=Maria P. Canton|title=Software solutions for engineers and scientists |publisher=CRC Press|date=2007|pages=690|chapter=Displaying Bit-Mapped images|chapter-url=https://books.google.com/books?id=jtKc0k5BWA8C&pg=PA690}}</ref> कमोडोर [[अमिगा]] के ग्राफिक्स चिपसेट (और अन्य) तीन इनपुट के साथ 256 संभावित बूलियन कार्यों में से किसी का उपयोग करके तीन स्रोत बिटमैप्स को जोड़ सकते हैं।
प्रचालन में कम से कम दो बिटमैप सम्मिलित होते हैं, स्रोत (अग्रभूमि) और गंतव्य (पृष्ठभूमि) और इसके अतिरिक्त संभवतः तीसरा जिसे [[मुक्त]] [[स्टैंसिल|स्टैंसिल(निकृंत]]) कहा जाता है। जिसे चौथे बिटमैप पर लिखा जा सकता है, चूंकि अधिकांशतः यह गंतव्य को परिवर्तित कर देता है। जिसके माध्यम से निर्दिष्ट रेखापुंज प्रचालन (आरओपी) के अनुसार प्रत्येक पिक्सल को बिटवाइज़ संयोजित कर देती है इस प्रकार परिणाम को गंतव्य पर लिखा जाता है। निर्दिष्ट रेखापुंज प्रचालन (आरओपी) अनिवार्य रूप से [[बूलियन तर्क]] का सूत्र है। जो सबसे स्पष्ट निर्दिष्ट रेखापुंज प्रचालन (आरओपी) स्रोत के साथ गंतव्य को अधिलेखित कर देता है। जिसके माध्यम से अन्य निर्दिष्ट रेखापुंज प्रचालन (आरओपी) में [[तार्किक संयोजन]], एक्सओआर, और [[नकार|नकारात्मक]] संचालन सम्मिलित हो जाता हैं।<ref name="Sanchez">{{cite book|last=Sanchez|first=Julio |author2=Maria P. Canton|title=Software solutions for engineers and scientists |publisher=CRC Press|date=2007|pages=690|chapter=Displaying Bit-Mapped images|chapter-url=https://books.google.com/books?id=jtKc0k5BWA8C&pg=PA690}}</ref> कमोडोर [[अमिगा]] के ग्राफिक्स विस्तार और अन्य तीन इनपुट के साथ 256 संभावित बूलियन कार्यों में से किसी का उपयोग करके तीन स्रोत बिटमैप्स को जोड़ सकते हैं।


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


== उत्पत्ति ==
== उत्पत्ति ==
बिट-बाउंड्री ब्लॉक ट्रांसफर के लिए खड़े [[ज़ेरॉक्स ऑल्टो]] [[कंप्यूटर]] के लिए नाम BitBLT रूटीन से निकला है। [[डैन इंगल्स]], [[लैरी टेस्लर]], [[बॉब स्प्राउल]] और [[डायना मीरा]] ने स्मॉलटाक -72 सिस्टम के लिए नवंबर 1975 में [[ज़ेरॉक्स PARC]] में इस ऑपरेशन को प्रोग्राम किया। डैन इंगल्स ने बाद में [[माइक्रोकोड]] में एक नया डिज़ाइन किया गया संस्करण लागू किया।
बिट-सीमा ब्लॉक स्थानांतरण के लिए खड़े [[ज़ेरॉक्स ऑल्टो]] [[कंप्यूटर]] के लिए नाम BITBLT प्रतिक्रिया से मुक्त होता है। [[डैन इंगल्स]], [[लैरी टेस्लर]], [[बॉब स्प्राउल]] और [[डायना मीरा]] ने स्मॉलटाक -72 प्रणाली के लिए नवंबर,1975 में [[ज़ेरॉक्स PARC]] में इस प्रचालन का कार्यक्रम किया था। जिसके माध्यम से डैन इंगल्स ने पश्चात् [[माइक्रोकोड|सूक्ष्म कूट]] में नया डिज़ाइन हुआ संस्करण प्रयुक्त किया गया था।


विभिन्न बिट ब्लिट ऑपरेशंस के लिए तेज़ तरीकों के विकास ने कैरेक्टर ग्राफिक्स ([[टेक्स्ट मोड]]) का उपयोग करने से लेकर हर चीज के लिए [[रास्टर ग्राफिक्स]] (बिटमैप) का उपयोग करने के लिए कंप्यूटर डिस्प्ले के विकास को प्रोत्साहन दिया। मशीनें जो [[2डी कंप्यूटर ग्राफिक्स]] (जैसे [[विडियो गेम कंसोल]]) के प्रदर्शन पर बहुत अधिक निर्भर करती हैं, अक्सर विशेष-उद्देश्य सर्किट्री होती हैं जिसे [[बन जाता है]] कहा जाता है।
विभिन्न बिट ब्लिट प्रचालन के लिए तेज़ विधि के विकास में मानक ग्राफिक्स ([[टेक्स्ट मोड|पाठ विधा]]) का उपयोग करने से लेकर हर वस्तु के लिए [[रास्टर ग्राफिक्स|रेखापुंज ग्राफिक्स]] (बिटमैप) का उपयोग करने के लिए कंप्यूटर दृश्य के विकास को प्रोत्साहन दिया गया था। जिससे मशीनें जो [[2डी कंप्यूटर ग्राफिक्स]] (जैसे [[विडियो गेम कंसोल]]) के प्रदर्शन पर बहुत अधिक निर्भर करती हैं, अधिकांशतः विशेष-उद्देश्य परिपथीय होती हैं।


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


एक लूप जो मास्क में प्रत्येक बिट की जांच करता है और मास्क सेट होने पर ही [[पिक्सेल]] को स्प्राइट से कॉपी करता है, हार्डवेयर की तुलना में बहुत धीमा होगा जो प्रत्येक पिक्सेल पर ठीक उसी ऑपरेशन को लागू कर सकता है। इसके बजाय एक नकाबपोश ब्लिट को AND और OR रास्टर संचालन का उपयोग करके दो नियमित BitBlit संचालन के साथ लागू किया जा सकता है।
लूप जो आवरण में प्रत्येक बिट की जांच करता है और आवरण चयन होने पर ही [[पिक्सेल]] को स्प्राइट से प्रतिलिपि करता है, जो सामान्यता हार्डवेयर की तुलना में बहुत धीमा होगा जो प्रत्येक पिक्सेल पर यथार्थ उसी प्रचालन को प्रयुक्त कर सकता है। इसके अतिरिक्त अप्रत्यक्ष टिल को AND और OR रेखापुंज संचालन का उपयोग करके दो नियमित BITBIT संचालन के साथ प्रयुक्त किया जा सकता है।


{| class="wikitable"
{| class="wikitable"
|-
|-
! Background image
! पृष्ठभूमि छवि
! Sprite (left) and mask (right)
! स्प्राइट (बाएं) और मुखौटा (दाएं)
|-
|-
|align="center"| [[File:Blit back.png]]
|align="center"| [[File:Blit back.png]]
|align="center"| [[Image:XBlit_dot.png]]
|align="center"| [[Image:XBlit_dot.png]]
|}
|}
इसे उत्पन्न करने के लिए छवि पर स्प्राइट को विभिन्न स्थितियों में खींचा जाता है:
इसे उत्पन्न करने के लिए प्रतिबिम्ब पर स्प्राइट को विभिन्न स्थितियों में खींचा जाता है।


{| class="wikitable"
{| class="wikitable"
|-
|-
! Intended Result
! योजना परिणाम
|-
|-
|align="center"| [[Image:XBlit_final.png|none]]
|align="center"| [[Image:XBlit_final.png|none]]
|}
|}


=== तकनीक ===
=== तकनीक ===


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


पहले ब्लिट में, रास्टर ऑपरेटर बिटवाइज़ ऑपरेशन#AND का उपयोग करके मास्क को बैकग्राउंड पर ब्लिट किया जाता है। क्योंकि 0 के साथ कोई भी मान ANDed 0 के बराबर है, और 1 के साथ कोई भी मान अपरिवर्तित है, काले क्षेत्र बनाए जाते हैं जहां वास्तविक स्प्राइट दिखाई देंगे, जबकि शेष पृष्ठभूमि को अकेला छोड़ देंगे।
प्रथम टिल में, रेखापुंज अनुरूप बिटवाइज़ प्रचालन AND का उपयोग करके आवरण को पृष्ठभूमि पर टिल किया जाता है। क्योंकि 0 के साथ कोई भी मान AND 0 के समान्तर होता है और 1 के साथ कोई भी मान अपरिवर्तित है, काले क्षेत्र बनाए जाते हैं जहां वास्तविक स्प्राइट दिखाई देंगे, जबकि शेष पृष्ठभूमि को एकाकी छोड़ देंगे।


{| class="wikitable"
{| class="wikitable"
|-
|-
! Result of the first blit
! प्रथम आक्रमण का नतीजा
|-
|-
|align="center"| [[Image:XBlit_and.png|none]]
|align="center"| [[Image:XBlit_and.png|none]]
|}
|}
दूसरे ब्लिट में, स्प्राइट को बिटवाइज़ ऑपरेशन #OR के रास्टर ऑपरेटर का उपयोग करके नए परिवर्तित बैकग्राउंड पर ब्लिट किया जाता है। क्योंकि 0 के साथ कोई भी मान अपरिवर्तित है, पृष्ठभूमि अप्रभावित है और काले क्षेत्र वास्तविक स्प्राइट छवि से भरे हुए हैं।
दूसरे ब्लिट में, स्प्राइट को बिटवाइज़ प्रचालन OR के रेखापुंज ऑपरेटर का उपयोग करके नए परिवर्तित पृष्ठभूमि पर ब्लिट किया जाता है। क्योंकि 0 के साथ कोई भी मान अपरिवर्तित है, पृष्ठभूमि अप्रभावित और काले क्षेत्र वास्तविक स्प्राइट प्रतिबिम्ब से भरे हुए हैं।


{| class="wikitable"
{| class="wikitable"
|-
|-
! Final result
! अंतिम परिणाम
|-
|-
|align="center"| [[Image:XBlit_final.png|none]]
|align="center"| [[Image:XBlit_final.png|none]]
|}
|}
सफेद पृष्ठभूमि और सफेद-पर-काले मास्क के साथ स्प्राइट का उपयोग करके समान प्रभाव प्राप्त करना भी संभव है। इस मामले में, मास्क पहले ओरेड होगा, और स्प्राइट एंडेड होगा।
सफेद पृष्ठभूमि और सफेद-पर-काले आवरण के साथ स्प्राइट का उपयोग करके समान प्रभाव प्राप्त करना भी संभव है। इस स्थिति में आवरण प्रथम अयस्क होगा और स्प्राइट समाप्त होगा।


== ब्लिटिंग बनाम हार्डवेयर स्प्राइट्स ==
== ब्लिटिंग बनाम हार्डवेयर स्प्राइट ==
{{See also|Sprite (computer graphics)}}
{{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> हार्डवेयर स्प्राइट्स को अलग मेमोरी में संग्रहीत होने का लाभ मिलता है, और इसलिए मुख्य डिस्प्ले मेमोरी को परेशान नहीं करता है। इससे उन्हें बिना किसी प्रभाव के, पृष्ठभूमि को कवर करते हुए प्रदर्शन के चारों ओर ले जाने की अनुमति मिलती है।


ब्लिटिंग स्क्रीन के बारे में उसी प्रकार के पैटर्न को स्थानांतरित करता है, लेकिन बाकी डिस्प्ले के समान मेमोरी में लिखकर ऐसा करता है। इसका मतलब यह है कि हर बार जब स्क्रीन पर एक अग्रभूमि पैटर्न रखा जाता है, तो नीचे कोई भी पृष्ठभूमि पिक्सेल अधिलेखित या क्षतिग्रस्त हो जाता है। यह सॉफ्टवेयर पर निर्भर है कि वह दो बार ब्लिटिंग करके इस क्षति की मरम्मत करे, एक बार बदले गए पिक्सेल को पुनर्स्थापित करने के लिए, और फिर अग्रभूमि पैटर्न को अपने नए स्थान पर रखने के लिए। इसे करने का एक तरीका यह है कि वीआरएएम ऑफस्क्रीन में आवश्यक पैटर्न को स्टोर किया जाए और प्रभावित डिस्प्ले सेक्शन को अस्थायी रूप से स्टोर करने के लिए स्टैक के रूप में दूसरे क्षेत्र को ऑफस्क्रीन आरक्षित किया जाए। यह मानते हुए कि ग्राफिक्स चिप में वीआरएएम समर्पित है, यह सिस्टम रैम पर तनाव को कम करने के लिए उपयोगी है, लेकिन पुराने पीसी सिस्टम पर बैंडविड्थ सीमित आईएसए विस्तार स्लॉट भी है।
ब्लिटिंग हार्डवेयर-स्प्राइट (कंप्यूटर ग्राफिक्स) चित्रकारी के समान है, जिसमें दोनों प्रणाली के चित्रपट पर भिन्न-भिन्न स्थानों पर स्वरूप, सामान्यतः वर्ग क्षेत्र को पुन: प्रस्तुत करते हैं।<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> हार्डवेयर स्प्राइट को भिन्न स्मृति में संग्रहीत होने का लाभ मिलता है और इसलिए मुख्य दृश्य स्मृति को परेशान नहीं करता है। इससे उन्हें बिना किसी प्रभाव के, पृष्ठभूमि को आवरण करते हुए प्रदर्शन के चारों ओर ले जाने की अनुमति मिलती है।


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


== यह भी देखें ==
== यह भी देखें ==


* अल्फा रचना
* अल्फा रचना
* [[मास्क (कंप्यूटिंग)]], यहां स्टैंसिल के रूप में उपयोग किया जाता है
* [[मास्क (कंप्यूटिंग)|आवरण (कंप्यूटिंग)]], यहां स्टैंसिल (निकृंत) के रूप में उपयोग किया जाता है
* ब्लिटर
* टिलर


== संदर्भ ==
== संदर्भ ==
{{reflist}}
{{reflist}}
==बाहरी संबंध==
==बाहरी संबंध==
* [http://lueftenegger.blogspot.co.at/2016/09/blitting-art-of-fast-pixel-drawing.html Performance demonstration coded in Flash/AS3]
* [http://lueftenegger.blogspot.co.at/2016/09/blitting-art-of-fast-pixel-drawing.html Performance demonstration coded in Flash/AS3]
* [http://bitsavers.org/pdf/xerox/alto/BitBLT_Nov1975.pdf Xerox Inter-Office Memorandum 19 November 1975]
* [http://bitsavers.org/pdf/xerox/alto/BitBLT_Nov1975.pdf Xerox Inter-Office Memorandum 19 November 1975]
[[Category: कंप्यूटर ग्राफिक्स एल्गोरिदम]]


[[Category: Machine Translated Page]]
[[Category:Created On 16/02/2023]]
[[Category:Created On 16/02/2023]]
[[Category:Machine Translated Page]]
[[Category:Pages with script errors]]
[[Category:Templates Vigyan Ready]]
[[Category:कंप्यूटर ग्राफिक्स एल्गोरिदम]]

Latest revision as of 11:24, 24 February 2023

बिट ब्लिट (जिसे BITBLT, BIT BLT, BITBLT, Bit BLT, BIT BIT आदि के रूप में भी लिखा जाता है, जो टिल खण्ड स्थानातरण के लिए संयोजित किया जाता है) आँकड़ा प्रचालन है जो सामान्यतः कंप्यूटर चित्रलेख में उपयोग किया जाता है। जिसमें अनेक बिटमैप का उपयोग करके निश्चित टेबल बाइनरी प्रचालन को जोड़ा जाता है।[1]

प्रचालन में कम से कम दो बिटमैप सम्मिलित होते हैं, स्रोत (अग्रभूमि) और गंतव्य (पृष्ठभूमि) और इसके अतिरिक्त संभवतः तीसरा जिसे मुक्त स्टैंसिल(निकृंत) कहा जाता है। जिसे चौथे बिटमैप पर लिखा जा सकता है, चूंकि अधिकांशतः यह गंतव्य को परिवर्तित कर देता है। जिसके माध्यम से निर्दिष्ट रेखापुंज प्रचालन (आरओपी) के अनुसार प्रत्येक पिक्सल को बिटवाइज़ संयोजित कर देती है इस प्रकार परिणाम को गंतव्य पर लिखा जाता है। निर्दिष्ट रेखापुंज प्रचालन (आरओपी) अनिवार्य रूप से बूलियन तर्क का सूत्र है। जो सबसे स्पष्ट निर्दिष्ट रेखापुंज प्रचालन (आरओपी) स्रोत के साथ गंतव्य को अधिलेखित कर देता है। जिसके माध्यम से अन्य निर्दिष्ट रेखापुंज प्रचालन (आरओपी) में तार्किक संयोजन, एक्सओआर, और नकारात्मक संचालन सम्मिलित हो जाता हैं।[1] कमोडोर अमिगा के ग्राफिक्स विस्तार और अन्य तीन इनपुट के साथ 256 संभावित बूलियन कार्यों में से किसी का उपयोग करके तीन स्रोत बिटमैप्स को जोड़ सकते हैं।

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

उत्पत्ति

बिट-सीमा ब्लॉक स्थानांतरण के लिए खड़े ज़ेरॉक्स ऑल्टो कंप्यूटर के लिए नाम BITBLT प्रतिक्रिया से मुक्त होता है। डैन इंगल्स, लैरी टेस्लर, बॉब स्प्राउल और डायना मीरा ने स्मॉलटाक -72 प्रणाली के लिए नवंबर,1975 में ज़ेरॉक्स PARC में इस प्रचालन का कार्यक्रम किया था। जिसके माध्यम से डैन इंगल्स ने पश्चात् सूक्ष्म कूट में नया डिज़ाइन हुआ संस्करण प्रयुक्त किया गया था।

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

अप्रत्यक्ष तिल कार्यान्वयन का उदाहरण

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

लूप जो आवरण में प्रत्येक बिट की जांच करता है और आवरण चयन होने पर ही पिक्सेल को स्प्राइट से प्रतिलिपि करता है, जो सामान्यता हार्डवेयर की तुलना में बहुत धीमा होगा जो प्रत्येक पिक्सेल पर यथार्थ उसी प्रचालन को प्रयुक्त कर सकता है। इसके अतिरिक्त अप्रत्यक्ष टिल को AND और OR रेखापुंज संचालन का उपयोग करके दो नियमित BITBIT संचालन के साथ प्रयुक्त किया जा सकता है।

पृष्ठभूमि छवि स्प्राइट (बाएं) और मुखौटा (दाएं)
File:Blit back.png File:XBlit dot.png

इसे उत्पन्न करने के लिए प्रतिबिम्ब पर स्प्राइट को विभिन्न स्थितियों में खींचा जाता है।

योजना परिणाम

तकनीक

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

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

प्रथम आक्रमण का नतीजा

दूसरे ब्लिट में, स्प्राइट को बिटवाइज़ प्रचालन OR के रेखापुंज ऑपरेटर का उपयोग करके नए परिवर्तित पृष्ठभूमि पर ब्लिट किया जाता है। क्योंकि 0 के साथ कोई भी मान अपरिवर्तित है, पृष्ठभूमि अप्रभावित और काले क्षेत्र वास्तविक स्प्राइट प्रतिबिम्ब से भरे हुए हैं।

अंतिम परिणाम

सफेद पृष्ठभूमि और सफेद-पर-काले आवरण के साथ स्प्राइट का उपयोग करके समान प्रभाव प्राप्त करना भी संभव है। इस स्थिति में आवरण प्रथम अयस्क होगा और स्प्राइट समाप्त होगा।

ब्लिटिंग बनाम हार्डवेयर स्प्राइट

ब्लिटिंग हार्डवेयर-स्प्राइट (कंप्यूटर ग्राफिक्स) चित्रकारी के समान है, जिसमें दोनों प्रणाली के चित्रपट पर भिन्न-भिन्न स्थानों पर स्वरूप, सामान्यतः वर्ग क्षेत्र को पुन: प्रस्तुत करते हैं।[2] हार्डवेयर स्प्राइट को भिन्न स्मृति में संग्रहीत होने का लाभ मिलता है और इसलिए मुख्य दृश्य स्मृति को परेशान नहीं करता है। इससे उन्हें बिना किसी प्रभाव के, पृष्ठभूमि को आवरण करते हुए प्रदर्शन के चारों ओर ले जाने की अनुमति मिलती है।

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

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

यह भी देखें

संदर्भ

  1. 1.0 1.1 Sanchez, Julio; Maria P. Canton (2007). "Displaying Bit-Mapped images". Software solutions for engineers and scientists. CRC Press. p. 690.
  2. "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.

बाहरी संबंध