टेसलेशन बनाम ज्योमेट्री शेडर


11

अगर मैं गलत हूं तो मुझे सुधारें, लेकिन रेखागणित Shader और Tessellation Shader दोनों नौकरियां ग्राफिक रेखा में वर्टिकल उत्पन्न करने के लिए हैं। मैं क्या जानना चाहूंगा कि वे कैसे अलग हैं और मुझे एक दूसरे पर कब उपयोग करना चाहिए?


6
मैं एक पूर्ण उत्तर लिखने में बहुत आलसी महसूस कर रहा हूं, लेकिन इसका सार यह है कि ज्यामिति शेडर एक बहुत छोटे, निश्चित प्रवर्धन स्तर के लिए है, जहां
टेसलेशन

जवाबों:


14

वास्तव में नहीं, ज्यामिति shader (GS) का 'कार्य' आदिम मूल्यांकन है।

ज्योमेट्री शेड्स टेसलेट कर सकते हैं, लेकिन वे सीमित हैं) आउटपुट तत्वों की संख्या पर एक इन-प्रोसेस ऊपरी सीमा, और बी) निष्पादन एक ही shader के भीतर ... बेशक shader 2 अंक जारी करता है, लेकिन समग्र ज्यामिति shaders हैं आदिम मूल्यांकन और / या मूल्य प्रक्षेप से अधिक प्रभावी वे tessellation पर हैं।

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

डैनियल रैकोस का GS / TS विकास पर एक अच्छा लेख है: हार्डवेयर टेसेलेशन का इतिहास

जब प्रत्येक को लागू करने का एक मामला है, 'नौकरी के लिए सही उपकरण का उपयोग करें' और यहां बताया गया है: वीएस / जीएस / एफएस में सही ढंग से मूल्यांकन करने वाली आदिम प्राप्त करने के लिए एक टसेलेटेटर के बिना एक मोटा मसौदा पाइपलाइन का निर्माण। दृश्य-या दृश्य-आधारित टसेलेशन को अलग करें, फिर प्राइमिटिज़ को सघन करने के लिए जीएस के आगे टीएस डालें, जो तब आपके पहले से डिज़ाइन किए गए जीएस को पास किए जाते हैं। यदि आप एक अलग टीएस की कोशिश करना चाहते हैं, तो एक वैकल्पिक निर्माण करें और इसे पाइप लाइन में स्वैप करें ... आप एक आदिम जीएस का उपयोग गतिशील रूप से एक आदिम गुणों के आधार पर सही टीएस का चयन करने के लिए कर सकते हैं!

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.