हाल ही में मैंने वोक्सेल इंजन विकसित करना शुरू कर दिया है। मुझे जो चाहिए वह केवल बनावट के बिना रंगीन voxels है, लेकिन बहुत बड़ी राशि (Minecraft से बहुत छोटा) पर - और सवाल यह है कि दृश्य को तेजी से कैसे आकर्षित करें? मैं सी #/xna का उपयोग कर रहा हूं लेकिन मेरी राय में यह इस मामले में बहुत महत्वपूर्ण नहीं है, चलिए सामान्य मामलों के बारे में बात करते हैं। इन दो मैचों को देखो:वोक्सेल इंजन और अनुकूलन
विशेष रूप से मैं वीडियो नंबर 2 महान अनुकूलन विधियों का प्रतिनिधित्व करता है लगता है (मेरे GFX कार्ड घुट शुरू होता है बस में 192 x 192 x 64) वे कैसे प्राप्त इस?
इंजन में मैं क्या होगा के लिए: बनावट के बिना
- रंगीन voxels, लेकिन छायांकित
- कई, कई voxels, कम से कम कहने के 512 x 512 x 128 वीडियो # 2 की तरह कुछ प्राप्त करने के लिए
- छाया (चिकनी छाया बहुत अच्छा होगा, लेकिन यह आवश्यक नहीं है)
- वैकल्पिक: गतिशील प्रकाश (उड़ान आग के गोले, जो वॉक्सेल संरचनाओं के पास प्रकाश से उदाहरण के लिए)
- फ़्रेमरेट कम से कम 40 एफपीएस
- कैमरा स्वतंत्रता के 3 तरीके (x- अक्ष में कदम, y- अक्ष में ले जाते हैं, z- अक्ष में ले जाते हैं), कोई कैमरा रोटेशन की जरूरत है
- अंत में वैकल्पिक सुविधा की गहराई हो सकता है फील्ड (यह ^^ मीठा हो जाएगा)
क्या अनुकूलन मैं पहले से ही पता है: (कवर
- अनदेखी voxels कि वॉक्सेल संरचना के भीतर रहता है हटाने fr ओम छह अन्य voxels द्वारा दिशाओं)
- voxels के अनदेखी चेहरे को दूर - क्योंकि कैमरा कोई घुमाव है और हमेशा TPP खेल में की तरह आगे तिरछे करते हैं, इसलिए अगर हम खड़ी कटौती करके स्क्रीन विभाजित, छोड़ दिया voxels और सही voxels दिखाएगा केवल 3 चेहरों
- 3-आयामी सरणी के बजाय शब्दकोश में voxels रखें - आकार 512 x 512 x 128 आकार के सरणी के माध्यम से कूदना अस्वीकार्य है - लेकिन शब्दकोश int: रंग जहां int पैक किया गया है 3 डी स्थिति बहुत तेज है
- इंस्टेंसिंग का उपयोग करें जहां applciable
- प्रलोभन? (यह कैसे करना है?)
- अंतरिक्ष विभाजन/octtree (यह अच्छा विचार है?)
मैं अगर कोई मुझे मौजूदा ऊपर या सूचीबद्ध अनुकूलन में सुधार करने के लिए कैसे एक टिप दे बहुत आभारी हो जाएगा नए सुधारों के विचार साझा कर सकते हैं। धन्यवाद
ध्यान दें कि दोनों वीडियो ऐसे इंजन दिखाते हैं जो रोटेशन का समर्थन नहीं करते हैं। साथ ही, दूसरा वीडियो शायद वोक्सेल ऑब्जेक्ट्स के बजाय फोकस ऑब्जेक्ट्स के बाहर बिलबोर्ड का उपयोग कर रहा है। – Skizz