2012-10-23 20 views
6

मैं ओपनजीएल के साथ अपनी 2 डी जीयूआई लाइब्रेरी प्रोग्रामिंग कर रहा हूं और मैं उस चरण में हूं जहां मेरे पास कंटेनर नियंत्रण है जिसमें ग्राफिक्स तत्व (गोलाकार आयत या स्टार की तरह) और अन्य बच्चे हो सकते हैं नियंत्रण ... आदि ... मैं अभिभावक नियंत्रण में बाल नियंत्रण और ग्राफिक्स तत्वों के प्रतिपादन को क्लिप करने का प्रयास करता हूं। तो यदि कोई बच्चा नियंत्रण कंटेनर सीमाओं को बहता है, तो इसे प्रस्तुत नहीं किया जाता है।ओपनजीएल 2 डी आयताकार क्षेत्र क्लिपिंग

मेरा पहला विचार वेब खोजते समय इसे खोजने के बाद "कैंची परीक्षण" का उपयोग करना था। लेकिन समस्या यह है कि मैं एक आयताकार क्लिपिंग के लिए बाध्य हूं और मैं एक सितारा बहुभुज आकार की तरह एक मनमाना क्षेत्र में सामग्री को क्लिप करने में सक्षम होना चाहता हूं।

मैं एक विचार है ...

जब यह पल एक नियंत्रण और इसके ग्राफिक्स तत्वों आकर्षित करने के लिए है, मैं अगर मेरे नियंत्रण अपनी सामग्री क्लिप या नहीं होना चाहिए देखो। यदि हां, तो मैं इसे ऑफ-स्क्रीन बनावट में एक काले रंग की पृष्ठभूमि पर एक समान सफेद रंग के साथ खींचता हूं। फिर मैं इसे एक शेडर कार्यक्रम में भेजता हूं। इसलिए मैं अपने शेडर को सक्रिय करने के साथ प्रत्येक बच्चे (नियंत्रण और ग्राफिक्स तत्व) प्रस्तुत करता हूं। प्रत्येक टुकड़े के लिए, इस टुकड़े शेडर में, मुझे लगता है कि पहले पारित विशेष बनावट में एक ही समन्वय को देखते हुए। यदि विशेष बनावट में टुकड़ा सफेद है, तो मैं इस खंड को प्रस्तुत कर सकता हूं क्योंकि यह दृश्य क्षेत्र में है।

क्या आपको लगता है कि यह काम कर सकता है? क्या यह एक अच्छा विचार है या क्या कोई बेहतर है?

उत्तर

2

यह आपकी आवश्यकताओं के आधार पर कुछ तरीकों से किया जा सकता है। बनावट या स्टैंसिल बफर को प्रस्तुत करना शायद सबसे अच्छा शर्त होगा।

OpenGL clipping

+1

हाय और आपके उत्तर के लिए धन्यवाद: इस लिंक और अधिक जानकारी प्राप्त करने के लिए आप शुरू कर दिया है। मैंने इस स्टैंसिल समाधान को पढ़ना और देखा। मैंने कभी इसके साथ काम नहीं किया, लेकिन मुझे लगता है कि एक शेडर समाधान से लागू करना आसान होगा। – user1768815

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