DXT / BC / ETC जैसे GPU संपीड़ित बनावट प्रारूप विशेष रूप से उनके संपीड़ित रूप से सीधे पढ़ने के लिए डिज़ाइन किए गए हैं। उन्हें कच्चे RGBA बफर में अनपैक करने की आवश्यकता नहीं है।
जिस तरह से यह काम करता है वह टेक्सल्स के प्रत्येक ब्लॉक (अक्सर 4x4) में कुछ निश्चित संख्या में बिट्स होते हैं - इसलिए हम जानते हैं कि किसी विशेष टेक्सल को देखने के लिए बफर में कितनी दूर है - और ये ब्लॉक आसपास के सभी को पढ़े बिना विघटित हो सकते हैं / पूर्ववर्ती बनावट की जानकारी। जीपीयू में विशेष हार्डवेयर होते हैं जो आपके शेड्स से बनावट नमूना अनुरोधों को पूरा करने के लिए आवश्यक अनुरोध किए गए टेक्सल ब्लॉक को डिकम्पोज करता है।
यह jpg और png जैसे प्रारूपों के विपरीत है, जहाँ प्रत्येक टेक्सल के स्थान की मात्रा छवि के पार हो सकती है (विस्तृत क्षेत्र अधिक डेटा ले रहा है, पूर्वानुमान योग्य क्षेत्र कम ले रहा है), इसलिए किसी विशेष टेक्सल को खोजने के लिए आपको अनलॉकर करना होगा पूरी छवि, या कम से कम बड़ी / वितरित चंक्स। लेकिन क्योंकि वे चुनिंदा रूप से एक बनावट के अनुमानित क्षेत्रों को संपीड़ित कर सकते हैं, वे छवियों को डिस्क पर भंडारण के लिए छोटे आकार में संपीड़ित करने या एक नेटवर्क पर संचरण करने की प्रवृत्ति रखते हैं, जो हम GPU के अनुकूल स्वरूपों से प्राप्त करते हैं। विभिन्न उपयोगों के लिए अलग-अलग रणनीतियाँ।
आमतौर पर, कई प्रश्नों को कई पदों के माध्यम से किया जाना चाहिए, लेकिन चूंकि यह एक बहुत छोटा उत्तर है, मैं बिंदु 3 को भी मारूंगा।
" फ्रेमबफ़र " वीडियो मेमोरी का एक विशेष बिट है जिसे हमने उस छवि को संग्रहीत करने के लिए उपयोग करने का निर्णय लिया है जिसे हम स्क्रीन पर प्रस्तुत करना चाहते हैं। जार्कोएल के उत्तर में विवरणों पर ध्यान दें, जहां कुछ विशेष हार्डवेयर पर हम अपनी उपलब्ध वीडियो मेमोरी के एक विशेष हिस्से में इस बफर को खोजने के लिए चुन सकते हैं जो कि लक्ष्यों को प्रस्तुत करने की बैंडविड्थ आवश्यकताओं के लिए अनुकूलित है।