ओपनजील टेसेलेशन में प्रति वर्टेक्स कम्प्यूटेशन


9

मैं हार्डवेयर टेसेलेशन का उपयोग करके स्थिति आधारित कपड़े सिमुलेशन को लागू करने का प्रयास करता हूं। इसका मतलब है कि मैं सिर्फ ग्राफिक्स कार्ड पर एक कंट्रोल क्वाड अपलोड करना चाहता हूं और फिर कपड़े में नोड्स बनाने के लिए टेसेलेशन और ज्योमेट्री शेडिंग का उपयोग करता हूं।

यह विचार कागज का अनुसरण करता है:

Huynh, David, "हार्डवेयर टेसेलेशन का उपयोग करके क्लॉथ सिमुलेशन" (2011)। थीसिस। रोचेस्टर इंस्टीट्यूट ऑफ टेक्नोलॉजी http://scholarworks.rit.edu/theses/265/

मुझे पता है कि सिम्युलेटेड पॉइंट बनाने के लिए टेसलेशन का उपयोग कैसे किया जाता है। मुझे नहीं पता कि कम्प्यूटेड जानकारी को एक फ्रेमबफ़र में कैसे संग्रहीत किया जाए।

रेखागणित और भी tesselation मूल्यांकन shaders प्रति-प्रतिपक्ष गणना के लिए आवश्यक informations है। लेकिन क्या वे सीधे फ्रेमबफ़र में लिख सकते हैं?

मैं जिस टुकड़े-टुकड़े को जानता हूं, वह फ्रेम-बर्नर को लिख सकता है, लेकिन मेरी जानकारी को प्रक्षेपित किया जाएगा और मुझे नहीं पता होगा कि किस स्थिति में लिखना है।


ट्रांसफॉर्मेशन बुफ़र्स
शाफ़्ट फ्रीक

बहुत अचछा लगता है। कपड़ा अनुकरण की बाधाएं यह आवश्यक बनाती हैं कि मैं एक कण के सभी पड़ोसियों तक पहुंच सकता हूं (वसंत बलों की गणना करने के लिए)। क्या ऐसे बफ़र्स के साथ ऐसा किया जा सकता है? एक ज्यामिति shader में हो सकता है? कई बार मैं GL_POINTS का उपयोग करना चाहते हैं प्रत्येक प्रतिक्रिया को मुद्रित करने के लिए प्रतिक्रिया बफर को रोकने के लिए। पहली नज़र के बाद ऐसा लगता है कि इससे स्प्रिंग्स की गणना करना कठिन हो जाता है।
ड्रैगनसेल

जवाबों:


3

"शाफ़्ट सनकी" की टिप्पणी के आधार पर मैंने ट्रांसफ़ॉर्म फीडबैक बफ़र्स पर शोध किया और उस तरह से मेरी समस्या को हल किया।

मैं अब सीपीयू पर सिम्युलेटेड अंक उत्पन्न करता हूं और उन्हें एक वर्टेक्सबफ़रऑब्जेक्ट में डाल देता हूं। मैं अंक के लिए एक दूसरा VBO उत्पन्न करता हूं (वेग के लिए कुछ अन्य लोगों के साथ)। कपड़े की कनेक्टिविटी ivec4 में एक शीर्ष-विशेषता के रूप में दी गई है।

ट्रांसफ़ॉर्मेशन फीडबैक बफ़र्स और दो VBOs का उपयोग करके एक डबल-बफ़रिंग ट्रिक का उपयोग मैं हमेशा अंतिम चरण (कनेक्टिविटी जानकारी का उपयोग करके) से पढ़ सकता हूं और दूसरे बफर पर लिख सकता हूं। यह समसामयिक समस्याओं को हल करने के लिए है।

गणना शीर्ष-shader में GL_POINTS के रूप में की जाती हैं। त्रिकोण को उत्पन्न करने के लिए अतिरिक्त सूचकांक-बफ़र का उपयोग करते हुए पहले शेडर के उत्पादन को दूसरे नियमित शेडर में बाँधना, मैं बिना किसी परेशानी के कपड़े को किसी भी तरह से प्रस्तुत कर सकता हूं।

यह विचार "OpenGL Fantible" http://www.openglsuperbible.com/ पुस्तक में किए गए ट्रांसफ़ॉर्मेशन फीडबैक बफर उदाहरण का अनुसरण करता है

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.