2010-09-25 25 views
5

जो मैंने एकत्र किया उससे उसने स्पैस वोक्सेल ऑक्टेट्स और रेकास्टिंग का उपयोग किया। ऐसा प्रतीत नहीं होता है कि उसने ओपनग्ल या डायरेक्ट 3 डी का इस्तेमाल किया था और जब मैं गेम वोक्सेलस्टीन को देखता हूं तो ऐसा लगता है कि लघु क्यूब्स वास्तव में 2 डी वर्ग के गुच्छा के बजाय खींचे जा रहे हैं। जिसने मुझे गार्ड से पकड़ा मुझे यकीन नहीं है कि वह ओपनगल या सीधा 3 डी के बिना ऐसा कैसे कर रहा है।क्या कोई केन सिल्वरमैन के वोक्सलैप इंजन द्वारा उपयोग किए गए एल्गोरिदम का वर्णन कर सकता है?

मैंने स्रोत कोड के माध्यम से पढ़ने की कोशिश की लेकिन मेरे लिए यह समझना मुश्किल था कि क्या हो रहा था। मैं कुछ इसी तरह कार्यान्वित करना चाहता हूं और एल्गोरिदम ऐसा करना चाहता हूं।

मुझे दिलचस्पी है कि उन्होंने प्रतिपादन, कूलिंग, प्रलोभन और प्रकाश व्यवस्था कैसे की। किसी भी मदद की सराहना की है।

+1

आपको ऐसे स्रोत बनाने के बजाय स्रोत कोड का एक लिंक जोड़ना चाहिए जो इसे खोज इंजन के माध्यम से खोजना नहीं चाहता –

उत्तर

6

एल्गोरिदम रे-ट्रेसिंग की तुलना में किरण-कास्टिंग के करीब है। आप केन सिल्वरमैन यहाँ खुद से एक स्पष्टीकरण प्राप्त कर सकते हैं:

http://www.jonof.id.au/forum/index.php?topic=30.0

संक्षेप में: एक ग्रिड पर, प्रत्येक x के लिए सतह voxels के एक RLE सूची संग्रहीत, voxels के y ढेर (जेड 'ऊपर' का मतलब है) ।स्क्रीन पर प्रत्येक लंबवत रेखा के लिए 4 डिग्री स्वतंत्रता, रे-कास्ट मानते हुए, और प्रत्येक घन के रूप में फिसल जाने वाले दृश्यमान स्पैन की एक सूची बनाए रखें। स्वतंत्रता के 6 डिग्री के लिए, कुछ ऐसा ही करें लेकिन स्कैनलाइन के साथ जो स्क्रीनस्पेस में झुका हुआ है।

+0

लिंक मर चुका है :( – oldmud0

5

मैं, एल्गोरिथ्म खुद को देखा नहीं किया है, उसे स्क्रीनशॉट से:

ऐसा लगता है कि लघु क्यूब्स वास्तव में सिर्फ 2 डी वर्ग के एक झुंड

हाँ के बजाय तैयार किया जा रहा है, इस तरह रे-ट्रेसिंग काम करता है। यह 2 डी वर्ग नहीं खींचता है, यह किरणों का पता लगाता है। यदि आप कई लघु क्यूब्स के खिलाफ अपनी किरणों का पता लगाते हैं, तो आप कई लघु क्यूब्स देखेंगे। दृश्य को कई लघु cubes (voxels) द्वारा दर्शाया जाता है, इसलिए जब आप नज़दीक देखते हैं तो आप उन्हें देखते हैं। वास्तव में डेटा को चिकनी बनाने के लिए किसी भी तरह (चिकनी ऊर्जा फ़ंक्शन के खिलाफ ट्रेस) को चिकना करना अच्छा लगेगा।

मैं जब

रे-अनुरेखण कैसे वह

प्रतिपादन किया जाता रे-अनुरेखण

कोई जरूरत को मारने को मारने के लिए द्वारा में दिलचस्पी रखता हूँ

प्रक्षेपण

वोक्सेल-वोक्सेल प्रक्षेपण प्राकृतिक रूप से रे-ट्रेसिंग द्वारा संभाला जाता है। यदि वह स्प्राइट खींचता है तो वह रे-ट्रैसर द्वारा उत्पन्न जेड-बफर का उपयोग कर सकता है।

और प्रकाश व्यवस्था

यह आस-पास की कोशिकाओं को देख और देख पर कब्जा कर लिया जाता है और कौन-सी नहीं है जिसके द्वारा स्थानीय सामान्य अनुमान लगाने के लिए संभव है। फिर प्रकाश गणना प्रदर्शन।

किसी भी मदद की सराहना की जाती है।

धन्यवाद।