के बाद वर्दी का व्यवहार glUseProgram() कितना तेज़ है? वहाँ कुछ भी बेहतर है (तेज) ?:glUseProgram() और गति
यहाँ मेरे विचार कर रहे हैं:
- उपयोग 1 सार्वभौमिक शेडर कार्यक्रम है, लेकिन (प्रत्येक ग्राफिक्स वर्ग के लिए सेटिंग्स) कई अक्षर सेटिंग और विशेषताओं
- उपयोग की तुलना में अधिक के साथ प्रत्येक ग्राफिक्स वर्ग के लिए 1 शेडर
शेडर प्रोग्राम बदलने के बाद वर्दी क्या है? क्या वे मूल्यों को बचाते हैं (उदाहरण के लिए, matrices के मूल्य)?
- glUseProgram उपयोग नहीं करता है()
और # 2 के लाभ:
- नहीं
यहाँ है कि मैं क्या होने के लिए # 1 के लाभ पर विचार कर रहे हैं मैट्रिक्स परिवर्तन (उदाहरण के लिए, यदि कक्षा
Menu
और कक्षाScene3D
में विभिन्न प्रक्षेपण मैट्रिक्स हैं)
"दो विकल्पों में से कौन सा बेहतर है जो बड़े पैमाने पर उन शेडर्स पर निर्भर करता है" - कार्य सरल है - बिना किसी प्रभाव के टेक्स्टिंग के साथ प्रतिपादन (केवल कुछ को शेडर प्रभाव होना चाहिए)। –
अगर कुछ बहुत ही सरल हैं और कुछ का असर पड़ता है, तो मेरे पास सिर्फ टेक्सचरिंग (ओपेंग ग्ल 2.x या ऊपर मानते हुए) और प्रति प्रभाव वर्ग के साथ एक साधारण शेडर होगा। लेकिन वास्तव में और जानने के बिना न्याय करना मुश्किल है। यह शायद बड़ी तस्वीर में ज्यादा मायने रखता नहीं है। जब तक आपके पास प्रदर्शन की समस्या न हो और पता न हो कि यह राज्य परिवर्तनों के कारण है, तो बस अधिक सुविधाजनक क्या करें। – haffax
यूनिफ़ॉर्म बफर ऑब्जेक्ट का उपयोग करके प्रोग्राम के बीच वर्दी साझा की जा सकती है (उदाहरण के लिए। [साझा वर्दी] (http://arcsynthesis.org/gltut/Positioning/Tut07%20Shared%20Uniforms.html)) – stativ