2011-03-24 12 views
5

मैं सोच रहा था कि एचएलएसएल में उन इनपुट और आउटपुट सेमेन्टिक्स क्या हैं? यानी मुझे टेक्सकोर्ड 0 क्यों लिखना है;डायरेक्टएक्स/एचएलएसएल इनपुट और आउटपुट सेमेन्टिक्स क्या हैं?

struct VS_OUTPUT 
{ 
    float2 tc : TEXCOORD0; 
}; 

जब प्रकार और नाम पहले से ही दिया गया है?

उत्तर

2

सेमेन्टिक्स शेडर को पता है कि डेटा कहां से पढ़ना या लिखना है। वे कशेरुक संरचना या कुछ मूल्यों के हिस्सों से मेल खाते हैं।

उपरोक्त आपके उदाहरण में, tc का मान पहले बनावट समन्वय घटक से आता है।

अर्थ विज्ञान के बारे में जानकारी और उनके अर्थ के लिए, यहाँ की जाँच करें: http://msdn.microsoft.com/en-us/library/bb509647(v=vs.85).aspx

शिखर शेडर में, डेटा FVF या vertex declaration से आ रहे हैं।

+0

अच्छी तरह से, लेकिन कशेरुक से पिक्सेलशैडर तक डेटा पास करने के लिए मैं स्वतंत्र रूप से कौन से अर्थशास्त्र का उपयोग करना चुन सकता हूं, है ना? उदाहरण के लिए एक सामान्य वेक्टर के लिए मैं COLOR4 का उपयोग कर सकता हूं। – clamp

+0

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

+0

ठीक है, यह समझ में आता है। धन्यवाद! – clamp

संबंधित मुद्दे