ग्राफिक्स पाइपलाइन

कंप्यूटर ग्राफ़िक्स में कंप्यूटर ग्राफ़िक्स पाइपलाइन, प्रतिपादन पाइपलाइन या सरल  ग्राफ़िक्स पाइपलाइन  वैचारिक प्रतिरूप है जो वर्णन करता है कि 3डी दृश्य को 2डी आवरण पर प्रस्तुत करने (कंप्यूटर ग्राफ़िक्स) के लिए ग्राफ़िक्स सिस्टम को किन चरणों की आवश्यकता होती है। बार 3डी प्रतिरूप बन जाने के बाद, उदाहरण के लिए वीडियो खेल या किसी अन्य 3डी कंप्यूटर एनीमेशन में ग्राफिक्स पाइपलाइन उस 3डी प्रतिरूप को कंप्यूटर में प्रदर्शित करने की प्रक्रिया है।

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

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

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

संरचना
ग्राफिक्स पाइपलाइन को तीन मुख्य भागों (अनुप्रयोग, ज्यामिति और रेखांकन) में विभाजित किया जा सकता है।



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

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

ज्यामिति
ज्यामिति चरण (ज्यामिति पाइपलाइन के साथ), जो पॉलीगॉन और उनके शीर्ष (कंप्यूटर ग्राफिक्स) (शीर्ष पाइपलाइन के साथ) के अधिकांश संचालन के लिए उत्तरदायी है, इसको निम्नलिखित पांच कार्यों में विभाजित किया जा सकता है। यह विशेष कार्यान्वयन पर निर्भर करता है कि, इन कार्यों को वास्तविक समांतर पाइपलाइन चरणों के रूप में कैसे व्यवस्थित किया जाता है।



परिभाषाएँ
शीर्ष (बहुवचन: लम्बवत ) विश्व में बिंदु है। सतहों में सम्मिलित होने के लिए कई बिंदुओं का उपयोग किया जाता है। विशेष स्थितियों में बिंदु क्लाउड सीधे खींचे जाते हैं, किन्तु यह अभी भी अपवाद है।

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

विश्व समन्वय सिस्टम
विश्व 3डी विश्व समन्वय सिस्टम वह समन्वय सिस्टम है जिसमें वास्तविक विश्व बनाया जाती है। निम्नलिखित गणित को सरलता से प्रयुक्त करने के लिए इसे कुछ शर्तों को पूरा करना चाहिए: समन्वय सिस्टम की इकाई को कैसे परिभाषित किया जाता है, यह डेवलपर पर छोड़ दिया जाता है। इसलिए सिस्टम का इकाई संवाहक वास्तव में मीटर या एंग्स्ट्रॉम के अनुरूप होना चाहिए, यह आवेदन पर निर्भर करता है।
 * यह आयताकार कार्टेशियन समन्वय सिस्टम होनी चाहिए जिसमें सभी अक्षो को समान रूप से नाप किया गया जाता है।
 * बाएं हाथ समन्वय सिस्टम - दाएं हाथ या बाएं हाथ की समन्वय सिस्टम का उपयोग किया जाना है या नहीं, यह लेखा चित्रीय निर्देश योग्य संग्रह के माध्यम से निर्धारित किया जा सकता है।


 * उदाहरण: यदि हमें उड्डयन अनुरूपक विकसित करना है, तो हम विश्व समन्वय सिस्टम का चयन कर सकते हैं जिससे मूल पृथ्वी के मध्य में हो और इकाई मीटर पर स्थिर हो। इसके अतिरिक्त, वास्तविकता के संदर्भ को सरल बनाने के लिए हम परिभाषित करते हैं कि एक्स अक्ष भूमध्य रेखा को शून्य भूमध्य रेखा पर काटना चाहिए, और जेड अक्ष ध्रुवों से होकर निकलता है। दाएँ हाथ की सिस्टम में, वाय-अक्ष 90°-पूर्वी मध्याह्न (हिंद महासागर में कहीं) से होकर निकलता है। अब हमारे पास समन्वय सिस्टम है जो पृथ्वी पर प्रत्येक बिंदु को त्रि-आयामी कार्टेशियन आव्युह में वर्णित करती है। इस समन्वय सिस्टम में, अब हम अपनी दुनिया, पहाड़ों, घाटियों और महासागरों के सिद्धांतों को प्रतिरूपित कर रहे हैं।


 * नोट: कंप्यूटर ज्यामिति के अतिरिक्त, भौगोलिक आव्युह का उपयोग पृथ्वी के लिए किया जाता है, अर्थात अक्षांश और देशांतर, साथ ही समुद्र तल से ऊँचाई मे किया जाता है। अनुमानित रूपांतरण सरल है - यदि कोई इस तथ्य पर विचार नहीं करता है कि पृथ्वी स्पष्ट गोला नहीं है:
 * $$\begin{pmatrix}

