जवाब है, यह थोड़े निर्भर करता है।
मूल रूप से विचार के दो स्कूल हैं; सब कुछ के लिए छोटे, इष्टतम shaders और uber-shader शिविर।
छोटे शेड्स बस वही हैं; एक काम करो, और इसे अच्छे से करो। उबेर-शेडर्स या तो वर्दी के माध्यम से रनटाइम पर अपनी कार्यक्षमता को नियंत्रित करते हैं, या प्रीप्रोसेसर मैक्रोज़ (और / या उत्पन्न shader स्रोतों) के माध्यम से विभिन्न शेड्स के एक समूह में संकलित करते हैं।
इष्टतम समाधान शायद न तो है, लेकिन किसी प्रकार का संकर है। शायद कुछ uber-shaders या uber-shaders कुछ मामलों के लिए विशेष shaders के साथ संयुक्त हैं।
छोटा शेडर
पेशेवरों:
- तेजी से / अधिक इष्टतम होने की संभावना है
- सिर्फ वही करता है जो आप करना चाहते हैं
- अजीब, कस्टम सामान आसानी से कर सकते हैं
विपक्ष:
- आसानी से हाथ से निकल जाता है, खासकर जब सुविधाओं की संख्या बढ़ती है
- संभवतः अधिक काम, जब तक कि आपके पास बहुत कम संख्या में शेड न हों
उबेर-शेडर
पेशेवरों:
- एक जगह सब कुछ
- अधिक कलाकार-अनुकूल (पहली बार फीचर एक्स के साथ फीचर ए का उपयोग करने के लिए जरूरी नहीं कि कोडर समय की आवश्यकता हो)
विपक्ष:
- लंबे समय तक छायादार संकलन समय
- कम इष्टतम परिणाम (esp। यदि वर्दी का उपयोग सुविधाओं को चालू / बंद करने के लिए किया जाता है)
- डिबग / ऑप्टिमाइज़ करना अधिक कठिन हो सकता है