वेबग्ल का उपयोग करके मुझे अपने दृश्य को प्रस्तुत करने के लिए 3 पास करने की आवश्यकता है। प्रत्येक पास एक ही ज्यामिति और शेडर्स चलाता है लेकिन कुछ वर्दी और बनावट के लिए अलग-अलग मूल्य होते हैं।वर्दी बदलने या प्रोग्राम बदलने के लिए बेहतर है?
मुझे लगता है कि दो विकल्प हैं। एक एकल कार्यक्रम "और" प्रत्येक पास के लिए सभी वर्दी और बनावट सेट करें। या 3 "कार्यक्रम" प्रत्येक में एक ही शेडर्स होते हैं, और प्रति कार्यक्रम एक बार सभी आवश्यक वर्दी/शेडर्स सेट करते हैं, और फिर प्रत्येक पास के लिए प्रोग्राम स्विच करते हैं। इसका मतलब यह है कि मैं एक प्रयोग करूँगा मैन सेट के बजाय प्रति पास प्रोग्राम कॉल प्रति पास प्रत्येक पास के लिए निर्दिष्ट कॉल।
क्या यह दूसरी तकनीक तेज होने की संभावना है क्योंकि यह बहुत से सेट्यूनिफ़ॉर्म कॉल से बच जाएगी, या प्रोग्राम को बहुत महंगा बदल रहा है? मैंने कुछ परीक्षण किए हैं लेकिन बहुत ही सरल ज्यामिति के साथ मुझे इस समय प्रदर्शन में कोई अंतर नहीं दिख रहा है क्योंकि सेटअप लागत में कोई अंतर नहीं है।
क्या एक तकनीक को दूसरे पर पसंद करने का कोई कारण है?
मेरा मानना है कि स्विचिंग प्रोग्राम तेजी से होंगे लेकिन मुझे यकीन नहीं है। ओपनजीएल ईएस 3 में।0 उन्होंने वर्दी के संग्रह, 'वर्दी बफर ऑब्जेक्ट' जोड़े, ताकि आप सभी वर्दी को ब्लॉक में सेट कर सकें और फिर एक कॉल में वर्दी के पूरे ब्लॉक को लागू कर सकें। मेरी समझ यह है कि कुछ ड्राइवरों ने कार्यान्वित किया है कि वर्ड के प्रत्येक ब्लॉक के लिए आंतरिक रूप से कई कार्यक्रमों को संग्रहीत करके हुड के तहत। साथ ही यह संभवतः ड्राइवर पर निर्भर करता है जो तकनीक तेज है। ड्राइवर में सामान्य कम कॉल में बेहतर है। – gman
धन्यवाद, मुझे यह जोड़ना चाहिए कि मैंने दोनों कोशिश की है और मेरे आवेदन में अंत में थोड़ा मापनीय अंतर प्रतीत होता है। धन्यवाद। – jcoder