अगर मैं गलत हूं तो मुझे सुधारें, लेकिन रेखागणित Shader और Tessellation Shader दोनों नौकरियां ग्राफिक रेखा में वर्टिकल उत्पन्न करने के लिए हैं। मैं क्या जानना चाहूंगा कि वे कैसे अलग हैं और मुझे एक दूसरे पर कब उपयोग करना चाहिए?
अगर मैं गलत हूं तो मुझे सुधारें, लेकिन रेखागणित Shader और Tessellation Shader दोनों नौकरियां ग्राफिक रेखा में वर्टिकल उत्पन्न करने के लिए हैं। मैं क्या जानना चाहूंगा कि वे कैसे अलग हैं और मुझे एक दूसरे पर कब उपयोग करना चाहिए?
जवाबों:
वास्तव में नहीं, ज्यामिति shader (GS) का 'कार्य' आदिम मूल्यांकन है।
ज्योमेट्री शेड्स टेसलेट कर सकते हैं, लेकिन वे सीमित हैं) आउटपुट तत्वों की संख्या पर एक इन-प्रोसेस ऊपरी सीमा, और बी) निष्पादन एक ही shader के भीतर ... बेशक shader 2 अंक जारी करता है, लेकिन समग्र ज्यामिति shaders हैं आदिम मूल्यांकन और / या मूल्य प्रक्षेप से अधिक प्रभावी वे tessellation पर हैं।
तुलनात्मक रूप से, टेसलेशन शेड्स (TS) को विशेष रूप से ज्यामिति घनत्व का प्रदर्शन करने के लिए पेश किया गया था ताकि वे अच्छा प्रदर्शन करें, एल्गोरिदम के एक कभी चौड़े सरणी के लिए मजबूत हैं, (दंडित उद्देश्य) और वे आउटपुट बाउंडेड बफ़र्स द्वारा कम सीमित हैं।
डैनियल रैकोस का GS / TS विकास पर एक अच्छा लेख है: हार्डवेयर टेसेलेशन का इतिहास
जब प्रत्येक को लागू करने का एक मामला है, 'नौकरी के लिए सही उपकरण का उपयोग करें' और यहां बताया गया है: वीएस / जीएस / एफएस में सही ढंग से मूल्यांकन करने वाली आदिम प्राप्त करने के लिए एक टसेलेटेटर के बिना एक मोटा मसौदा पाइपलाइन का निर्माण। दृश्य-या दृश्य-आधारित टसेलेशन को अलग करें, फिर प्राइमिटिज़ को सघन करने के लिए जीएस के आगे टीएस डालें, जो तब आपके पहले से डिज़ाइन किए गए जीएस को पास किए जाते हैं। यदि आप एक अलग टीएस की कोशिश करना चाहते हैं, तो एक वैकल्पिक निर्माण करें और इसे पाइप लाइन में स्वैप करें ... आप एक आदिम जीएस का उपयोग गतिशील रूप से एक आदिम गुणों के आधार पर सही टीएस का चयन करने के लिए कर सकते हैं!