वर्टेक्स शेडर में, निश्चित रूप से सीमित संख्या वर्दी स्टोरेज की अनुमति है, और यह मेरी समझ है कि अलग-अलग सिस्टम कोडिंग संकलन के मामले में जीएलएसएल को थोड़ा अलग तरीकों से लागू कर सकते हैं। मैंने कशेरुक शेडर कोड में अक्षर लिखने के बजाय स्थिरांक का उपयोग करने की सिफारिश सुनी है।वर्टेक्स शेडर में अक्षर के बजाय स्थिरांक घोषित करना। मानक अभ्यास, या अनावश्यक कठोरता?
उदाहरण के लिए, निम्नलिखित कोड माना जाता है परिणामस्वरूप उपलब्ध वर्दी संग्रहण में कमी आई है। (मैं काफी कैसे समझ में नहीं आता।)
उदाहरण 1: शाब्दिक
vec4 myVector = vec4(1.0, 0.0, 0.0, 1.0);
मेरी समझ के लिए
के साथ, वहाँ संभावना है कि 1.0
या 0.0
में से प्रत्येक के उपयोग वर्दी के कुछ राशि लेता है स्टोरेज की जगह।
उदाहरण 2:: शाब्दिक बजाय स्थिरांक के साथ
const float zero = 0.0;
const float one = 1.0;
vec4 myVector = vec4(one, zero, zero, one);
किसी को क्या हो रहा है के पीछे तर्क समझ में है सिफारिश के बाद की तरह कुछ में है कि पिछले कोड चालू करने के लिए इसलिए है? मुझे कोड के साथ कोई समस्या नहीं है, मैं बस सामान को सही ढंग से समझने की कोशिश कर रहा हूं ताकि मुझे भविष्य में कोई समस्या न हो। विशेष रूप से आईओएसओपन ES 2.0 का उपयोग कर मंच के लिए, सबसे अच्छा अभ्यास शाब्दिक (उदाहरण 1), या स्थिरांक के साथ (उदाहरण के 2 के साथ बात को लिखने के लिए है:
मेरे औपचारिक सवाल पीछा कर रहा है)। क्या मुझे अपना समय हर समय स्थिरांक के साथ लिखने में व्यतीत करना चाहिए, या क्या मुझे अक्षर लिखना चाहिए और केवल कंटेंट का उपयोग करना चाहिए यदि वर्टेक्स शेडर ठीक से संकलित करने में विफल रहता है?
धन्यवाद!
क्या आप बाइनरी को देख सकते हैं और देख सकते हैं कि कोई अंतर है या नहीं? –