x\\ y\\ z \end{pmatrix}=\begin{pmatrix} (R+{hasl})*\cos({lat})*\cos({long})\\ (R+{hasl})*\cos({lat})*\sin({long})\\ (R+{hasl})*\sin({lat}) \end{pmatrix} $$ आर= पृथ्वी की त्रिज्या [6.378.137m], एलएटी = अक्षांश, दीर्घ = देशांतर, एचएएसएल = समुद्र तल से ऊँचाई है।
 * निम्नलिखित सभी उदाहरण दाएँ हाथ की सिस्टम में प्रयुक्त होते हैं। बाएं हाथ की सिस्टम के लिए संकेतों को आपस में परिवर्तन की आवश्यकता हो सकती है।

सरल प्रतिरूपों के कारणों के लिए दृश्य (घरों, पेड़ों, कारों) के अंदर निहित वस्तुओं को प्रायः अपने लक्ष्य समन्वय सिस्टम (जिसे प्रतिरूप समन्वय सिस्टम या स्थानीय समन्वय सिस्टम भी कहा जाता है) में रूपांकित किया जाता है। इन वस्तुओं को विश्व समन्वय सिस्टम या संपूर्ण दृश्य के वैश्विक समन्वय सिस्टम में समन्वयित करने के लिए, वस्तु आव्युह को अनुवाद, क्रमावर्तन या प्रवर्धन के माध्यम से रूपांतरित किया जाता है। यह संबंधित रूपांतरण आव्युह को गुणा करके किया जाता है। इसके अतिरिक्त वस्तु से कई भिन्न-भिन्न रूपांतरित प्रतियाँ बनाई जा सकती हैं, उदाहरण के लिए पेड़ से जंगल; इस विधि को उदाहरण कहा जाता है।
 * विश्व में विमान का प्रतिरूप रखने के लिए, हम पहले चार आव्युह निर्धारित करते हैं। चूंकि हम त्रि-आयामी अंतरिक्ष में काम करते हैं, इसलिए हमें अपनी गणनाओं के लिए चार-आयामी सजातीय आव्युह की आवश्यकता होती है।

सबसे पहले, हमें तीन क्रमावर्तन आव्युह की आवश्यकता है, अर्थात् तीन विमान अक्षों में से प्रत्येक के लिए (ऊर्ध्वाधर अक्ष, अनुप्रस्थ अक्ष, अनुदैर्ध्य अक्ष) की आवश्यकता होती है।


 * एक्स अक्ष के आसपास सामान्यतः वस्तु समन्वय सिस्टम में अनुदैर्ध्य अक्ष के रूप में परिभाषित है-

$$R_x=\begin{pmatrix} 1 & 0 & 0 & 0\\ 0 & \cos(\alpha) & \sin(\alpha) & 0\\ 0 & -\sin(\alpha) & \cos(\alpha) & 0\\ 0 & 0 & 0 & 1 \end{pmatrix}$$
 * वाय अक्ष के आसपास सामान्यतः वस्तु समन्वय सिस्टम में अनुप्रस्थ अक्ष के रूप में परिभाषित है-

$$R_y=\begin{pmatrix} \cos(\alpha) & 0 & -\sin(\alpha) & 0\\ 0 & 1 & 0 & 0\\ \sin(\alpha) & 0 & \cos(\alpha) & 0\\ 0 & 0 & 0 & 1 \end{pmatrix}$$
 * जेड अक्ष के आसपास सामान्यतः वस्तु समन्वय सिस्टम में ऊर्ध्वाधर अक्ष के रूप में परिभाषित है-

