2010-11-29 14 views
8

मैं गहराई के प्रकार का उपयोग कर मूल ऑब्जेक्ट पारदर्शिता कर रहा हूं। गहराई के रूप में मैं कैमरे से दूरी (वर्ग) का उपयोग मॉडल के त्रिकोण के प्रत्येक केंद्र में करता हूं, जिसे मैं {(x1 + x2 + x3)/3, (y1 + y2 + y3)/3, (z1 + z2 + z3)/3}। हालांकि परिणाम लगभग ठीक है, लेकिन कुछ गलतियां हैं। no sortingओपनजीएल गहराई सॉर्टिंग

छँटाई sorting

छँटाई के साथ बिना

बंदर सिर वहाँ कुछ भी मैं उन त्रुटियों के बारे में कर सकते हैं?

+1

फिक्स्ड-फ़ंक्शन या प्रोग्राम करने योग्य पाइपलाइन? – genpfault

+0

तय किया गया। मैं दूरी सरणी बना देता हूं, फिर इसे सॉर्ट करता हूं और इंडेक्स सरणी में संबंधित मानों को स्वैप करता हूं, अंत में glDrawElements। – spacevillain

उत्तर

6

त्रिकोणों को सही तरीके से क्रमबद्ध करने का कोई तरीका नहीं है। Opengl.org विकी पर Transparency Sorting आलेख के अंत में उदाहरण देखें।

@kos: Order Independent Transparency with Dual Depth Peeling और Alpha to Coverage पर एक नज़र डालें।

+0

तो फिर भी मनमाने ढंग से पारदर्शिता को सही तरीके से प्रस्तुत करने का कोई भी समाधान नहीं है? – Kos

+1

@ कोस: http://www.yakiimo3d.com/2010/07/19/dx11-order-independent-transparency/ और http://blog.icare3d.org/2010/07/opengl-40-abuffer- v20 से जुड़े सूचियों-of.html – Stringer

2

जब तक आपके पास स्क्रीन-संरेखित कण नहीं होते हैं, तो मनमाने ढंग से त्रिकोणों को क्रमबद्ध करना वास्तव में काफी कठिन होता है। एक आदर्श परिणाम के लिए आपको विभाजन त्रिकोण शुरू करना होगा।

जैसा कि @ टीबुर कहते हैं, आप कुछ साधारण अनुमानों से दूर हो सकते हैं लेकिन order-independent transparency (ओआईटी) भी एक सभ्य समाधान है। हालांकि इसे ओपनजीएल 3 युग ग्राफिक्स फीचर्स की आवश्यकता होती है। मेरे पास implementation available on github है, जो सटीक ओआईटी को काफी तेज़ बनाने के कुछ तरीके दिखाता है।

"adaptive transparency", "multi-layer alpha blending" और "hybrid transparency" पर एक नज़र डालने लायक है। ये तेजी से अनुमानित समाधान हैं लेकिन आम दृश्यों के लिए बहुत अच्छे परिणाम देते हैं।


कुछ इसी तरह के सवाल ...

0

गणित के अनुसार, बोल अगर आप शरीर यह छँटाई मदद कर सकता है के बारे में कुछ पता है।

उदाहरण के लिए घन के चेहरे को बैरीसेंटर (फेस सेंटर) द्वारा गहराई से गहराई से जोड़ा जा सकता है। यदि स्क्वायर फेस ए का केंद्र बी के केंद्र से करीब होगा, बी के पास कभी भी ए (फिर, घन के लिए) के सामने कोई हिस्सा नहीं होगा।

वास्तव में, एक उत्तल शरीर के लिए, चेहरे हो सकते हैं अकेले अभिविन्यास द्वारा क्रमबद्ध।

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