लघु:जीएलएसएल पुन: प्रयोज्य/साझा फ़ंक्शंस, साझा स्थिरांक (ओपनजीएल ईएस 2.0)?
क्या मैं एक ऐसे फ़ंक्शन को परिभाषित कर सकता हूं जो प्रत्येक शेडर उपयोग कर सके? या मुझे प्रति शेडर को परिभाषित करना है?
पूरी कहानी:
मैं पूर्वनिर्धारित ढाल रैंप के साथ इनपुट टुकड़े colorize करने के लिए (- http://www.thinkboxsoftware.com/storage/krakatoa-support-images/krakatoa15_kcm_densitybyage_gradientrampmap.png कुछ इस तरह) का इरादा कई shaders बनाना चाहते हैं।
मैं हर शेडर के लिए एक ढाल रैंप लगातार परिभाषित करने के लिए (vec4 रंग नमूने की एक सरणी, जहां अल्फा मूल्य ढाल स्थान रखता है, ऊपर चित्र में स्थिति देखें)
चाहते और मैं की जरूरत है एक फ़ंक्शन जो किसी विशेष बनावट समन्वय स्थिति के लिए दिए गए ग्रेडियेंट रैंप से रंग नमूना लौटा सकता है।
तो रैंप शेडर प्रति एक बार परिभाषित करने की आवश्यकता है, और समारोह परिभाषित सभी को एक बार है कि हर शेडर सुरक्षित रूप से उपयोग कर सकते हैं होना चाहिए।
मेरे पास एल्गोरिदम हैं, प्रश्न साझाकरण कार्यों के लिए है, और जीएलएसएल में स्थिरांक परिभाषित करता है।
क्या यह संभव है? या मुझे फ़ंक्शन को हर शेडर में कॉपी करना होगा? क्या कम से कम कुछ प्रीकंपाइल विकल्प है?
वाह, अच्छा लगता है, मैं इसे आज़माउंगा। – Geri