शेडर: Difference between revisions
Line 84: | Line 84: | ||
यूनिटी (गेम इंजन), [[अवास्तविक इंजन]] और [[गोडोट (गेम इंजन)]] जैसे आधुनिक [[वीडियो गेम]] विकास प्लेटफॉर्म में तेजी से [[नोड-आधारित संपादक]] शामिल होते हैं जो वास्तविक कोड की आवश्यकता के बिना शेडर बना सकते हैं; उपयोगकर्ता को इसके बजाय कनेक्टेड नोड्स के एक [[निर्देशित ग्राफ]] के साथ प्रस्तुत किया जाता है जो उपयोगकर्ताओं को विभिन्न बनावट, नक्शे और गणितीय कार्यों को फैलाने वाले रंग, स्पेक्युलर रंग और तीव्रता, खुरदरापन / धातु की तरह आउटपुट मूल्यों में निर्देशित करने की अनुमति देता है। | यूनिटी (गेम इंजन), [[अवास्तविक इंजन]] और [[गोडोट (गेम इंजन)]] जैसे आधुनिक [[वीडियो गेम]] विकास प्लेटफॉर्म में तेजी से [[नोड-आधारित संपादक]] शामिल होते हैं जो वास्तविक कोड की आवश्यकता के बिना शेडर बना सकते हैं; उपयोगकर्ता को इसके बजाय कनेक्टेड नोड्स के एक [[निर्देशित ग्राफ]] के साथ प्रस्तुत किया जाता है जो उपयोगकर्ताओं को विभिन्न बनावट, नक्शे और गणितीय कार्यों को फैलाने वाले रंग, स्पेक्युलर रंग और तीव्रता, खुरदरापन / धातु की तरह आउटपुट मूल्यों में निर्देशित करने की अनुमति देता है। स्वचालित संकलन तब ग्राफ़ को वास्तविक, संकलित शेडर में बदल देता है। | ||
== यह भी देखें == | == यह भी देखें == |
Revision as of 15:18, 24 March 2023
This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these template messages)
(Learn how and when to remove this template message)
|
कंप्यूटर चित्रलेख में, एक शेडर एक कंप्यूटर प्रोग्राम है जो एक 3डी दृश्य के प्रतिपादन (कंप्यूटर ग्राफिक्स) के दौरान प्रकाश, अंधेरे और रंग के उचित स्तर की गणना करता है - एक प्रक्रिया जिसे छायांकन के रूप में जाना जाता है। कंप्यूटर ग्राफिक्स विशेष प्रभाव और वीडियो पोस्ट-प्रोसेसिंग के साथ-साथ ग्राफिक्स प्रोसेसिंग इकाइयों पर सामान्य-उद्देश्य कंप्यूटिंग में विभिन्न प्रकार के विशेष कार्य करने के लिए शेडर्स विकसित हुए हैं।
पारंपरिक शेडर्स उच्च स्तर के लचीलेपन के साथ ग्राफिक्स हार्डवेयर पर रेंडरिंग प्रभाव की गणना करते हैं। अधिकांश शेडर्स को ग्राफ़िक्स प्रोसेसिंग युनिट (जीपीयू) के लिए कोडित (और चालू) किया जाता है,[1] हालांकि यह एक सख्त आवश्यकता नहीं है। जीपीयू की रेंडरिंग पाइपलाइन को प्रोग्राम करने के लिए छायांकन भाषाओं का उपयोग किया जाता है, जिसने ज्यादातर अतीत की फिक्स्ड-फ़ंक्शन पाइपलाइन को हटा दिया है जो केवल सामान्य ज्यामिति रूपांतरण और पिक्सेल-छायांकन कार्यों के लिए अनुमति देता है; शेडर्स के साथ, अनुकूलित प्रभावों का उपयोग किया जा सकता है।अंतिम रूप से प्रदान की गई छवि के निर्माण के लिए उपयोग किए जाने वाले सभी पिक्सेल, कोने और/या बनावट की स्थिति और रंग (ह्यू, रंगीनपन, चमक, और कंट्रास्ट (दृष्टि)) को एक शेडर में परिभाषित कलन विधि का उपयोग करके बदला जा सकता है, एक शेडर में, और कंप्यूटर प्रोग्राम द्वारा शेडर को कॉल करने वाले बाहरी चर (कंप्यूटर विज्ञान) या बनावट द्वारा संशोधित किया जा सकता है।
फिल्म निर्माण पोस्ट प्रोसेसिंग (छवियां), कंप्यूटर-जनित इमेजरी और वीडियो गेम में कई तरह के प्रभाव पैदा करने के लिए शेडर्स का व्यापक रूप से उपयोग किया जाता है। सरल प्रकाश मॉडल के अलावा, शेडर्स के अधिक जटिल उपयोगों में शामिल हैं: रंग,रंगीनपन, चमक (एचएसएल / एचएसवी) या छवि के कंट्रास्ट (दृष्टि) को बदलना; डिफोकस विपथन, हल्का खिलना , वॉल्यूमेट्रिक लाइटिंग, साधारण मानचित्रण (डेप्थ इफेक्ट्स के लिए), बोकेह, सार्डिन को मापना, पोस्टराइजेशन, उभार का मानचित्रण , डिस्टॉर्शन (ऑप्टिक्स), क्रोमा कीइंग (तथाकथित ब्लूस्क्रीन /हरा पर्दा इफेक्ट्स के लिए), किनारे का पता लगाना और मोशन पहचान, जैसे साथ ही साइकेडेलिया प्रभाव जैसे कि डेमोसीन में देखे गए।
इतिहास
"शेडर" शब्द के इस प्रयोग को पिक्सर द्वारा उनके रेंडरमैन इंटरफ़ेस विशिष्टता के संस्करण 3.0 के साथ जनता के लिए पेश किया गया था, जो मूल रूप से मई 1988 में प्रकाशित हुआ था।[2]
जैसे-जैसे ग्राफिक्स प्रोसेसिंग यूनिट विकसित हुई, ओपन जीएल और Direct3D जैसी प्रमुख ग्राफिक्स सॉफ्टवेयर पुस्तकालय ने शेडर्स का समर्थन करना शुरू कर दिया। पहला शेडर-सक्षम जीपीयू केवल पिक्सेल छायांकन का समर्थन करता था, लेकिन डेवलपर्स को शेडर्स की शक्ति का एहसास होने के बाद वर्टेक्स शेडर्स जल्दी से पेश किए गए थे। प्रोग्रामेबल पिक्सेल शेडर वाला पहला वीडियो कार्ड Nvidia GeForce 3 (NV20) था, जिसे 2001 में रिलीज़ किया गया था।[3] ज्यामिति शेड्स को Direct3D 10 और OpenGL 3.2 के साथ सम्मुख किया गया था। आखिरकार, ग्राफिक्स हार्डवेयर एक एकीकृत शेडर मॉडल की ओर विकसित हुआ।
डिजाइन
शेडर्स सरल प्रोग्राम हैं जो वर्टेक्स (कंप्यूटर ग्राफिक्स) या पिक्सेल के लक्षणों का वर्णन करते हैं। वर्टेक्स शेडर्स एक वर्टेक्स की विशेषताओं (स्थिति, बनावट मानचित्रण, रंग, आदि) का वर्णन करते हैं, जबकि पिक्सेल शेड्स एक पिक्सेल के लक्षणों (रंग, जेड-बफरिंग, जेड-गहराई और अल्फा मान ) का वर्णन करते हैं। एक ज्यामितीय आदिम (संभवतः टेसलेशन (कंप्यूटर ग्राफिक्स) के बाद) में प्रत्येक शीर्ष के लिए एक वर्टेक्स शेडर कहा जाता है; इस प्रकार एक वर्टेक्स इन, एक (अपडेटेड) वर्टेक्स आउट। प्रत्येक शीर्ष को तब एक सतह (मेमोरी के ब्लॉक) पर पिक्सेल की एक श्रृंखला के रूप में प्रस्तुत किया जाता है जो अंततः स्क्रीन पर भेजा जाएगा।
शेडर्स ग्राफिक्स हार्डवेयर के एक हिस्से को प्रतिस्थापित करते हैं जिसे आमतौर पर फिक्स्ड फंक्शन पाइपलाइन (एफएफपी) कहा जाता है, तथाकथित क्योंकि यह हार्ड-कोडेड तरीके से कंप्यूटर ग्राफिक्स प्रकाश और बनावट का मानचित्रण बनाता है। शेडर्स इस हार्ड-कोडेड दृष्टिकोण के लिए प्रोग्राम करने योग्य विकल्प प्रदान करते हैं।[4]
मूल ग्राफिक्स पाइपलाइन इस प्रकार है:
- सीपीयू ग्राफिक्स कार्ड पर स्थित ग्राफिक्स प्रोसेसिंग यूनिट को निर्देश (संकलित छायांकन भाषा कार्यक्रम) और ज्यामिति डेटा भेजता है।
- वर्टेक्स शेडर के भीतर, ज्यामिति रूपांतरित हो जाती है।
- यदि एक ज्यामिति शेडर ग्राफिक प्रोसेसिंग यूनिट में है और सक्रिय है, तो दृश्य में ज्यामिति के कुछ परिवर्तन किए जाते हैं।
- यदि एक टेसलेशन शेडर ग्राफिक प्रोसेसिंग यूनिट में है और सक्रिय है, तो दृश्य में ज्यामितीय उपखंड (कंप्यूटर ग्राफिक्स) को उप-विभाजित किया जा सकता है।
- परिकलित की गई ज्यामिति त्रिकोणीय है (त्रिकोणों में उप-विभाजित)।
- त्रिकोणों को फ़्रैगमेंट क्वाड्स में विभाजित किया गया है (एक फ़्रैगमेंट क्वाड 2 × 2 फ़्रैगमेंट प्रिमिटिव है)।
- खंड चतुर्भुज को फ्रैगमेंट शेडर के अनुसार संशोधित किया जाता है।
- गहराई परीक्षण किया जाता है; पास होने वाले टुकड़े स्क्रीन पर लिखे जाएंगे और फ्रेम बफर में मिश्रित हो सकते हैं।
प्रदर्शित करने के लिए त्रि-आयामी (या द्वि-आयामी) डेटा को उपयोगी द्वि-आयामी डेटा में बदलने के लिए ग्राफिक पाइपलाइन इन चरणों का उपयोग करती है। सामान्य तौर पर, यह एक बड़ा पिक्सेल मैट्रिक्स या फ्रेम बफर होता है।
प्रकार
आम उपयोग में तीन प्रकार के शेडर हैं (पिक्सेल, वर्टेक्स, और ज्योमेट्री शेडर्स), जिनमें कई और हाल ही में जोड़े गए हैं। जबकि पुराने ग्राफिक्स कार्ड प्रत्येक शेडर प्रकार के लिए अलग प्रसंस्करण इकाइयों का उपयोग करते हैं, नए कार्ड में एकीकृत शेडर होते हैं जो किसी भी प्रकार के शेडर को निष्पादित करने में सक्षम होते हैं। यह ग्राफिक्स कार्ड को प्रोसेसिंग पावर का अधिक कुशल उपयोग करने की अनुमति देता है।
2डी शेड्स
2डी शेड्स डिजिटल छवियों पर कार्य करते हैं, जिन्हें कंप्यूटर ग्राफिक्स के क्षेत्र में बनावट (कंप्यूटर ग्राफिक्स) भी कहा जाता है। वे पिक्सेल की विशेषताओं को संशोधित करते हैं। 2D शेडर 3D ज्यामिति के प्रतिपादन में भाग ले सकते हैं। वर्तमान में 2D शेडर का एकमात्र प्रकार पिक्सेल शेडर है।
पिक्सेल शेड्स
पिक्सेल शेडर्स, जिन्हें फ़्रैगमेंट (कंप्यूटर ग्राफ़िक्स) शेडर्स के रूप में भी जाना जाता है, प्रत्येक फ़्रैगमेंट के रंग और अन्य विशेषताओं की गणना करते हैं: अधिकांश एकल आउटपुट पिक्सेल को प्रभावित करने वाले कार्य को प्रस्तुत करने की एक इकाई। सबसे सरल प्रकार के पिक्सेल शेड्स एक रंग मान के रूप में एक स्क्रीन पिक्सेल का उत्पादन करते हैं; एकाधिक इनपुट/आउटपुट वाले अधिक जटिल शेड भी संभव हैं।[5] पिक्सेल शेड्स में हमेशा एक ही रंग के आउटपुट से लेकर लाइटिंग वैल्यू लागू करने तक, बम्प मैपिंग, शैडो, स्पेक्युलर हाइलाइट्स, पारदर्शता और अन्य घटनाएं करने तक होती है। वे खंड की गहराई (जेड-बफरिंग के लिए) को बदल सकते हैं, या यदि एकाधिक रेंडर लक्ष्य सक्रिय हैं तो एक से अधिक रंग आउटपुट कर सकते हैं। 3डी ग्राफिक्स में, एक पिक्सेल शेडर अकेले कुछ प्रकार के जटिल प्रभाव उत्पन्न नहीं कर सकता है क्योंकि यह दृश्य की ज्यामिति (यानी वर्टेक्स डेटा) के ज्ञान के बिना केवल एक ही टुकड़े पर काम करता है। हालांकि, पिक्सेल शेडर्स को स्क्रीन निर्देशांक तैयार करने का ज्ञान होता है, और यदि पूरी स्क्रीन की सामग्री शेडर को बनावट के रूप में पारित की जाती है तो स्क्रीन और आस-पास के पिक्सेल का नमूना ले सकते हैं। यह तकनीक गौस्सियन धुंधलापन ,कार्टून/सीएल शेडर्स के लिए ब्लर, या एज डिटेक्शन/एन्हांसमेंट जैसे द्वि-आयामी पोस्टप्रोसेसिंग प्रभावों की एक विस्तृत विविधता को सक्षम कर सकती है। ग्राफिक्स पाइपलाइन में किसी भी दो-आयामी छवियों- स्प्राइट (कंप्यूटर ग्राफिक्स) या बनावट (कंप्यूटर ग्राफिक्स) के मध्यवर्ती चरणों में पिक्सेल शेडर्स को भी लागू किया जा सकता है, जबकि वर्टेक्स शेडर्स को हमेशा 3 डी दृश्य की आवश्यकता होती है। उदाहरण के लिए, एक पिक्सेल शेडर एकमात्र प्रकार का शेडर है जो वीडियो पोस्टप्रोसेसिंग के रूप में कार्य कर सकता है या विडियो स्ट्रीम के लिए वीडियो फिल्टर करने के बाद इसे रेखापुंज कर सकता है।
3डी शेड्स
3D शेडर मॉडल की गिनती या अन्य ज्यामिति पर कार्य करते हैं, लेकिन मॉडल या बहुभुज जाल बनाने के लिए उपयोग किए जाने वाले रंगों और बनावटों तक भी पहुंच सकते हैं। वर्टेक्स शेड्स सबसे पुराने प्रकार के 3D शेडर हैं, जो आम तौर पर प्रति-शीर्ष आधार पर संशोधन करते हैं। नए ज्योमेट्री शेड्स शेडर के भीतर से नए वर्टिकल उत्पन्न कर सकते हैं। टेस्सेलेशन शेडर नवीनतम 3डी शेडर हैं; वे विवरण जोड़ने के लिए एक साथ शीर्षों के बैचों पर कार्य करते हैं—जैसे कि किसी मॉडल को त्रिभुजों के छोटे समूहों में उप-विभाजित करना या रनटाइम पर अन्य आदिम,घटता और टक्कर जैसी चीज़ों को सुधारने के लिए, या अन्य विशेषताओं को बदलने के लिए।
वर्टेक्स शेड्स
वर्टेक्स शेड्स सबसे स्थापित और सामान्य प्रकार के 3डी शेडर हैं और ग्राफिक्स प्रोसेसर को दिए गए प्रत्येक वर्टेक्स (कंप्यूटर ग्राफिक्स) के लिए एक बार चलाए जाते हैं। इसका उद्देश्य वर्चुअल स्पेस में प्रत्येक वर्टेक्स की 3डी स्थिति को 2डी समन्वय में बदलना है, जिस पर यह स्क्रीन पर दिखाई देता है (साथ ही जेड-बफर के लिए गहराई मान)।[6] वर्टेक्स शेड्स स्थिति, रंग और बनावट निर्देशांक जैसे गुणों में हेरफेर कर सकते हैं, लेकिन नए कोने नहीं बना सकते। वर्टेक्स शेडर का आउटपुट पाइपलाइन में अगले चरण में जाता है, जो या तो ज्यामिति शेडर है, यदि मौजूद है, या रास्टेराइज़र है। वर्टेक्स शेडर्स 3D मॉडल वाले किसी भी दृश्य में स्थिति, गति, प्रकाश और रंग के विवरण पर शक्तिशाली नियंत्रण सक्षम कर सकते हैं।
ज्यामिति शेड्स
ज्यामिति शेड्स को Direct3D 10 और OpenGL 3.2 में पेश किया गया था; पहले एक्सटेंशन के उपयोग के साथ OpenGL 2.0+ में उपलब्ध था।[7] इस प्रकार के शेडर उन आदिम से नए ग्राफिक्स आदिम (ज्यामिति) उत्पन्न कर सकता है, जैसे कि बिंदु, रेखाएँ और त्रिकोण, जो ग्राफिक्स पाइपलाइन की शुरुआत में भेजे गए थे।[8]
ज्योमेट्री शेडर प्रोग्राम को वर्टेक्स शेडर्स के बाद निष्पादित किया जाता है। वे संभवतः आसन्न जानकारी के साथ इनपुट के रूप में एक संपूर्ण आदिम लेते हैं। उदाहरण के लिए, त्रिभुजों पर काम करते समय, तीन कोने ज्यामिति शेडर के इनपुट होते हैं। शेडर तब शून्य या अधिक आदिम का उत्सर्जन कर सकता है, जो रेखापुंज होते हैं और उनके टुकड़े अंततः एक पिक्सेल शेडर में पारित हो जाते हैं।
ज्योमेट्री शेडर के विशिष्ट उपयोगों में पॉइंट स्प्राइट जेनरेशन, ज्योमेट्री टेसलेशन (कंप्यूटर ग्राफिक्स), छाया मात्रा एक्सट्रूज़न और घन नक्शा के लिए सिंगल पास रेंडरिंग शामिल हैं। ज्यामिति शेडर्स के लाभों का एक विशिष्ट वास्तविक दुनिया उदाहरण स्वत: जाल जटिलता संशोधन होगा। एक वक्र के लिए नियंत्रण बिंदुओं का प्रतिनिधित्व करने वाली रेखा स्ट्रिप्स की एक श्रृंखला ज्यामिति शेडर को पास की जाती है और आवश्यक जटिलता के आधार पर शेडर स्वचालित रूप से अतिरिक्त लाइनें उत्पन्न कर सकता है जिनमें से प्रत्येक एक वक्र का बेहतर सन्निकटन प्रदान करता है।
टेसलेशन शेड्स
OpenGL 4.0 और Direct3D 11 के अनुसार, एक नया शेडर वर्ग जिसे टेसलेशन शेडर कहा जाता है, जोड़ा गया है। यह पारंपरिक मॉडल में दो नए शेडर चरण जोड़ता है: टेसलेशन कंट्रोल शेडर्स (जिसे हल शेडर्स के रूप में भी जाना जाता है) और टेसलेशन मूल्यांकन शेडर्स (डोमेन शेडर्स के रूप में भी जाना जाता है), जो एक साथ सरल जालों को गणितीय कार्य के अनुसार रन-टाइम में महीन जालों में उप-विभाजित करने की अनुमति देते हैं। फ़ंक्शन विभिन्न प्रकार के चर से संबंधित हो सकता है, विशेष रूप से सक्रिय स्तर के विस्तार स्केलिंग की अनुमति देने के लिए देखने वाले कैमरे से दूरी। यह कैमरे के करीब की वस्तुओं को बारीक विवरण देने की अनुमति देता है, जबकि आगे की वस्तुओं में अधिक मोटे जाल हो सकते हैं, फिर भी गुणवत्ता में तुलनीय लगते हैं।यह मेमोरी से बहुत जटिल लोगों को डाउनसैंपलिंग करने के बजाय शेडर इकाइयों के अंदर एक बार मेश को परिष्कृत करने की अनुमति देकर आवश्यक मेश बैंडविड्थ को भी काफी कम कर सकता है। कुछ एल्गोरिद्म किसी भी मनमाना मेश को अपसैंपल कर सकते हैं, जबकि अन्य मेश में "संकेत" के लिए अनुमति देते हैं ताकि सबसे विशिष्ट कोने और किनारों को निर्देशित किया जा सके।
आदिम और मेश शेड्स
सर्का 2017, एएमडी वेगा माइक्रोआर्किटेक्चर ने एक नए शेडर चरण-आदिम शेडर्स के लिए समर्थन जोड़ा - ज्यामिति को संसाधित करने के लिए आवश्यक डेटा तक पहुंच के साथ शेडर्स की गणना करने के लिए कुछ हद तक।[9][10] इसी तरह, एनवीडिया ने 2018 में अपने ट्यूरिंग (माइक्रोआर्किटेक्चर) के साथ मेश और टास्क शेड्स पेश किए जो समान कार्यक्षमता प्रदान करते हैं और जैसे एएमडी के आदिम शेडर्स को भी कंप्यूट शेडर्स के बाद तैयार किया जाता है।[11][12]
2020 में, एएमडी और एनवीडिया ने आरडीएनए 2 और एम्पीयर (माइक्रोआर्किटेक्चर) जारी किए, जो डायरेक्टएक्स 12 अल्टीमेट के माध्यम से मेश छायांकन का समर्थन करते हैं।[13] ये मेश शेड्स GPU को अधिक जटिल एल्गोरिदम को संभालने की अनुमति देते हैं, CPU से GPU पर अधिक काम को लोड करते हैं, और एल्गोरिथम गहन रेंडरिंग में, परिमाण के एक क्रम से एक दृश्य में त्रिकोणों की संख्या या फ्रेम दर में वृद्धि करते हैं।[14]इंटेल ने घोषणा की कि 2022 की पहली तिमाही में इंटेल आर्क अल्केमिस्ट जीपीयू शिपिंग मेश शेडर्स को सपोर्ट करेगा।[15]
रे ट्रेसिंग शेड्स
किरण अनुरेखण (ग्राफिक्स) शेड्स Microsoft द्वारा DirectX Raytracing के माध्यम से, Khronos Group द्वारा Vulkan (API), GLSL, और SPIR-V द्वारा समर्थित हैं,[16] Apple द्वारा धातु (एपीआई) के माध्यम से।
कंप्यूट शेडर्स
कंप्यूट शेडर्स ग्राफिक्स अनुप्रयोगों तक ही सीमित नहीं हैं, लेकिन जीपीजीपीयू के लिए समान निष्पादन संसाधनों का उपयोग करते हैं। उनका उपयोग ग्राफिक्स पाइपलाइनों में किया जा सकता है उदाहरण एनिमेशन या लाइटिंग एल्गोरिदम में अतिरिक्त चरणों के लिए (उदाहरण के लिए टाइल किए गए आगे प्रतिपादन)। कुछ रेंडरिंग एपीआई कंप्यूट शेडर्स को ग्राफिक्स पाइपलाइन के साथ डेटा संसाधनों को आसानी से साझा करने की अनुमति देते हैं।
समानांतर प्रसंस्करण
शेडर्स को एक समय में तत्वों के एक बड़े समूह में परिवर्तन लागू करने के लिए लिखा जाता है, उदाहरण के लिए, स्क्रीन के एक क्षेत्र में प्रत्येक पिक्सेल के लिए, या किसी मॉडल के प्रत्येक शीर्ष के लिए। यह समानांतर कंप्यूटिंग के लिए उपयुक्त है, और अधिकांश आधुनिक जीपीयू में इसे सुविधाजनक बनाने के लिए कई शेडर पाइपलाइन हैं, जो गणना थ्रूपुट में काफी सुधार करते हैं।
शेडर्स के साथ एक प्रोग्रामिंग मॉडल प्रतिपादन के लिए एक उच्च क्रम फ़ंक्शन के समान है, शेडर्स को तर्कों के रूप में लेना, और मध्यवर्ती परिणामों के बीच एक विशिष्ट डेटा प्रवाह प्रदान करना, दोनों डेटा समानता (पिक्सेल, कोने आदि में) और पाइपलाइन समांतरता (चरणों के बीच) को सक्षम करना। (नक्शा घटाना भी देखें)।
प्रोग्रामिंग
जिस भाषा में शेडर प्रोग्राम किए जाते हैं वह लक्षित वातावरण पर निर्भर करता है। आधिकारिक OpenGL और OpenGL ES छायांकन भाषा OpenGL छायांकन भाषा है, जिसे GLSL के रूप में भी जाना जाता है, और आधिकारिक Direct3D छायांकन भाषा उच्च स्तरीय छायांकन भाषा है, जिसे HLSL के रूप में भी जाना जाता है। सीजी (प्रोग्रामिंग भाषा), एक तृतीय-पक्ष छायांकन भाषा जो ओपनजीएल और डायरेक्ट 3 डी शेडर्स दोनों को आउटपुट करती है, एनवीडिया द्वारा विकसित की गई थी; हालाँकि 2012 से इसे हटा दिया गया है। Apple ने मेटल (आईओएस एपीआई) के हिस्से के रूप में मेटल शेडिंग भाषा नामक अपनी स्वयं की छायांकन भाषा जारी की।
जीयूआई शेडर संपादक
आधुनिक वीडियो गेम विकास प्लेटफॉर्म जैसे कि एकता, अवास्तविक इंजन और गोडोट (गेम इंजन) में तेजी से नोड-आधारित संपादक शामिल होते हैं जो वास्तविक कोड की आवश्यकता के बिना शेडर बना सकते हैं; उपयोगकर्ता को इसके बजाय कनेक्टेड नोड्स के एक निर्देशित ग्राफ के साथ प्रस्तुत किया जाता है जो उपयोगकर्ताओं को विभिन्न बनावट, नक्शे और गणितीय कार्यों को फैलाने वाले रंग, स्पेक्युलर रंग और तीव्रता जैसे आउटपुट मानों में निर्देशित करने की अनुमति देता है। . स्वचालित संकलन तब ग्राफ़ को वास्तविक, संकलित शेडर में बदल देता है।
यूनिटी (गेम इंजन), अवास्तविक इंजन और गोडोट (गेम इंजन) जैसे आधुनिक वीडियो गेम विकास प्लेटफॉर्म में तेजी से नोड-आधारित संपादक शामिल होते हैं जो वास्तविक कोड की आवश्यकता के बिना शेडर बना सकते हैं; उपयोगकर्ता को इसके बजाय कनेक्टेड नोड्स के एक निर्देशित ग्राफ के साथ प्रस्तुत किया जाता है जो उपयोगकर्ताओं को विभिन्न बनावट, नक्शे और गणितीय कार्यों को फैलाने वाले रंग, स्पेक्युलर रंग और तीव्रता, खुरदरापन / धातु की तरह आउटपुट मूल्यों में निर्देशित करने की अनुमति देता है। स्वचालित संकलन तब ग्राफ़ को वास्तविक, संकलित शेडर में बदल देता है।
यह भी देखें
- जीएलएसएल
- एसपीआईआर-वी
- एचएलएसएल
- गणना कर्नेल
- छायांकन भाषा
- जीपीजीपीयू
- सामान्य छायांकन एल्गोरिदम की सूची
- वेक्टर प्रोसेसर
संदर्भ
- ↑ "LearnOpenGL - शेडर्स". learnopengl.com. Retrieved November 12, 2019.
- ↑ "The RenderMan Interface Specification".
- ↑ Lillypublished, Paul (May 19, 2009). "From Voodoo to GeForce: The Awesome History of 3D Graphics". PC Gamer – via www.pcgamer.com.
- ↑ "शेडरवर्क्स का अपडेट - डायरेक्टएक्स ब्लॉग". August 13, 2003.
- ↑ "GLSL Tutorial – Fragment Shader". June 9, 2011.
- ↑ "GLSL Tutorial – Vertex Shader". June 9, 2011.
- ↑ Geometry Shader - OpenGL. Retrieved on December 21, 2011.
- ↑ "Pipeline Stages (Direct3D 10) (Windows)". msdn.microsoft.com.
- ↑ "Radeon RX Vega Revealed: AMD promises 4K gaming performance for $499 - Trusted Reviews". July 31, 2017.
- ↑ "एएमडी के वेगा आर्किटेक्चर पर पर्दा आता है". January 5, 2017.
- ↑ "NVIDIA ट्यूरिंग आर्किटेक्चर इन-डेप्थ". September 14, 2018.
- ↑ "ट्यूरिंग मेश शेड्स का परिचय". September 17, 2018.
- ↑ "Announcing DirectX 12 Ultimate". DirectX Developer Blog (in English). March 19, 2020. Retrieved May 25, 2021.
- ↑ "मेष छायांकन के साथ न्याय में यथार्थवादी प्रकाश". NVIDIA Developer Blog (in English). May 21, 2021. Retrieved May 25, 2021.
- ↑ Smith, Ryan. "Intel Architecture Day 2021: A Sneak Peek At The Xe-HPG GPU Architecture". www.anandtech.com.
- ↑ "वल्कन रे ट्रेसिंग फाइनल स्पेसिफिकेशंस रिलीज़". Blog. Khronos Group. November 23, 2020. Retrieved 2021-02-22.
अग्रिम पठन
- Upstill, Steve (1990). The RenderMan Companion: A Programmer's Guide to Realistic Computer Graphics. Addison-Wesley. ISBN 0-201-50868-0.
- Ebert, David S; Musgrave, F. Kenton; Peachey, Darwyn; Perlin, Ken; Worley, Steven (1994). Texturing and modeling: a procedural approach. AP Professional. ISBN 0-12-228730-4.
- Fernando, Randima; Kilgard, Mark (2003). The Cg Tutorial: The Definitive Guide to Programmable Real-Time Graphics. Addison-Wesley Professional. ISBN 0-321-19496-9.
- Rost, Randi J (2004). OpenGL Shading Language. Addison-Wesley Professional. ISBN 0-321-19789-5.
बाहरी संबंध
- OpenGL geometry shader extension
- Riemer's DirectX & HLSL Tutorial: HLSL Tutorial using DirectX with much sample code
- Pipeline Stages (Direct3D 10)