$$R_z=\begin{pmatrix} \cos(\alpha) & \sin(\alpha) & 0 & 0\\ -\sin(\alpha) & \cos(\alpha) & 0 & 0\\ 0 & 0 & 1 & 0\\ 0 & 0 & 0 & 1 \end{pmatrix}$$

हम अनुवाद आव्युह का भी उपयोग करते हैं जो विमान को हमारी विश्वमें वांछित बिंदु पर ले जाता है:

$$T_{x,y,z}=\begin{pmatrix} 1 & 0 & 0 & 0\\ 0 & 1 & 0 & 0\\ 0 & 0 & 1 & 0\\ x & y & z & 1 \end{pmatrix}$$.
 * टिप्पणी: उपरोक्त आव्युह लेख क्रमावर्तन आव्युह के साथ संबंध में आव्युह स्थानान्तरण हैं। स्पष्टीकरण के लिए आगे नीचे देखें ऐसा क्यों है।

अब हम प्रत्येक बिंदु को इन चार आव्युहों से क्रमिक रूप से गुणा करके विश्व आव्युह में वायुयान के शीर्षों की स्थिति की गणना कर सकते हैं। चूंकि संवाहक के साथ आव्युह गुणन अधिक बहुमूल्या (समय लेने वाला) है, इसलिए यह सामान्यतः दूसरा रास्ता अपनाता है, इसमे पहले चार आव्युह को साथ गुणा करता है। दो आव्युह का गुणन और भी बहुमूल्या है, किन्तु पूरे लक्ष्य के लिए मात्र बार निष्पादित किया जाना चाहिए गुणन $$((((v*R_x)*R_y)*R_z)*T)$$ और $$(v*(((R_x*R_y)*R_z)*T))$$ समकक्ष हैं। इसके बाद, परिणामी आव्युह को कोने पर प्रयुक्त किया जा सकता है। व्यवहार में चूंकि लम्बवत के साथ गुणन अभी भी प्रयुक्त नहीं होता है, किन्तु कैमरा आव्युह (नीचे देखें) पहले निर्धारित किए जाते हैं।


 * ऊपर हमारे उदाहरण के लिए, चूंकि, अनुवाद को कुछ भिन्न विधियों से निर्धारित करना होगा, क्योंकि अप (शरीर सापेक्ष दिशा) का सामान्य अर्थ उत्तरी ध्रुव के अतिरिक्त - सकारात्मक Z अक्ष हमारी परिभाषा के साथ मेल नहीं खाता है और इसलिए प्रतिरूप को अवश्य ही पृथ्वी के केंद्र के चारों ओर भी घुमाया जा सकता है: $$T_{Kugel} = T_{x,y,z}(0,0,R+{hasl})*R_y(\Pi/2-{lat})*R_z({long})$$ पहला चरण प्रतिरूप की मूल को पृथ्वी की सतह के ऊपर सही ऊंचाई तक धकेलता है, फिर इसे अक्षांश और देशांतर से घुमाया जाता है।

जिस क्रम में आव्युह प्रयुक्त होते हैं वह महत्वपूर्ण है, क्योंकि आव्युह गुणन क्रमविनिमेय नहीं है। यह तीन घुमावों पर भी प्रयुक्त होता है, जिसे उदाहरण के माध्यम से प्रदर्शित किया जा सकता है: बिंदु (1, 0, 0) X-अक्ष पर स्थित है, यदि कोई इसे पहले X- के चारों ओर 90° पर घुमाता है, तो यह Z-अक्ष पर समाप्त होता है (X-अक्ष के चारों ओर घूमने का उस बिंदु पर कोई प्रभाव नहीं पड़ता है जो अक्ष पर है)। यदि, दूसरी ओर कोई बिंदु पहले Y-अक्ष के चारों ओर और फिर X-अक्ष के चारों ओर घूमता है, तो परिणामी बिंदु Y-अक्ष पर स्थित होता है। अनुक्रम स्वयं इच्छानुसार है जब तक कि यह सदैव समान रहता है। सर्व प्रथम x उसके बाद y, तत्पश्चात z (घुमाव, सतह, शीर्षक) के साथ अनुक्रम प्रायः सबसे सहज होता है, क्योंकि घुमाव के कारण दिशा सूचक यंत्र की दिशा नाक की दिशा से मेल खाती है।

