रे-ट्रेसिंग ऊँचाई-क्षेत्रों के लिए वर्तमान अत्याधुनिक एल्गोरिदम क्या है?


16

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

हाई-एंड डेस्कटॉप मशीनों पर आजकल किस तरह का एल्गोरिदम सर्वश्रेष्ठ प्रदर्शन देता है? या यदि कोई एकल उत्तर नहीं है, तो वर्तमान सर्वश्रेष्ठ एल्गोरिदम की प्रदर्शन विशेषताओं में अंतर कैसे होगा?


स्क्रीन-स्पेस रिफ्लेक्शन: गहराई और फ्रेम बफर का उपयोग करके एक ऊंचाई-क्षेत्र बनाएं, किरण इसे क्रूड प्रतिबिंब प्राप्त करने के लिए ट्रेस करता है। मैं विवरण के बारे में नहीं जानता, लेकिन मैं क्राइसिस, किल्ज़ोन, हाल ही में फ्रॉस्टबाइट आदि की कल्पना करूँगा ताकि इसे जल्दी प्राप्त करने के लिए कुछ परिष्कृत तकनीक का उपयोग किया जा सके। क्या आपने इस पर ध्यान दिया है?
डेविड कुरी

1
@DavidKuri धन्यवाद, यह कोर रे-मार्चिंग फास्ट कैसे प्राप्त करने के लिए एक अच्छा सूचक है। अधिक स्थैतिक ऊँचाई वाले क्षेत्र के लिए बहुत सारे अनुकूलन संभव होने चाहिए, जो स्क्रीन-स्पेस ट्रेसिंग पर इतनी अच्छी तरह से काम नहीं करते हैं, जैसे कि प्री-कंप्यूटिंग mipmaps या एक न्यूनतम-अधिकतम क्वाडट्री, इसलिए मैं अभी भी एक उत्तर की उम्मीद कर रहा हूं वह कवर करता है।
दान हुल्म

अरे दान BTW आप सीपीयू या GPU समाधान के लिए देख रहे हैं? और वास्तविक समय या गैर वास्तविक समय प्रतिपादन?
एलन वोल्फ

@AlanWolfe मेरा उपयोग जीपीयू और गैर-वास्तविक समय (यानी अधिकतम छवि गुणवत्ता के बजाय अधिकतम गुणवत्ता आप 16 एमएस में प्रबंधित कर सकते हैं), लेकिन मैं अभी भी दिलचस्प उत्तरों को बढ़ाऊंगा जो सीपीयू पर या मुख्य रूप से इंटरैक्टिव रेंडरर्स के लिए तेज़ हैं।
दान हुल्म

आप ऊंचाई के नक्शे से एक हस्ताक्षरित दूरी क्षेत्र बनाने का प्रयास कर सकते हैं। Thats मूल रूप से एक 3D बनावट है जो अगली सतह तक दूरी को संग्रहीत करता है। यह "तेजी से किरण की यात्रा" करने की अनुमति देता है। अवास्तविक इंजन 4 मिड-रेंज परिवेश रोड़ा, नरम छाया और इलाके छाया के लिए सामान्य रूप से इसका उपयोग करता है
user1888

जवाबों:


12

वर्तमान अत्याधुनिक के लिए, इस पेपर की तलाश करें: "फास्ट, सटीक, और स्केलेबल डायनेमिक हाइट फील्ड रेंडरिंग के लिए अधिकतम माइमैप्स", टीव्स एट अल। 2008

मूल विचार यह है कि इलाके के बड़े क्षेत्रों पर अधिकतम मूल्य का ज्ञान होने से बहुत सी जगह छोड़ दें। यदि किरण उस से ऊपर रहती है, तो अगले बड़े क्षेत्र पर जाएं।

यदि आप चित्र 8 को देखते हैं, तो आपको बेसिक लीनियर स्टेपिंग बनाम अधिकतम mipmaps की तुलना दिखाई देगी। रैखिक कदम 200 चरणों में परिणाम देते हैं, जो आधुनिक जीपीयू पर वास्तविक समय में किया जा सकता है, लेकिन वास्तव में अभी भी धीमा है। अधिकतम mipmaps लगभग 10 चरणों में ही करते हैं, सभी shader में।


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

क्या आपने अधिकतम मॉमपैप के साथ कोई डेमो पाया है? धन्यवाद।
raRaRa

