2008-12-26 20 views
9

क्या additive रंग ओवरले प्राप्त करने के लिए मिश्रण स्थापित करने के लिए opengl में संभव है?योजक रंग ओवरले के लिए मिश्रण कैसे सेट करें?

लाल + हरा = पीले, सियान + मैजेंटा = सफेद, आदि .. (diagram देख)

+4

उहम ... मुझे नहीं लगता कि साइयन + मैजेंटा = सफेद। आर + जी + बी = सफेद –

+3

जी + बी = सी, और आर + बी = एम, तो सी + एम जी + बी + आर + बी के बराबर है। जैसा कि आप प्राप्त कर सकते हैं उतना सफेद है। –

उत्तर

15
glEnable(GL_BLEND); 
glBlendFunc(GL_SRC_ALPHA, GL_ONE); 

यह करना चाहिए।

glBlendFunc

संपादित का पूरा विवरण पर एक नज़र डालें: Old tutorial link मृत होने का (403 निषिद्ध) लगता है। Wayback'd

+0

पहला लिंक त्रुटि 403 देता है और दूसरा लिंक त्रुटि 404 देता है। मुझे लगता है कि यह मेरा दिन नहीं है ... –

+0

दूसरा लिंक अपडेट किया गया, इसे इंगित करने के लिए धन्यवाद। ट्यूटोरियल लिंक को घुमाने के लिए – schnaader

+0

धन्यवाद, genpfault। – schnaader

4

ग्लोबब्लेंडफनक (GL_ONE, GL_ONE) के साथ सरल योजक मिश्रण प्राप्त किया जाता है। आपको इस तथ्य से अवगत होना चाहिए कि ओपनजीएल की रंग मान सीमा [0,1] तक सीमित है, और 1 से अधिक मान 1 पर क्लैंप किए जाएंगे, इसलिए चमकदार रंग जोड़कर शारीरिक रूप से सही मिश्रित रंग नहीं हो सकते हैं। यदि आप इसे प्राप्त करना चाहते हैं, तो आपको OpenGL को संभालने के बजाय अपने सॉफ़्टवेयर में रंग जोड़ना और स्केल करना होगा, या एक शेडर प्रोग्राम लिखना होगा जो प्रतिपादन करते समय करता है।

संबंधित मुद्दे