एक जाल में कई बनावटों को लागू करते समय, जैसे कि बंप-मैपिंग के लिए, मैं आमतौर पर बनावट को पहले कुछ निश्चित बनावट इकाइयों से बांधता हूं, उदाहरण के लिए: diffuse = unit 0, bump = unit 1, specular = Unit 2, फिर प्रत्येक को पुन: उपयोग करते रहें। अलग बनावट के साथ अलग जाल। लेकिन मैंने हमेशा सोचा है कि glActiveTexture
इतनी बनावट इकाइयों का समर्थन क्यों करता है (पिछले लिंक में, यह कम से कम 80 कहता है)।
इसलिए मेरे साथ यह हुआ कि बनावट को प्रबंधित करने का एक संभावित तरीका यह है कि प्रत्येक उपलब्ध इकाई के लिए अलग-अलग बनावटों को बाँध कर उन्हें सक्षम बनाया जाए, बस एक समान नमूना सूचकांक को अपडेट किया जाए। यह बनावट स्विच की संख्या को कम करके प्रतिपादन प्रतिपादन में सुधार करना चाहिए। यदि आपके पास अधिकतम बनावट इकाइयों की तुलना में कम बनावट है, तो आपको कभी किसी बनावट को खोलना नहीं है।
क्या यह मानक अभ्यास वास्तविक समय के ओपनजीएल अनुप्रयोगों पर है (मेरा मानना है कि यह डी 3 डी पर भी लागू होता है)? और क्या इस दृष्टिकोण को लेने के कोई गैर-स्पष्ट प्रदर्शन निहितार्थ हैं? मेमोरी ओवरहेड शायद?