2010-03-06 9 views
8

क्या मुझे प्रतिपादन करते समय हमेशा इस विधि का उपयोग करना चाहिए? क्या यह खराब gfx कार्ड पर बहुत धीमा है?क्या मुझे हमेशा GL_CULL_FACE का उपयोग करना चाहिए?

यदि अंतिम परिणाम में कई खोले चेहरे नहीं होंगे, तो क्या मुझे इस विधि का उपयोग भी करना चाहिए?

+0

फेस कूलिंग आमतौर पर हमेशा सक्षम होना चाहिए यदि आपको दोनों तरफ से चेहरे की आवश्यकता नहीं है। यह शायद चीजों को थोड़ा सा गति देगा क्योंकि यह आपको कुछ भरने की दर बचाएगा। – falstro

उत्तर

19

अपने सभी मॉडलों के सही ढंग से परिभाषित कर रहे हैं (उत्तल, लगातार शिखर घुमावदार के साथ), culling प्रदर्शन चोट कभी नहीं होगा, और लगभग हमेशा प्रदर्शन में मदद मिलेगी है।

कल्पना कीजिए कि आप क्यूबिंग अक्षम कर रहे हैं, एक क्यूब प्रस्तुत कर रहे हैं। घन के पीछे (दूर की तरफ) चेहरों को आपके सामने से मुकाबला करने के लिए प्रस्तुत किया जाता है, और आपके द्वारा चुने गए भौतिक गुणों का जो भी पिछला चेहरा लागू होता है, वह लागू होता है। फिर घन के मोर्चे पर चेहरों को प्रस्तुत किया जाता है: चूंकि पीछे के चेहरे जो सिर्फ प्रस्तुत किए गए थे वे घन के अंदर हैं, वे सामने के चेहरों से 100% गुम हो जाते हैं।

हैं घन अलग ढंग से उन्मुख किया गया था, सामने चेहरे पहले rasterized हो सकता है, लेकिन वापस चेहरे अभी भी कार्रवाई की जाएगी और उसके बाद टुकड़े जेड बफर द्वारा अस्वीकार कर दिया।

नेट परिणाम: आपने 2x जितना आवश्यक हो उतने टुकड़े rasterized। यह बड़ी संख्या में बहुभुज या जटिल पिक्सेल शेडर्स के साथ एक बड़ा सौदा हो जाता है। फेस कूलिंग आपको रास्टराइजिंग चेहरे से पूरी तरह से बचने की अनुमति देता है जो आपको पता नहीं चलेगा।

आप ~ 100,000 बहुभुज के साथ एक चरित्र मॉडल है, तो चेहरे culling काम की राशि पिक्सेल हार्डवेयर हर फ्रेम करना है आधा कर देगा। यदि आपके पास बड़ी सतह के शेडर्स हैं तो यह एक बड़ी बचत है।

यदि आप छोटे मॉडल और कोई शेडर्स के साथ काम नहीं कर रहे हैं, तो वास्तव में इन दिनों कोई फर्क नहीं पड़ता। लेकिन वैसे भी सक्षम करने के लिए यह अच्छा अभ्यास है।

+0

मुझे नहीं लगता कि आपने वास्तव में इस सवाल का जवाब दिया है "यदि अंतिम परिणाम में कई कड़े चेहरे नहीं होंगे, तो क्या मुझे इस विधि का उपयोग भी करना चाहिए?"। मुझे यह भी आश्चर्य होता है कि अगर मैं केवल सामने वाले बहुभुज प्रस्तुत करता हूं तो प्रदर्शन खराब हो जाता है। – Tara

0

यह आपके द्वारा प्रस्तुत की जाने वाली सामग्री पर निर्भर करता है। सामान्य कूलिंग में वांछनीय है। एकमात्र कारण है कि मैं कल्पना नहीं कर सकता कि इसका उपयोग न करने के लिए उन मॉडलों को प्रस्तुत करना है जिनमें दृश्यमान बैकफेस हैं। एक अन्य परिदृश्य जहां खोपड़ी नहीं हो सकती है, खराब मॉडलों का मॉडल हो सकता है जहां गलत क्रम में शिखर को परिभाषित किया जाता है।

+0

कूलिंग अनुपात के बारे में क्या? अगर यह वास्तव में नतीजे से पहले जो कुछ भी था, उससे परिणाम अलग नहीं होता है, तो क्या मुझे कूलिंग का भी उपयोग करना चाहिए? दूसरे शब्दों में: यह सक्षम होने पर गति पर बहुत अधिक प्रभाव पड़ता है? – Newbie

6

फेस कूलिंग (आमतौर पर बैक फेस) को सक्षम करने से प्रतिपादन प्रदर्शन पर महत्वपूर्ण प्रभाव पड़ता है।

अब उत्तर देने के लिए सवाल यह है कि "क्यों डिफ़ॉल्ट रूप से सक्षम नहीं हो रहा है या हमेशा क्यों उपयोग नहीं किया जाता है?" ऐसे कई कारक हैं जो निर्धारित करते हैं कि कूलिंग सक्षम करना संभव है या नहीं। एक मॉडल प्रस्तुत किया जा रहा है और इसे कैसे देखा जाता है।

मॉडल में हर बहुभुज के लिए, यदि केवल एक ही चेहरा या तो आगे या पीछे दिखाई देता है (जब मॉडल हर संभव कोण से देखा जाता है) तो हम अन्य चेहरा चुनना कर सकते हैं।

पूर्व के लिए: "क्यूब", कोई फर्क नहीं पड़ता कि आप अंदर या बाहर से देख रहे हैं, घूर्णन करते समय, आप घन को बनाने वाले प्रत्येक 6 बहुभुजों में से केवल एक तरफ देख सकते हैं।

एक और उदाहरण: मेरी समुद्री युद्ध (3 डी) खेल में के रूप में "एक जहाज मॉडल की पाल", एक जहाज मॉडल की पाल एक सतह कई फ्लैट बहुभुज के साथ बनाया गया है। जब एक नाव पानी में घूमती है, तो कोई भी नाव के दोनों किनारों को देख सकता है। इस मामले में चेहरों में से किसी एक को खींचना वांछनीय नहीं है।

इसलिए मारने के दृश्य में सभी मॉडलों जो क्यूब्स अर्थ विज्ञान का पालन करें और अन्य सभी मॉडलों के लिए अक्षम करने के लिए सक्रिय किया जा सकता।

पीएस फेस कूलिंग जब भी संभव हो इस्तेमाल किया जाना चाहिए।

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