मैं 2 डी में पानी के अनुकरण पर किसी भी इनपुट की तलाश कर रहा हूं, बल्कि एक बड़े (अवरुद्ध) कॉल के लिए अवरुद्ध / नहीं अवरुद्ध सरणी (पक्ष से देखा गया)। मैं निम्नलिखित विचारों के साथ आया हूं:
सेल ऑटोमेटा
सेल ऑटोमेटा का उपयोग करते हुए, सीपीयू पर एक बड़े पैमाने पर पैरलल सिमुलेशन करें । नियमों के साथ सरल के रूप में:
- अगर कोई सेल है तो उसके नीचे से नीचे की ओर जाएँ।
- बाएं और दाएं कक्षों की जांच करें, दो में से एक यादृच्छिक चुनें और इसे स्थानांतरित करें।
पेशेवरों
- लागू करने के लिए सरल।
- मल्टीप्लेयर सिस्टम में अर्थपूर्ण / नियतात्मक।
विपक्ष
- शायद सच में धीमी।
- राजी किए जाने वाला नहीं।
GPU पर द्रव गतिशीलता
GPU पर तरल गतिकी के किसी न किसी सन्निकटन का प्रदर्शन निम्न बनावट की तरह करें:
+------+-----+-----+-------+
|R |G |B |A |
+------+-----+-----+-------+
|vX |vY |NULL |Density|
+------+-----+-----+-------+
पेशेवरों
- शायद सच में तेज।
- काफी आश्वस्त हो सकता है।
- एक और पिक्सेल shader सीधे इसे प्रस्तुत कर सकता है।
विपक्ष
- लागू करना मुश्किल।
- ट्वीक करना मुश्किल।
- मैं अपने स्तर पर एक भी बनावट आवंटित नहीं कर सकता।
- मैं ग्रिड क्षेत्रों को ओवरलैप कर सकता था, लेकिन इससे और जटिलता बढ़ जाएगी।
कण
पानी का अनुकरण करने के लिए कणों का उपयोग करें। Additive सम्मिश्रण का उपयोग करने के दौरान और फिर पानी कुरकुरा किनारों देने के लिए अल्फा चैनल के लिए एक गुणन समारोह लागू करें।
पेशेवरों
- शायद अच्छा लगेगा।
- लागू करने में आसान।
- प्रस्तुत करना आसान है।
- मल्टीप्लेयर सिस्टम में सार्थक, हालांकि स्थानांतरण के लिए काफी बैंडविड्थ की आवश्यकता होगी।
विपक्ष
- इंटर-कण प्रभाव शायद धीमा होगा (पड़ोस लुकअप)।
- ठोस स्थानों के माध्यम से पानी 'लीक' हो सकता है (क्योंकि ठोस स्थान छोटा है, जैसे 1px)।
- कण आकार के आधार पर पानी में अजीब छेद हो सकता है।
- उपरोक्त दोनों को कणों को उनके वास्तविक आकार की तुलना में एक साथ बहाव करने की अनुमति देकर कम किया जा सकता है, हालांकि अंतर-कण और कण / परिदृश्य प्रदर्शन के साथ समस्याएं पैदा करेगा।
आगे कोई विचार?
नोट: यह एक अनुमान है, मैं यहां शारीरिक रूप से सही पानी की तलाश नहीं कर रहा हूं - बस कुछ ऐसा है जो 'काफी अच्छा है' (त्वरित और गंदे के लिए बोनस अंक)। खेल मल्टीप्लेयर है, इसलिए दुर्भाग्य से पूरे स्तर को लगातार अनुकरण करने की आवश्यकता है।