2011-01-19 20 views
7

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

क्या कोई 3 डी दृश्य प्रारूप विशिष्ट या राइट्रैसिंग के लिए उपयुक्त है?

+1

संबंधित: http://stackoverflow.com/questions/4364537/what-types-of-geometry-definition-file-format-is-best-used-with-ray-tracing-to-in –

उत्तर

4

जब मैंने अपना रे ट्रैसर लिखा, तो मैंने Blender (यह मुफ़्त है) के लिए एक निर्यातक लिखा। ब्लेंडर स्वयं दर्जनों प्रारूपों को लोड कर सकता है, फिर एक साधारण 20 लाइन पायथन लिपि आपको आवश्यक अंक देगी।

सुपर अच्छी सुविधा यह है कि ब्लेंडर के भीतर आप सभी मॉडल के चेहरों को त्रिकोणों में परिवर्तित कर सकते हैं। अधिकांश रे ट्रैसर केवल त्रिभुजों के साथ काम करेंगे (या बहुभुज को आंतरिक रूप से त्रिकोण में परिवर्तित करते हैं)। तो ब्लेंडर होने से उन बहुभुजों को कुचलने का भारी काम बहुत अच्छा होता है।

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

अन्य विधियां काम करेंगी, लेकिन आपको पहले यह समझना होगा कि फ़ाइल को कैसे पार्स करना है, फिर इसे अपने इच्छित स्वरूप में प्राप्त करें। मैं एक पार्सर की तुलना में एक रे ट्रेसर कोड करना चाहता हूं।

+2

वास्तव में सबसे वास्तविक _ray tracers_ ज्यामितीय ठोस के साथ पूरी तरह से अच्छी तरह से सामना करते हैं।यह मॉडलिंग सॉफ्टवेयर और रास्टर-आधारित रेंडरर है जो आम तौर पर केवल त्रिकोण (या क्वाड) से निपटते हैं। – Alnitak

+0

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

+0

आपने कहा "अधिकांश रे ट्रैसर ** ** केवल ** त्रिकोण के साथ काम करेंगे" जो कि अधिकांश पाठकों के लिए वास्तव में होगा (और इसलिए ज्यामितीय ठोस को छोड़कर)। – Alnitak

1

मैं वहाँ किसी विशेष दृश्य प्रयोग में प्रारूप, क्योंकि विभिन्न modellers विभिन्न मापदंडों की आवश्यकता होती है पर विश्वास नहीं है, और सेटअप निर्देशों, आदि

WaveFront .obj format तथापि एक के भीतर अलग-अलग वस्तुओं वर्णन करने के लिए बहुत लोकप्रिय है दृश्य, और उस प्रारूप में कई फाइलें इंटरनेट पर उपलब्ध हैं।

+0

ठीक है, वेवफ्रंट प्रारूप काफी आसान प्रतीत होता है लेकिन यह विशेष रूप से रेट्रैसिंग के लिए उपयुक्त नहीं है क्योंकि यह कशेरुक और चेहरा उन्मुख शैली है। यह सिर्फ मेरे दिमाग को पार कर गया कि मैं पीओवी-रे प्रारूप का उपयोग कर सकता हूं। –

+1

यह सच है, आप ओबीजे प्रारूप में एक पैरामीट्रिक ठोस का वर्णन नहीं कर सकते हैं। हालांकि, पीओवीआर प्रारूप जटिल प्रोग्रामिंग संरचनाओं के साथ "दृश्य विवरण भाषा" है। यह "यहां इस क्षेत्र को रखने" से कहीं अधिक है। – Alnitak

4

वास्तव में रे ट्रेसिंग के लिए विशिष्ट प्रारूप नहीं है (जब तक कि आप पीओवीआर प्रारूप को गिनें)। रे ट्रेसिंग छवियों को प्रतिपादित करने का एक तरीका है, जिसे किसी भी दृश्य पर लागू किया जा सकता है। दृश्य मॉडलिंग लोग अपनी पसंद के मॉडलिंग सॉफ्टवेयर का उपयोग करेंगे और आमतौर पर मॉडलर के डिफ़ॉल्ट प्रारूप में सहेजेंगे।

ऐसा लगता है कि आपके पास कोई विशेष प्रारूप लोड करने की कोई आवश्यकता नहीं है (या आप नहीं पूछेंगे) तो मुझे लगता है कि आप परीक्षण के लिए नेट के चारों ओर से विभिन्न ज्यामिति आयात करने में सक्षम होना चाहते हैं। यदि ऐसा है, तो ompf फ़ोरम देखें: http://ompf.org/ उनके पास स्वतंत्र रूप से उपलब्ध दृश्यों के लिंक वाले अनुभाग हैं। आप वहां क्या आम है के लिए एक महसूस कर सकते हैं। http://assimp.sourceforge.net/

यह आपके लिए फ़ाइल स्वरूपों की एक बड़ी संख्या आयात कर सकते हैं:

एक अन्य विकल्प का उपयोग ओपन एसेट आयात लाइब्रेरी है। यह उन सभी को एक आंतरिक डेटा संरचना में लोड करता है, जिसे आप तब फिट कर सकते हैं जब आप फिट देखते हैं। यह एक बीएसडी लाइसेंस का उपयोग करता है, इसलिए जो कुछ भी आप कर रहे हैं उसके साथ उचित रूप से लाइसेंस अनुकूल होना चाहिए।