2010-06-26 13 views
5

में पारदर्शी बहुभुज कैसे आकर्षित करें मुझे आपकी सहायता चाहिए। मुझे पता है कि ओपनजीएल में अल्फा है, और यह मुझे पॉलीगॉन को पारदर्शी मोड पर आकर्षित करने में मदद करता है, लेकिन मुझे नहीं पता कि यह कैसे करना है, ओपेनजीएल को उस पॉलीगॉन को आकर्षित करने की अनुमति देने में क्या सक्षम होना चाहिए।ओपनजीएल

और किसी भी मदद के लिए धन्यवाद।

+6

आपको matias.valdenegro के उत्तर को स्वीकार करने के लिए टिक पर क्लिक करना चाहिए :) –

उत्तर

14

यह सरल है:

glEnable(GL_BLEND); //Enable blending. 
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); //Set blending function. 

कि बुनियादी है, कि समारोह सम्मिश्रण बुनियादी है और आप के लिए ठीक होना चाहिए, लेकिन वहाँ दूसरों रहे हैं।

फिर, आपको यह सुनिश्चित करने की ज़रूरत है कि आपकी विंडो/फ्रेमबफर में अल्फा चैनल है, और आपके द्वारा खींचे गए बहुभुज में अल्फा जानकारी भी होती है।

+0

धन्यवाद आदमी यह अच्छा था। – Hitman

6

यह ठीक है जैसे मतिस कहते हैं, लेकिन आपको यह भी याद रखना चाहिए कि "पारदर्शिता" कार्य को प्राप्त करने के लिए, दृश्य में सभी गैर-पारदर्शी प्राइमेटिव पहले खींचे जाने चाहिए, और पारदर्शी लोगों को खींचा जाना चाहिए सही क्रम में, ज़ेड-बफर के पीछे से आगे की तरफ।

इसका कारण यह है कि ओपनजीएल वास्तव में पारदर्शिता का समर्थन नहीं करता है, यह अल्फा-ब्लेंडिंग के माध्यम से इसे अनुकरण करता है, और इसलिए यदि एक नई वस्तु को पहले से ही प्रस्तुत किए जाने के बाद "पारदर्शी" आदिम के पीछे खींचा जाता है, तो नया ऑब्जेक्ट इसके माध्यम से दिखाई नहीं देगा।