c++ - ओपनजीएल 3.1+कंटेक्स्ट के लिए स्तरित कोलला लोडर



opengl 3d (1)

क्या परतें इस कुशलतापूर्वक लागू करने में सहायता करेंगे? अधिमानतः ऐसा है कि मैं इन तीन घटकों को शुरुआती परतों के साथ नीचे सूचीबद्ध कर पा रहा हूं और बाकी के रूप में मैं जा रहा हूं।

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

मैं अभी तक COLLADA नहीं समझते मैं मानता हूं कि हो सकता है:

  • ज्यामिति परत
  • शडर परत
  • टेक्सचर लेयर

यहां तक ​​कि ये भी मुझे अनिश्चित हैं, उन्हें एक अलग तरह की लेयरिंग स्कीम का हिस्सा होना पड़ सकता है

साइड नोट, मैं सबसे अधिक संभावना irrXML या इस दिलचस्प XML लाइब्रेरी का उपयोग करूँगा जो कि मैं सिर्फ फाइलों को पढ़ने के लिए पढ़ता हूं, जब तक कि अन्यथा सलाह न दें।


क्या आप ओपन एसेट इंपोर्ट लाइब्रेरी ( http://assimp.sourceforge.net/ ) से अवगत हैं? इसमें कोलाडा लोडिंग और ग्राफिक्स इंजनों में लक्ष्य का उपयोग करने के लिए काफी अच्छा समर्थन है। अपने आप पर एक कोलाडा लोडर लेखन केवल मुश्किल नहीं है, यह उत्पादक उपयोग के लिए काफी स्थिर रहने के लिए उम्र भी लेता है, ज्यादातर क्योंकि प्रारूप बहुत जटिल है (या, जैसा कि एशिप के कोलाडा लोडर का प्राथमिक लेखक मजाक में रखा जाता है: लगभग ट्यूरिंग- पूरा ) और हर निर्यातक की अपनी अजीब आदतों है

अगर आपको अतिरिक्त सुविधाओं की आवश्यकता है, तो आप असम्प्स के कोलाडा लोडर पर अपने काम का आधार बना सकते हैं और आपको जो भी ज़रूरत है उसे जोड़ सकते हैं (बीएसडी लाइसेंस, जब तक कि आप स्रोत को विशेषता देते हैं तब तक आप इसे ले सकते हैं)

नोट: मैं परियोजना के साथ समृद्ध हूं और इस प्रकार निष्पक्ष नहीं हूं। लेकिन भयानक अनुभवों के बाद हमने अपना स्वयं का कोलाडा लोडर लिखा था, मुझे आपको चेतावनी देना पसंद है ...

साइड नोट, मैं सबसे अधिक संभावना irrXML का उपयोग कर रहा हूँ

हम इसे भी उपयोग करते हैं क्या आप वास्तव में खरोंच से शुरू करना चाहिए, ऐसा न करें एक DOM पार्सर का प्रयोग करें, जैसे कि टिनीएक्सएमएल कोलाडा जटिल है, लेकिन बहुत अच्छी तरह से परिभाषित है, SAX पार्सर सिर्फ काम को कड़ी मेहनत करता है क्योंकि आपको दस्तावेज़ पेड़ को अपने दम पर बनाना होगा (और आपको * ** पूर्ण दस्तावेज़ को पूरा करने के लिए डेटा संरचना की आवश्यकता होगी - कोलाडा तत्वों में अत्यधिक अंतर होता है उनमें से सार्थक कुछ पढ़ना, विभिन्न क्रॉस संदर्भों को हल करने की आवश्यकता है)।





collada