इन आव्युह को परिभाषित करने के लिए दो समझौता भी हैं, जो इस बात पर निर्भर करता है कि आप स्तम्भ संवाहक या रेखा संवाहक के साथ काम करना चाहते हैं कि नहीं। यहां भिन्न-भिन्न आलेखी निर्देश योग्य संग्रह की भिन्न-भिन्न प्राथमिकताएं हैं। ओपनजीएल स्तम्भ संवाहक निर्देशन एक्स पंक्ति संवाहक पसंद करता है। निर्णय यह निर्धारित करता है कि किस ओर से बिंदु संवाहक को परिवर्तन आव्युह के माध्यम से गुणा किया जाना है। स्तम्भ संवाहक के लिए, गुणन दाईं ओर से किया जाता है, अर्थात $$v_{out} = M * v_{in}$$, जहां vout और vin 4x1 स्तम्भ संवाहक हैं। आव्युह का संयोजन भी दाएं से बाएं की ओर किया जाता है, उदाहरण के रूप मे $$M = T_x * R_x$$, जब पहले घूमता है और फिर परिवर्तन होता है।

पंक्ति संवाहक की स्थितियों में, यह ठीक इसके विपरीत काम करता है। गुणन अब बाईं ओर से होता है 1x4-पंक्ति संवाहक के साथ $$v_{out} = v_{in} * M$$ के रूप मे होता है, और जब हम पहले घूमते हैं और फिर बढ़ते हैं, तो संयोजन $$M = R_x * T_x$$ होता है। ऊपर दिखाए गए आव्युह दूसरे स्थितियों के लिए मान्य हैं, जबकि स्तम्भ संवाहक के लिए स्थानांतरित हैं। नियम $$(v*M)^{T} = M^{T}*v^{T}$$ प्रयुक्त होता है, जो संवाहक के साथ गुणा के लिए प्रयोजन है कि आप आव्युह को स्थानांतरित करके गुणन क्रम को परिवर्तित कर सकते हैं।

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

इस तरह से गणना की गई आव्युह को विश्व आव्युह भी कहा जाता है। इसे प्रतिपादन करने से पहले विश्वकी प्रत्येक वस्तु के लिए निर्धारित किया जाना चाहिए। आवेदन यहां परिवर्तन कर सकता है, उदाहरण के रूप मे प्रत्येक रचना के बाद गति के अनुसार विमान की स्थिति परिवर्तित करे।

कैमरा परिवर्तन
वस्तुओं के अतिरिक्त, दृश्य वास्तविक कैमरा या दर्शक को भी परिभाषित करता है जो उस दृश्य की स्थिति और दिशा को इंगित करता है जिसके सापेक्ष दृश्य प्रस्तुत किया जाता है। दृश्य को रूपांतरित किया जाता है जिससे कैमरा मूल रूप से Z अक्ष के साथ दिख रहा हो। परिणामी समन्वय सिस्टम को कैमरा समन्वय सिस्टम कहा जाता है और परिवर्तन को कैमरा परिवर्तन या दृश्य परिवर्तन कहा जाता है।


 * दृश्य आव्युह सामान्यतः कैमरे की स्थिति, लक्ष्य बिंदु (जहां कैमरा दिखता है) और ऊँचे संवाहक (दर्शक के दृष्टिकोण से ऊपर) से निर्धारित होता है। पहले तीन सहायक संवाहक आवश्यक हैं:
 * Zaxis = normal(cameraPosition - cameraTarget)
 * Xaxis = normal(cross(cameraUpVector, Zaxis))
 * Yaxis = cross(Zaxis, Xaxis )
 * सामान्य (v) के साथ = संवाहक v का सामान्यीकरण;
 * रेखित (v1, v2) = v1 और v2 का रेखित परिणाम।


 * अंत में आव्युह:
 * $$\begin{pmatrix}

{xaxis}.x & {yaxis}.x & {zaxis}.x & 0\\ {xaxis}.y & {yaxis}.y & {zaxis}.y & 0\\ {xaxis}.z & {yaxis}.z & {zaxis}.z & 0\\ -{dot}({xaxis}, {cameraPosition}) & -{dot}({yaxis},{cameraPosition}) & -{dot}({zaxis},{cameraPosition}) & 1 \end{pmatrix}$$
 * बिंदु (v1, v2) = v1 और v2 के बिंदु परिणाम के साथ उपयोग किया जाता है।