मैंने कागज नहीं पढ़ा है, लेकिन यह "अधिकतम mipmaps" कोन स्टेप मैपिंग के लिए इस्तेमाल की जाने वाली तकनीक के समान लगता है (जो शंकु के लिए बड़े क्षेत्रों को लंघन द्वारा लंबन रोड़ा मानचित्रण में सुधार करता है)।
जूलियन गुर्टॉल्ट

@JulienGuertault मैं कहूंगा कि यह सादा HiZ ट्रेसिंग है। यह एक सुरक्षित तरीका है कि आप जो भी हिट करते हैं, उसके बारे में सुनिश्चित करें। लेकिन बाइनरी सर्च जैसे असुरक्षित तरीकों की तुलना में बहुत तेज नहीं है।
v.oddou

4

मैंने जो सबसे अच्छा व्यक्तिगत रूप से देखा है वह सामान है जो कि इनइगो क्विलेज़ करता है, जो कि डिमोसिन सामान में उपयोग किया जाता है। रे मार्च इलाक़ा, बड़े कदम उठाते हुए आप कैमरे से दूर हो जाते हैं (आमतौर पर) विस्तार कुछ ही दूरी पर कम होता है (अपवाद = पतली दीवारें!)। वह परिवेश जानकारी और अन्य परिष्कृत प्रकाश तकनीकों का अनुकरण करने के लिए प्रवेश जानकारी और अन्य आसानी से प्राप्त मैट्रिक्स का उपयोग करता है।

यहां कार्रवाई में सामान का डेमो है: https://www.youtube.com/watch?v=_YWMGuh15nE

और यहाँ भू-भाग पुनर्विचार पर IQ का पेज है जो एक बहुत ही रोचक पढ़ा गया है: http://www.iquilezles.org/www/articles/terrainmarching/terrainmarching.htm

BTW, आधुनिक खेलों में, "स्क्रीन स्पेस रिफ्लेक्शन" की तकनीक अक्सर रेंडर किए गए दृश्य के Z बफर के खिलाफ एक किरण मार्च है। Z बफर वास्तव में सिर्फ एक ऊंचाई का क्षेत्र है।

मैंने 2014 में सिग्राफ पर इस पर कुछ बातचीत की, और जब कुछ लोग आईक्यू जैसी ही तकनीकों का उपयोग कर रहे थे, तो कुछ लोग आईक्यू के साथ-साथ आईक्यू भी नहीं कर रहे थे, जिसे देखना दिलचस्प था: पी


1
आपके लिंक में एल्गोरिथ्म बहुत सरल है। यह नब्बे के दशक में मुझे मिले कुछ पत्रों की तुलना में कम परिष्कृत लगता है। यह एक अच्छे शुरुआती बिंदु की तरह दिखता है, लेकिन मैं एक उत्पादन प्रणाली के लिए उच्चतम-प्रदर्शन समाधान की उम्मीद कर रहा हूं, न कि केवल "मेरी पहली किरण"।
दान हुल्म

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

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

मेरा मानना ​​है कि आप जो कह रहे हैं उसका केवल वही हिस्सा सच है। वह इलाके की ऊँचाई (कैमरे से दूरी के साथ) के आधार पर अनुमानों का उपयोग करता है कि किरण कितनी दूर तक आ सकती है, लेकिन जहाँ तक मैंने सुना है, वह विसंक्रमण का उपयोग नहीं करता है। यहां उनके काम का एक उदाहरण है, जो रैस्टोरेशन का
एलन वोल्फ

मैं थोड़ा उलझन में हूँ कि सवाल रे ट्रेसिंग के बारे में है, और यह उत्तर रे मार्चिंग के बारे में है। दोनों के बीच एक बुनियादी अंतर है और वे क्या हासिल कर सकते हैं।
जुलिएन गुर्टाल्ट

4

कोन स्टेप मैपिंग और रिलैक्स्ड कोन स्टेप मैपिंग बहुत सभ्य एल्गोरिदम प्रतीत होते हैं। ये अधिक कुशल लुकअप के लिए उपयोग किए जाने वाले 2 डी मानचित्र बनाने के लिए ऊंचाई क्षेत्र के पूर्वप्रकरण के एक बिट पर निर्भर करते हैं।

http://www.lonesock.net/files/ConeStepMapping.pdf https://developer.nvidia.com/gpugems/GPUGems3/gpugems3_ch18.html

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