प्रक्षेपण
3 डी प्रक्षेपण चरण दृश्य प्रबलता को परिस्थिति बिंदु समकक्ष (-1, -1, 0) और (1, 1, 1) के साथ घनक्षेत्र में परिवर्तित कर देता है; कभी-कभी अन्य लक्ष्य मात्राओं का भी उपयोग किया जाता है। इस चरण को प्रक्षेपण कहा जाता है, तथापि यह प्रबलता को दूसरे प्रबलता में परिवर्तित कर देता है, क्योंकि परिणामी Z आव्युह छवि में संग्रहीत नहीं होते हैं, किन्तु मात्र बाद के रेखा पुंजो चरण में z-बुफ्फ्रिंग में उपयोग किए जाते हैं। परिप्रेक्ष्य (दृश्य) में केंद्रीय प्रक्षेपण का उपयोग किया जाता है। प्रदर्शित वस्तुओं की संख्या को सीमित करने के लिए, दो अतिरिक्त स्थिरण विमानों का उपयोग किया जाता है; इसलिए दृश्य आयतन छोटा पिरामिड ( स्तंभस्थूण) है। समानांतर या ऑर्थोगोनल प्रक्षेपण का उपयोग किया जाता है, उदाहरण के लिए, विधि अभिवेदन के लिए क्योंकि इसका लाभ यह है कि लक्ष्य अंतराल में सभी समानताएं छवि अंतराल में भी समानांतर होती हैं, और दर्शक से दूरी की उपेक्षा के साथ सतह और प्रबलता समान आकार के होते हैं। मानचित्र उदाहरण के लिए, ओर्थोगोनल प्रक्षेपण (तथाकथित ऑर्थोफोटो) का उपयोग करते हैं, किन्तु परिदृश्य की तिरछी छवियों का उपयोग इस तरह से नहीं किया जा सकता है - चूंकि उन्हें विधि रूप से प्रस्तुत किया जा सकता है, वे इतने विकृत लगते हैं कि हम उनका कोई उपयोग नहीं कर सकते।परिप्रेक्ष्य मानचित्रण आव्युह की गणना करने का सूत्र है:

$$\begin{pmatrix} w & 0 & 0 & 0\\ 0 & h & 0 & 0\\ 0 & 0 & {far}/({near-far}) & -1\\ 0 & 0 & ({near}*{far}) / ({near}-{far}) & 0 \end{pmatrix}$$
 * h = कोट (दृश्य का क्षेत्र / 2.0) (कैमरे का अपर्चर कोण) के साथ; w = h / स्वरूप अनुपात (लक्षित छवि का स्वरूप अनुपात); समीप = दिखाई देने वाली सबसे छोटी दूरी; दूर = दिखाई देने वाली सबसे लंबी दूरी है।

यहां सबसे छोटी और सबसे बड़ी दूरी क्यों दी जानी चाहिए अथार्त, तरफ इस दूरी को दृश्य के प्रवर्धन तक पहुंचने के लिए विभाजित किया गया है (निकट की वस्तुओं की तुलना में अधिक दूर की वस्तुएं परिप्रेक्ष्य छवि में छोटी हैं), और दूसरी ओर Z- प्रतिरोधक भरण के लिए Z मानों को 0..1 की श्रेणी में नाप करने के लिए है। इस प्रतिरोधक में प्रायः 16 बिट्स का प्रस्ताव होता है, यही वजह है कि निकट और दूर के मूल्यों को सावधानी से चुना जाना चाहिए। Z-प्रतिरोधक के कम प्रस्ताव के कारण निकट और दूर के मान के बीच बहुत बड़ा अंतर तथाकथित Z- संघर्ष की ओर ले जाता है। सूत्र से यह भी देखा जा सकता है कि निकट मान 0 नहीं हो सकता, क्योंकि यह बिंदु प्रक्षेपण का केंद्र बिंदु है। इस बिंदु पर कोई चित्र नहीं है।

पूर्णता के लिए, समांतर प्रक्षेपण (ऑर्थोगोनल प्रक्षेपण) के लिए सूत्र:

$$\begin{pmatrix} 2.0/w & 0 & 0 & 0\\ 0 & 2.0/h & 0 & 0\\ 0 & 0 & 1.0/({near-far}) & -1\\ 0 & 0 & {near} / ({near}-{far}) & 0 \end{pmatrix}$$
 * w = लक्ष्य घन की चौड़ाई (विश्व समन्वय सिस्टम की इकाइयों में आयाम), h = w स्वरूप अनुपात (लक्षित छवि का स्वरूप अनुपात), निकट = दिखाई देने वाली सबसे छोटी दूरी; दूर = दिखाई देने वाली सबसे लंबी दूरी।

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

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

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

क्लिपिंग


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

विंडो-दृश्य पत्तन परिवर्तन
छवि को पटल के किसी भी लक्ष्य क्षेत्र (दृश्य पत्तन) में आउटपुट करने के लिए अन्य परिवर्तन, विंडो-दृश्य पत्तन परिवर्तन प्रयुक्त किया जाना चाहिए। यह परिवर्तन है, जिसके बाद प्रवर्धन है। परिणामी आव्युह आउटपुट उपकरण के उपकरण आव्युह हैं। दृश्य पत्तन में 6 मान होते हैं: पिक्सेल में विंडो की ऊँचाई और चौड़ाई, विंडो आव्युह में विंडो के ऊपरी बाएँ कोने (सामान्यतः 0, 0) और Z के लिए न्यूनतम और अधिकतम मान (सामान्यतः 0 और 1) है।


 * औपचारिक रूप से: $$\begin{pmatrix}

x\\ y\\ z \end{pmatrix}=\begin{pmatrix} {vp}.X+(1.0+v.X)*{vp}.{width}/2.0\\ {vp}.Y+(1.0-v.Y)*{vp}.{height}/2.0\\ {vp}.{minz}+v.Z*({vp}.{maxz} - {vp}.{minz}) \end{pmatrix}$$
 * vp = दृश्य पत्तन के साथ; v = प्रक्षेपण के बाद बिंदु

आधुनिक हार्डवेयर पर, ज्यामिति गणना के अधिकांश चरण शीर्ष छायांकन में किए जाते हैं। यह, सिद्धांत रूप में, स्वतंत्र रूप से निर्देशयोग्य करने योग्य है, किन्तुसामान्यतः कम से कम बिंदुओं के परिवर्तन और प्रकाश की गणना करता है। निर्देशन X निर्देश अंतराफलक के लिए, संस्करण 10 से प्रचलन शीर्ष छायांकन का उपयोग आवश्यक है, जबकि पुराने संस्करणों में अभी भी मानक छायांकन है।

रेखांकन
रेखांकन चरण खंड छायांकन पाइपलाइन से पहले का अंतिम चरण है जिसके साथ सभी मूल रेखांकन होते हैं। रेखांकन चरण में निरंतर प्राथमिक से असतत टुकड़े बनाए जाते हैं।

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

यह रोकने के लिए कि उपयोगकर्ता प्राथमिक के क्रमिक रेखांकन को देखता है, दोहरी बफ़रिंग होती है। रेखांकन विशेष मैमोरी क्षेत्र में किया जाता है। बार जब छवि पूरी तरह से रेखापुंज हो जाती है, तो इसे छवि मेमोरी के दृश्य क्षेत्र में प्रतिलिपि किया जाता है।

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

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

सबसे महत्वपूर्ण छायांकन इकाइयां शीर्ष छायांकन, ज्यामिति छायांकन और पिक्सेल छायांकन हैं।

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

जीपीयू पर ग्राफिक के प्रदर्शन से बाहर कोई भी गणना करने के लिए तथाकथित कंप्यूट-छायांकन का उपयोग करना भी संभव है। लाभ यह है कि वे बहुत समानांतर चलते हैं, किन्तु इसकी सीमाएँ हैं। इन सार्वभौमिक गणनाओं को ग्राफिक्स प्रोसेसिंग इकाई पर सामान्य-उद्देश्य कंप्यूटिंग या संक्षेप में जीपीजीपीयू भी कहा जाता है।

यह भी देखें

 * पाइपलाइन (कंप्यूटिंग)
 * निर्देश पाइपलाइनिंग
 * हार्डवेयर एक्सिलरेशन