गेम

S3D और WibbleWobble

गेमर्स के कई अनुरोधों के जवाब में, हम अपने हार्डवेयर को अनुकूलित कर रहे हैं और नई WibbleWobble तकनीक के साथ पूर्ण संगतता के लिए अपने ड्राइवरों को अपग्रेड कर रहे हैं। यह तकनीक पीसी पर आधुनिक गेम्स को सच्चे स्टीरियोस्कोपिक 3D में खेलना संभव बनाती है, भले ही डेवलपर्स ने ऐसा मोड कभी प्रदान न किया हो। यदि आपके पास एक तेज़ मॉनिटर और संगत उपकरण हैं, तो WibbleWobble के साथ एक शक्तिशाली और जीवंत गेमिंग तमाशे का आनंद लें।

WibbleWobble Core
Discord समुदाय

यह क्या है

WibbleWobble एक साधारण सपाट गेम को "दुनिया में एक खिड़की" दृश्य के साथ स्टीरियोस्कोपिक 3D में बदल देता है। सिर-गति ट्रैकिंग के माध्यम से, आप गेम को ऐसे देख सकते हैं जैसे यह वास्तविक दुनिया हो। आपको महंगे विशेष 3D मॉनिटर की आवश्यकता नहीं है। सॉफ़्टवेयर और किफायती 3D चश्मे असली जादू करते हैं...

लाभ

Steam से VR गेम्स की एक विशाल लाइब्रेरी तक पहुंच जो पहले पीसी पर उपलब्ध नहीं थी। वे केवल महंगे VR हेडसेट पर काम करते थे - प्रसिद्ध Half-Life Alyx के लिए $1,200 मूल्य के अतिरिक्त हार्डवेयर की आवश्यकता थी। हमारा समाधान उस आवश्यकता को समाप्त करता है। बड़े आधुनिक गेमिंग डिस्प्ले पर उच्च-गुणवत्ता वाले स्टीरियोस्कोपिक 3D अनुभव का आनंद लें। 120+ FPS पर सहज गेमप्ले, एक तीव्र और विस्तृत छवि, और जीवंत रंग। सबसे अच्छी बात यह है कि आधुनिक पीसी गेमिंग डिस्प्ले उत्कृष्ट छवि गुणवत्ता प्रदान करते हैं और साथ ही किफायती भी रहते हैं:

सर्वश्रेष्ठ मॉनिटर अवलोकन
3D के लिए सर्वश्रेष्ठ डिस्प्ले चुनना

यह कैसे काम करता है
जिज्ञासु गेमर के लिए
तकनीक का एक लोकप्रिय-स्तरीय विवरण, यह कैसे बनाई गई है और कैसे काम करती है। यदि आप रुचि नहीं रखते हैं, तो इसे पढ़ने की कोई आवश्यकता नहीं है - यह शुष्क सामग्री है।

एक गेम 3D कैसे बनाता है
किसी गेम में 3D छवि बनाने का सामान्य तरीका है दृश्य को दो बार रेंडर करना - बाएँ और दाएँ आँख के लिए अलग-अलग, दृश्य के केंद्र के सापेक्ष कैमरे को आभासी रूप से खिसकाकर। यह संसाधन-गहन है और इसके लिए गेम इंजन से अंतर्निहित समर्थन आवश्यक है। हर गेम यह नहीं कर सकता। WibbleWobble दो अलग-अलग रास्ते प्रदान करता है, और उनके बीच का अंतर मौलिक है - यह छवि गुणवत्ता और छवि कलाकृतियों के सेट दोनों को निर्धारित करता है।

पहला रास्ता: ReShade Client - सपाट फ्रेम से स्टीरियो संश्लेषण
गेम एक सामान्य दृश्य रेंडर करता है। SuperDepth3D ReShade प्रभाव उस फ्रेम को दृश्य के गहराई बफर के साथ लेता है और गहराई के अनुसार पिक्सेल को खिसकाकर उससे दूसरा दृष्टिकोण पुनर्निर्मित करता है। गेम इंजन स्टीरियो के बारे में कुछ नहीं जानता। यह प्रदर्शन के मामले में सस्ता है और लगभग किसी भी DX11/DX12 गेम के साथ काम करता है। इसका नुकसान इस विधि में निहित कलाकृतियाँ हैं। उनका वर्णन नीचे "नुकसान" अनुभागों में किया गया है।

दूसरा रास्ता: OpenVR Client - वास्तविक 3D रेंडरिंग
WibbleWobble स्वयं को SteamVR में एक आभासी VR हेडसेट के रूप में पंजीकृत करता है। VR-सक्षम गेम, या VR मॉड वाला गेम, दृश्य को दो कैमरों से दो बार रेंडर करता है जो इंटरप्यूपिलरी दूरी से अलग होते हैं, ठीक वैसे ही जैसे असली हेडसेट करता है। IPD, प्रति-आँख रिज़ॉल्यूशन, और फोकल लंबाई VR Config में सेट की जाती हैं। यहाँ WibbleWobble कुछ भी संश्लेषित नहीं करता: यह तैयार स्टीरियो जोड़ी लेता है और उसे स्क्रीन पर फ्रेम-अनुक्रमिक रूप से आउटपुट करता है, शटर चश्मे को सिंक्रनाइज़ करते हुए। यह प्रदर्शन में अधिक खर्च करता है, लेकिन 3D ज्यामिति बिल्कुल सही है। समोच्चों के साथ कोई छेद नहीं, कोई "कार्डबोर्ड" प्रभाव नहीं; प्रत्येक आँख को अपने स्वयं के प्रतिबिंब और हाइलाइट्स मिलते हैं। संक्षेप में, यह एक साधारण मॉनिटर पर 3D चश्मे के साथ VR गेम खेलने का एक तरीका है, लेकिन हेडसेट के बिना।

Reprojection - दृष्टि क्षेत्र विस्तार तंत्र
Reprojection दोनों मोड में काम करता है, मोनोकुलर सहित। एक उच्च-प्रदर्शन शेडर गेम फ्रेम को लेता है और उसे आपके कार्यक्षेत्र की ज्यामिति पर मैप करता है: एक मॉनिटर पर, या चार मॉनिटरों पर, या एक घुमावदार स्क्रीन पर। हेड-ट्रैकिंग (OpenTrack) के माध्यम से छवि आपके सिर का अनुसरण करने के लिए खिसकती है, और मॉनिटर एक आभासी दुनिया में खिड़की की तरह काम करने लगते हैं - "VR फिशटैंक" प्रभाव। Reprojection का उद्देश्य सही विश्व पैमाना और सही दृष्टि क्षेत्र (FOV) प्राप्त करना है मल्टी-मॉनिटर उपयोग के लिए। Reprojection को पूरी तरह बंद किया जा सकता है (Client Config -> Reprojection: Disabled) और आप केवल स्टीरियो आउटपुट, BFI, और अपस्केलर का उपयोग कर सकते हैं - एकल डिस्प्ले के लिए सामान्य परिदृश्य।
* यह कहना होगा कि परियोजना के लेखक कई पैनलों में "दुनिया का विस्तार" करने के विचार को लेकर अत्यधिक आशावादी थे। इसके लिए शक्तिशाली ग्राफिक्स कार्ड भी पर्याप्त प्रदर्शन नहीं रखते। आप भाग्यशाली होंगे यदि गति एकल 4K डिस्प्ले के लिए पर्याप्त हो। यह कई डिस्प्ले के साथ काम नहीं करेगा...

FOV (Field of View): दृष्टि कोण। यह निर्धारित करता है कि आभासी कैमरा फ्रेम में दुनिया के किस क्षेत्र को कैप्चर करता है। इसे डिग्री में मापा जाता है, ऊर्ध्वाधर और क्षैतिज के लिए अलग-अलग। छोटा FOV (40-50°) टेलीफोटो लेंस जैसा दिखता है: बड़ी वस्तुओं के साथ एक संकीर्ण क्षेत्र। बड़ा FOV (100-120°) वाइड-एंगल है, एक्शन कैमरे की तरह। आप किनारों पर बहुत कुछ देखते हैं, लेकिन किनारे खिंचे हुए हैं और वस्तुएँ दूर और छोटी दिखाई देती हैं। यह WibbleWobble में एक प्रमुख पैरामीटर है। प्रोग्राम को पता होना चाहिए कि गेम ने फ्रेम किस कोण पर बनाया है ताकि इसे आपके भौतिक मॉनिटर पर सही ढंग से प्रोजेक्ट किया जा सके। इसीलिए Game Config में दो फ़ील्ड हैं, FOV Vertical और FOV Horizontal, एक आवश्यकता के साथ: मान गेम में सेट किए गए मान से मेल खाना चाहिए। एक मान बदलें और दूसरा विंडो के पहलू अनुपात से मेल खाने के लिए स्वचालित रूप से पुनर्गणना हो जाता है।

यदि FOV है:
बहुत बड़ा दुनिया खिलौने जैसी लगती है और वस्तुओं का पैमाना विकृत हो जाता है
बहुत कम दुनिया विशाल लगती है और सब कुछ आप पर मंडराता है
3D में गहराई पैमाने के साथ टूट जाती है, और आँखों पर तनाव शुरू हो जाता है

"दुनिया में एक खिड़की" के रूप में हेड-ट्रैकिंग
OpenTrack विधि का उपयोग करते हुए, एप्लिकेशन हैंडलर सिर की स्थिति को ट्रैक करता है और प्रोजेक्शन को इस तरह स्थानांतरित करता है कि मॉनिटर 3D दृश्य में एक आभासी खिड़की प्रस्तुत करता है। यह एक पैरालैक्स प्रभाव बनाता है। जब आप अपना सिर हिलाते हैं, तो छवि थोड़ी सी खिसक जाती है, जैसे कि आप वास्तव में एक खिड़की से देख रहे हों।

फ्रेम-अनुक्रमिक स्टीरियो आउटपुट
एप्लिकेशन गेम से फ्रेम प्राप्त करता है, जैसे ही वे तैयार होते हैं, परिवर्तनीय दर पर, "जैसे भी वे आते हैं।" क्लाइंट तब 60 Hz पर प्लेबैक के लिए फ्रेम दर समायोजित करता है। स्टीरियो जोड़ी का स्रोत SuperDepth3D, एक VR मॉड, या तैयार 3D सामग्री हो सकता है। WibbleWobble इसे साइड-बाय-साइड या चेकरबोर्ड प्रारूप में स्वीकार करता है (Client Config -> Source Format) और इसे FrameBufferDecode में डिकोड करता है। रेंडरर तब इसे 120 Hz फ्रेम-अनुक्रमिक स्ट्रीम में परिवर्तित करता है जबकि शटर चश्मे को सिंक्रनाइज़ करता है। निम्नलिखित एमिटर समर्थित हैं: NVIDIA 3D Vision, Open3DOLED, DLP प्रोजेक्टर, 3D Ready, और एक घर का बना Arduino/VESA IR एमिटर।

मोशन ब्लर और क्रॉस-टॉक से लड़ना
मोशन ब्लर डिस्प्ले द्वारा उत्पन्न धुंधलापन है। आधुनिक LCD और OLED पैनल एक पिक्सेल को फ्रेम की अवधि तक जलाए रखते हैं - सैंपल-एंड-होल्ड मोड। जबकि पिक्सेल एक स्थिति में जलता और स्थिर रहता है, आँखें सहज रूप से गतिमान वस्तु का पीछा करती रहती हैं। परिणामस्वरूप, छवि रेटिना पर ही "धुंधली" हो जाती है, भले ही डिस्प्ले पर प्रत्येक व्यक्तिगत फ्रेम पूरी तरह से तीक्ष्ण हो। एक पिक्सेल जितनी देर जलता रहता है, धुंधलापन उतना ही अधिक होता है। यह दोष बारीक विवरण को छिपा देता है और 3D मोड में छवि को अतिरिक्त रूप से खराब करता है।

पिक्सेल के जलने के समय को कम करने के लिए, WibbleWobble दो उपकरण प्रदान करता है:
ब्लैक फ्रेम इंसर्शन - उपयोगी फ्रेम के बीच एक काला फ्रेम डालना (Client Config में Black Frame Insertion Interval पैरामीटर)।
CRT बीम सिम्युलेटर Blur Busters द्वारा - एक शेडर जो CRT की इलेक्ट्रॉन बीम की स्वीप की नकल करता है: यह छवि को पूरे फ्रेम के बजाय पंक्ति दर पंक्ति खाली करता है। यह बेहतर परिणाम देता है लेकिन डिस्प्ले पर मांग करता है: इसे गामा 2.2 या 2.4, ABL/APL अक्षम, और SDR मोड में OLED की आवश्यकता होती है। FALD और MiniLED पैनलों पर यह खराब काम करता है बैकलाइट जड़ता के कारण।

इन दो मोड को एक ही समय में सक्षम नहीं किया जाना चाहिए। CRT Sim का उपयोग करते समय, Client Config में Black Frame Insertion Interval पैरामीटर शून्य होना चाहिए। यह अलग से जोर देना उचित है कि गेम डिस्प्ले के फ्रेम आउटपुट की तुलना में कम दर पर चल सकता है, और प्रोग्राम डिस्प्ले की दर तक छूटे हुए फ्रेम को भरता है। लेकिन यह नई मध्यवर्ती छवियों की पीढ़ी नहीं है - यह तैयार छवियों की पुनरावृत्ति है। दूसरे शब्दों में, रीसैंपलिंग विधि जो सहजता प्रदान करती है, वह यहाँ नहीं है।

क्रॉस-टॉक वह प्रभाव है जिसमें एक आँख के लिए इच्छित छवि आंशिक रूप से दूसरी आँख तक पहुँच जाती है। परिणामस्वरूप, दर्शक वस्तुओं के बगल में दोहरे समोच्च या अर्ध-पारदर्शी "भूत" देखता है। यह 3D छवि की गुणवत्ता को खराब करता है और गहराई की भावना को कम करता है। इससे निपटने के लिए, Black Frame Insertion और Blur Busters CRT-बीम सिम्युलेटर का समर्थन अंतर्निहित है। व्यापक क्रॉस-टॉक दमन के लिए, एक चतुर मोड का उपयोग किया जाता है: गेम छवि 60 Hz पर खींची जाती है, चश्मे को 120 Hz पर सिंक मिलता है, और स्क्रीन पर आउटपुट 240 Hz पर फ्रेम पुनरावृत्ति के साथ चलता है।
WibbleWobble दो तरीकों का समर्थन करता है, प्रत्येक का अपना क्लाइंट गेम में जोड़ा गया है। ये उस प्रकार के गेम के लिए हैं जो इनके साथ संगत हैं। नीचे दी गई तालिका इन तरीकों के मुख्य गुणों का सारांश देती है।
तरीका उद्देश्य 3D स्रोत लाभ हानियाँ
ReShade क्लाइंट DirectX 11 / 12 गेम के लिए डेप्थ बफ़र + SuperDepth3D उच्च संगतता
कम GPU लोड
VR की आवश्यकता नहीं
आर्टिफैक्ट संभव
3D गुणवत्ता गेम पर निर्भर करती है
OpenVR क्लाइंट VR गेम और VR मॉड वाले गेम वास्तविक स्टीरियो पेयर उत्तम ज्यामिति
अधिकतम 3D गुणवत्ता
सही परावर्तन और प्रकाश
SteamVR आवश्यक
उच्च GPU लोड

WibbleWobble का उपयोग कौन करता है

स्टीरियोस्कोपिक 3D गेमिंग के शौकीन, या NVIDIA 3D Vision हार्डवेयर के मालिक जिसे NVIDIA ने 2019 में आधिकारिक रूप से बंद कर दिया था। 3D चश्मे और तेज़ डिस्प्ले के मालिक। यह तकनीक आधुनिक गेम खेलना संभव बनाती है जिनमें अंतर्निहित स्टीरियो समर्थन नहीं है। यह मूल्य/गुणवत्ता के मामले में एक उत्कृष्ट समाधान है - सस्ता और सभी के लिए सुलभ। लेकिन छवि गुणवत्ता चुने गए तरीके और विशेष गेम पर निर्भर करती है। नीचे दी गई सीमाओं के बारे में पढ़ें।

खोजी गई समस्या और सीमाएँ

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

वस्तुओं के किनारों पर छेद - डिसऑक्लूज़न
यह इस तरीके का मुख्य दोष है। जब प्रोग्राम दूसरी आँख या सिर घुमाने के लिए दृष्टिकोण को स्थानांतरित करता है, तो पृष्ठभूमि का वह हिस्सा जो स्रोत फ्रेम में अग्रभूमि वस्तु के किनारे से छिपा था, दिखाई देना चाहिए। लेकिन उन पिक्सेल को किसी ने रेंडर नहीं किया - वे भौतिक रूप से मौजूद नहीं हैं। प्रोग्राम के पास अंतराल भरने के लिए कुछ नहीं है, इसलिए यह या तो किनारे के पिक्सेल को खींचता है, जिससे समोच्चों के साथ एक "रबरी" धुंधला प्रभामंडल बनता है, या एक "विश्वसनीय" लेकिन आमतौर पर गलत पैच प्रतिस्थापित करता है। दृष्टिकोण स्थानांतरण जितना अधिक होगा, प्रभामंडल पट्टियाँ उतनी ही चौड़ी होंगी। यह कार्यान्वयन की बग नहीं है, बल्कि इस तरीके की सीमा है: आप एक ही छवि से वह नहीं निकाल सकते जो वस्तुओं के पीछे छिपा है और उसमें दिखाई नहीं देता।

सिर की गति विकृतियों को बढ़ाती है
साधारण स्टीरियो में दृष्टिकोण बिंदुओं के बीच की दूरी छोटी और स्थिर होती है - पुतलियों के बीच की दूरी के बराबर। लेकिन "दुनिया में एक खिड़की" के साथ, सिर विभिन्न दिशाओं में दसियों सेंटीमीटर चलता है, इसलिए सापेक्ष दृष्टिकोण बदलाव प्राकृतिक से कई गुना बड़ा होता है, और छेद और धुंधलापन बड़ा हो जाता है। यह इस तरह काम करता है: स्थिर बैठें और लगभग कोई कलाकृति नहीं होती, लेकिन 3D प्रभाव भी कमजोर होता है; बहुत हिलें और प्रभाव मौजूद होता है, लेकिन वस्तुओं के किनारों के साथ सब कुछ धुंधला और तैरता हुआ दिखता है।

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

प्रतिबिंब और हाइलाइट्स सबसे ज्यादा टूटते हैं
दर्पण, पानी, गीला डामर, और धातु अपनी सतह की गहराई से परिभाषित होते हैं, न कि उनमें परिलक्षित छवि से। जब दृष्टिकोण बदलता है, तो प्रतिबिंब कहीं और चला जाता है। यदि हाइलाइट सतह पर "चित्रित" है, तो यह वैसा व्यवहार नहीं करता जैसा वास्तविक दुनिया में करना चाहिए। यह ठीक सबसे चमकदार चमकदार सामग्री है जो स्टीरियो में सपाट और गलत दिखती है।

इंटरफेस, क्रॉसहेयर, और HUD
फ्रेम के ऊपर द्वि-आयामी तत्व - स्वास्थ्य बार, मेनू, क्रॉसहेयर - शून्य गहराई पर खींचे जाते हैं, इसलिए प्रसंस्करण के बाद वे गलत स्टीरियो दूरी पर आ जाते हैं। इंटरफेस या तो स्क्रीन में चिपक जाता है या दृश्य के सामने लटक जाता है। क्रॉसहेयर अपने आप में एक सिरदर्द है; इसकी गहराई की स्थिति लगभग हमेशा हाथ से समायोजित करनी पड़ती है।

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

प्रति-गेम ट्यूनिंग
दृष्टि क्षेत्र, गहराई सीमा, और अभिसरण प्रत्येक गेम के लिए अलग से हाथ से सेट किए जाते हैं। चूक से या तो अत्यधिक अभिसरण से आंखों में तनाव होता है, या गलत पैमाना, जहां दुनिया खिलौने जैसी या विशाल दिखती है, या पूरी तरह उलटी गहराई। यह एक "इसे ट्यून करें और समझें" समाधान है, न कि "इसे इंस्टॉल करें और खेलें"।

लेटेंसी और असमान फ्रेम
गेम फ्रेम असमान रूप से रेंडर करता है, और क्लाइंट तैयार फ्रेम को दोहराकर उन्हें डिस्प्ले के स्थिर fps के अनुकूल बनाता है। दोहराव स्वयं कोई विकृति नहीं लाता, लेकिन क्रिया और छवि के बीच की लेटेंसी जमा होती जाती है: फ्रेम कैप्चर, प्रसंस्करण, आउटपुट। हेड ट्रैकिंग के लिए, ऐसी कोई भी लेटेंसी दृश्य के "तैरने" के रूप में महसूस होती है। Game Config में इसके लिए एक Frame Capture Delay पैरामीटर है, कैप्चर क्षण को ट्यून करने के लिए।

अवशिष्ट क्रॉस-टॉक और उच्च मॉनिटर आवश्यकताएं
सॉफ़्टवेयर तकनीकें - ब्लैक फ़्रेम इंसर्शन और 60/120/240 मोड - घोस्टिंग को दबाती हैं, लेकिन इसे पूरी तरह से हटाती नहीं हैं, क्योंकि क्रॉस-टॉक कई कारकों से निर्धारित होता है: डिस्प्ले पैनल और चश्मे की भौतिकी। यह पिक्सेल रिस्पॉन्स टाइम, स्विचिंग स्पीड, चश्मे के लेंस के कंट्रास्ट, और स्क्रीन की वर्टिकल ड्रॉ रेट पर निर्भर करता है। इसके अलावा, सबसे आक्रामक मोड के लिए एक तेज़ 240 Hz पैनल की आवश्यकता होती है जिसमें कम पिक्सेल पर्सिस्टेंस हो, जो हर उपयोगकर्ता के पास नहीं होता। NVIDIA 3D Vision के विपरीत, ReShade एक तैयार वॉल्यूम को पुन: उत्पन्न नहीं करता बल्कि इसे एक सपाट फ़्रेम से संश्लेषित करता है। इसलिए कंटूर के साथ छेद, गलत रिफ्लेक्शन, और तैरते किनारे इस विधि के स्थायी आर्टिफैक्ट हैं, न कि एक अस्थायी कमी।
The OpenVR Client
यहाँ स्टीरियो ज्यामिति ईमानदार है, और छवि-संश्लेषण के कोई भी आर्टिफैक्ट - डिसऑक्लूज़न, "कार्डबोर्ड," टूटे रिफ्लेक्शन - यहाँ मौजूद नहीं हैं। लेकिन इस विधि की भी अपनी कीमत है, और यह एक अलग है।

गेम को VR का समर्थन करना चाहिए
यह मुख्य सीमा है। यह विधि किसी भी मनमाने गेम के साथ काम नहीं करती: इसके लिए या तो अंतर्निहित VR समर्थन या एक VR मॉड की आवश्यकता होती है। यदि कोई तैयार मॉड मौजूद नहीं है, तो OpenVR पथ काम नहीं करेगा, और केवल ReShade अपने सभी आर्टिफैक्ट के साथ बचता है। दूसरे शब्दों में, जिस व्यापक संगतता के लिए पहला पथ मौजूद है, वह यहाँ पूरी तरह से खो जाती है।

ग्राफ़िक्स कार्ड पर दोहरा भार
दृश्य वास्तव में दो कैमरों से दो बार रेंडर किया जाता है। एकल व्यू के रीप्रोजेक्शन से जो बचत मिलती है, वह यहाँ नहीं है: प्रदर्शन उसी तरह गिरता है जैसे असली VR में। यह आंशिक रूप से VR Config में Resolution सेटिंग द्वारा संतुलित किया जाता है - प्रति-आँख रिज़ॉल्यूशन को कम किया जा सकता है, और WibbleWobble छवि को डिस्प्ले के रिज़ॉल्यूशन तक स्केल कर देगा।

जटिल इंस्टॉलेशन
SteamVR इंस्टॉल होना चाहिए। ड्राइवर Install.bat के माध्यम से एडमिनिस्ट्रेटर अधिकारों के साथ रजिस्टर किया जाता है, जिसके बाद config\steamvr.vrsettings फ़ाइल में मैन्युअल रूप से दो लाइनें जोड़नी होती हैं: "forcedDriver": "WibbleWobbleVR" और "activateMultipleDrivers": "true"। फिर STANDING ONLY मोड में Room Setup पूरा करें। किसी भी चरण में त्रुटि और, स्टीरियो के बजाय, आपको कारण के बारे में स्पष्ट संदेश के बिना एक काली स्क्रीन मिलती है।

OpenVR की स्वयं की सीमाएँ
कुछ सेटिंग्स को उड़ते हुए बदला नहीं जा सकता। यदि आप रिज़ॉल्यूशन या आउटपुट रेट बदलते हैं, तो SteamVR को पुनः आरंभ करना आवश्यक है। यह एक प्लेटफ़ॉर्म सीमा है, प्रोग्राम की नहीं, लेकिन यह गेम्स की ट्यूनिंग को काफ़ी धीमा कर देती है।

रेंडर ऑप्टिमाइज़ेशन कुछ गेम्स को तोड़ देता है
VR Config में एक Optimise Single Eye पैरामीटर है जो केवल एक आँख या आधे FOV पर दोनों को रेंडर करने की अनुमति देता है। प्रोजेक्ट के लेखक सीधे चेतावनी देते हैं: "Both" मोड सबसे समस्याग्रस्त है - विग्नेटिंग और आँखों का डीसिंक्रोनाइज़ेशन संभव है, और छवि "शिफ्ट" हो सकती है। कुछ गेम्स में ऑप्टिमाइज़ेशन को पूरी तरह से बंद करना पड़ेगा।

विंडो फ़ोकस के लिए संघर्ष
कुछ गेम्स WibbleWobble इंटरफ़ेस को फ़ोकस नहीं देते: SHIFT + END कुंजी संयोजन काम नहीं करता, या UI तो बनता है लेकिन नियंत्रित नहीं किया जा सकता। आपको ALT + TAB के माध्यम से मैन्युअल रूप से स्विच करना पड़ता है। एक अलग समस्या: WibbleWobble विंडो को बंद नहीं करना चाहिए - प्रोग्राम इसके बाद रिकवर नहीं होता, और गेम को पुनः आरंभ करना पड़ेगा।

हर लॉन्च पर रीसेंटरिंग
ट्रैकिंग को हर बार स्टार्टअप पर मैन्युअल रूप से केंद्रित करना होता है (SHIFT + .), और इसे स्क्रीन के सामने कार्य क्षेत्र के ठीक केंद्र में रखना होता है। यदि केंद्रित करते समय सिर वहाँ नहीं था, तो रीप्रोजेक्शन अजीब व्यवहार करने लगता है और स्केल "ड्रिफ्ट" होने लगता है। लेखक के अपने कथन के अनुसार, सही स्थिति प्राप्त करने के लिए अभ्यास की आवश्यकता होती है। इसे बाद में अधिक बुद्धिमान ट्रैकिंग सॉफ़्टवेयर का उपयोग करके ठीक किया जा सकता है।

व्यक्तिगत अनुप्रयोगों की विचित्रताएँ
कुछ प्रोग्राम केवल कुछ विशेष ब्रांड के हेडसेट के साथ काम करते हैं। उनके लिए, VR Config में एक Headset Identification पैरामीटर होता है जो WibbleWobble को एक अलग डिवाइस - उदाहरण के लिए Vive - के रूप में प्रस्तुत करता है, जिसके बिना DEOVR में हेड ट्रैकिंग काम नहीं करती। दूसरे शब्दों में, कई जगहों पर संगतता इस तरह के वर्कअराउंड पर निर्भर करती है।

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

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

व्यक्तिपरक गुणवत्ता मूल्यांकन

यह परियोजना ग्राफ़िक्स दोषों की भरपाई के लिए विभिन्न तरीकों का उपयोग करती है। किए गए उपायों की तालिका और 3D गुणवत्ता में अनुमानित व्यक्तिपरक लाभ देखें, बिना भरपाई वाले पैनलों के सापेक्ष प्रतिशत में। यह मूल्यांकन दृश्य परीक्षणों पर आधारित है और प्रयोगशाला माप का परिणाम नहीं है।

वास्तव में लाभ क्या देता है:
पैनल की ड्रॉ लेटेंसी की भरपाई के लिए पंक्ति-दर-पंक्ति छवि सुधार, जो क्रॉसटॉक को कई गुना कम करता है। प्रत्येक डिस्प्ले मॉडल के लिए OLED लेटेंसी का सटीक माप और चश्मे के शटर खुलने और बंद होने के क्षण की व्यक्तिगत ट्यूनिंग। बिना छूटे या दोहराए गए फ़्रेम के सटीक चश्मा सिंक्रोनाइज़ेशन। सिंक जिटर का दमन - सौ माइक्रोसेकंड से अधिक का कोई भी जिटर सक्रिय 3D में तुरंत ध्यान देने योग्य होता है। छवि का टेम्पोरल प्री-कम्पेन्सेशन, यदि विशिष्ट पैनल का प्रतिक्रिया फ़ंक्शन ज्ञात हो। गुणवत्ता सुधारने के लिए पेशेवर VR हेडसेट के निर्माता ठीक यही करते हैं।
CRTSim +15%
मानक BFI +30%
पैनल ड्रॉ भरपाई +50%
सटीक चश्मा सिंक्रोनाइज़ेशन +50%
उच्च fps (240-480 Hz) +100%
संक्षेप में
WibbleWobble तकनीक वह देती है जो एक साधारण 3D प्लेयर नहीं देता: सिर की गति ट्रैकिंग और एक लाइव "दुनिया में खिड़की" प्रभाव। हमारा ड्राइवर कार्यान्वयन सबसे शानदार 3D प्राप्त करना संभव बनाता है, एमिटर और चश्मे की उत्कृष्ट गति विशेषताओं और गुणवत्ता वाले सॉफ़्टवेयर के कारण।

चुनें: ReShade.. OpenVR..

चयन
गेम 3D में खेलना चाहते हैं? ReShade क्लाइंट
VR गेम या VR मॉड है? OpenVR क्लाइंट
बस "दुनिया में खिड़की" प्रभाव चाहते हैं? मोनो + रीप्रोजेक्शन
आप उच्च गुणवत्ता वाला S3D Kit छूट पर खरीद सकते हैं: एमिटर + चश्मा।
किट बॉक्स से बाहर निकालते ही उपयोग के लिए तैयार है।
S3D KIT
ध्यान दें: यहाँ से आगे, सभी डाउनलोड की गई फ़ाइलों की जाँच करें एंटीवायरस से!

कनेक्ट

सॉफ़्टवेयर इंस्टॉल करना

चरण 1. ग्राफ़िक्स कार्ड ड्राइवर अपडेट करें
वीडियो प्लेयर ने NVIDIA Studio Driver का उपयोग किया; गेम के लिए इसे GeForce Game Ready Driver से बदलना होगा
NVIDIA ड्राइवर

इसे इंस्टॉल करें और, NVIDIA App से, ग्राफ़िक्स कार्ड को अधिकतम प्रदर्शन के लिए पुनः कॉन्फ़िगर करें, जैसा चरण 7 में वर्णित है।
Windows सेटिंग्स में, > Settings > Graphics settings पर जाएँ। शेड्यूलर नीति सक्षम करें: Increase performance। SteamVR को प्राथमिकता समूह में जोड़ें: High performance।

गति

चरण 2. एमिटर ड्राइवर इंस्टॉल करें
का उपयोग करें 3D Vision एमिटर या S3D एमिटर
वही संगत, डिजिटल रूप से हस्ताक्षरित मूल ड्राइवर दोनों उपकरणों के लिए उपयुक्त है। S3D एमिटर को NVIDIA मोड में स्विच करना होगा अंतिम बटन को लगभग कुछ सेकंड तक दबाकर रखकर।

s3d emitter
NVIDIA 3D Controller ड्राइवर
इसे इंस्टॉल करें और "Device Manager" में सफलता सत्यापित करें: एमिटर कनेक्टेड होने पर, डिवाइस का नाम बिना पीले त्रुटि त्रिकोण के दिखाई देता है। एक साथ दो एमिटर PC से कनेक्ट न करें! WibbleWobble केवल एक इंस्टेंस के साथ काम कर सकता है। इंस्टॉलेशन के चरण देखें NVIDIA Gaming अनुभाग में।

चरण 3. WibbleWobble डाउनलोड करें और अनपैक करें
यहाँ जाएँ Releases पेज पर GitHub पर। नवीनतम संस्करण डाउनलोड करें और इसे एक सुविधाजनक फ़ोल्डर में निकालें। फ़ोल्डर को स्थायी स्थान में चुनें - एप्लिकेशन रजिस्टर होने के बाद इसे स्थानांतरित नहीं किया जा सकता। फ़ोल्डर पथ बिना स्पेस के और केवल लैटिन अक्षरों का उपयोग करके लिखा जाना चाहिए।

चरण 4. सिस्टम में सामान्य रजिस्ट्रेशन
हम WibbleWobble फ़ाइलों और COM घटकों को सिस्टम में रजिस्टर करते हैं ताकि Windows को पता हो कि एप्लिकेशन कहाँ स्थित है। यह दोनों क्लाइंट्स, ReShade और OpenVR के लिए आवश्यक है। WibbleWobbleClient फ़ोल्डर में जाएँ। Register.bat फ़ाइल पर राइट-क्लिक करें और "Run as administrator" चुनें। इसे पूरा होने दें; परिणाम के बारे में संदेश के साथ एक काली कंसोल विंडो खुलेगी।

चरण 5. Windows तैयार करें
एक अनिवार्य आइटम - इसके बिना छवि टूट जाएगी: Windows सेटिंग्स में स्क्रीन स्केलिंग अक्षम करें। Display > Scale > 100% सेट करें।

चरण 6. GPU Tweak 3 अक्षम करें और समान ASUS उपयोगिताएँ यदि इंस्टॉल हों। वे विलंबता लाते हैं और छवि को हकलाने का कारण बनते हैं, जिससे 3D खराब होता है।

चरण 7. डिस्प्ले और ग्राफ़िक्स कार्ड कॉन्फ़िगर करें
प्राथमिक के अलावा सभी डिस्प्ले अक्षम करें!
1. NVIDIA 3D stereo - बंद
2. G-Sync - बंद
3. Monitor - प्राथमिक के रूप में सेट करें
4. Monitor FPS - 120 Hz
5. Low Latency Mode - Ultra
6. Power Management - Prefer Maximum Performance
7. Vertical Sync - Use the 3D application setting
8. Max Frame Rate - 120 Hz

चरण 8. एक परीक्षण गेम लोड करें
सुविधा के लिए हम मुफ़्त बेंचमार्क का उपयोग करेंगे Superposition। इसका उपयोग दोनों क्लाइंट्स का परीक्षण करने के लिए किया जा सकता है।
open-vr

केस: OpenVR क्लाइंट

चरण 1. SteamVR इंस्टॉल करें
से Steam। यह मुफ़्त है।

steam

चरण 2. SteamVR में OpenVR क्लाइंट ड्राइवर जोड़ें
WibbleWobble -> WibbleWobbleVR फ़ोल्डर खोलें। इसके अंदर एक और WibbleWobbleVR फ़ोल्डर है। इसे यहाँ कॉपी किया जाना चाहिए: \Steam \steamapps \common \SteamVR \drivers - यही ड्राइवर इंस्टॉलेशन है।

चरण 3. SteamVR Home अक्षम करें
ताकि स्टार्टअप पर Steam अपना खुद का 3D वातावरण लॉन्च न करे और स्क्रीन को कैप्चर न करे, config\steamvr.vrsettings फ़ाइल में, "steamvr" सेक्शन में निम्नलिखित जोड़ें: "enableHomeApp" : false, ऐसा करते समय SteamVR पूरी तरह से बंद होना चाहिए; Task Manager में vrmonitor.exe और vrserver.exe की जाँच करें।

चरण 4. टेस्ट गेम लॉन्च करें
डेस्कटॉप आइकन पर क्लिक करके Superposition खोलें। OpenVR Client के माध्यम से प्रदर्शित करने के लिए, चुनें:

Virtual Reality
Graphics API - DirectX
VR Headset - SteamVR

run test
अगर सब कुछ सही ढंग से किया गया और SteamVR ने कॉन्फ़िग पढ़ लिया, तो उसे तुरंत "हेडसेट जैसे" दृश्य के साथ नियंत्रण इंटरफ़ेस की छवि दिखानी चाहिए। लेकिन हमारे लिए ऐसा नहीं होता। कीबोर्ड से WibbleWobble इंटरफ़ेस को किए गए कोई भी कॉल कुछ नहीं करते। माउस काम करना बंद कर चुका है और नियंत्रण काम नहीं करता। एमिटर को सक्षम करना या आगे कुछ भी करना असंभव है...

इस बिंदु पर आपको कंप्यूटर को रीबूट करना चाहिए!

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

चरण 5. ग्राफ़िक्स डिस्प्ले कॉन्फ़िगरेशन
WibbleWobble इंटरफ़ेस खोलने के लिए SHIFT + END दबाएँ। Game Config मेनू आइटम पर जाएँ। डिस्प्ले पर गेम विंडो के लिए सुविधाजनक आकार और "विश्व" देखने के कोण अपनी पसंद के अनुसार सेट करें। उन्हें बहुत बड़ा न बनाएँ; लक्ष्य रखें कि छवि प्राकृतिक दिखे। किसी भी पैरामीटर को बदलने के बाद, Enter और Save दबाएँ, अन्यथा क्लाइंट सेटिंग्स याद नहीं रखेगा और आपको उन्हें फिर से करना पड़ेगा।

चरण 6. 3D सिंक्रोनाइज़ेशन सक्षम करें
Emitter Config पर जाएँ: चेकबॉक्स के साथ NVIDIA 3D एमिटर सक्षम करें। विंडो के शीर्ष पर दिए गए संकेत के अनुसार Sync Rate HZ सेट करें। एमिटर की LED चमकदार हरी होनी चाहिए। चश्मे पर पावर बटन दबाएँ और जाँचें कि स्टीरियो दिखाई दिया या नहीं।

चरण 7. सिंक्रोनाइज़ेशन समायोजित करें
अगर चश्मा चालू हो गया लेकिन स्टीरियो नहीं है / या वह दोहरा हो रहा है / टिमटिमा रहा है / दृष्टिकोण आपस में बदल गए हैं:
Sync Offset Microseconds समायोजित करें - वह चरण जिस पर चश्मा खुलता है। Open Duration Microseconds को ट्यून करें - वह अवधि जितनी देर लेंस खुले रहते हैं। पैरामीटर को Sync Rate अवधि से कम सेट करें (मान विंडो के शीर्ष पर दिखाया जाता है), अन्यथा स्टीरियो गायब हो जाएगा। लक्ष्य: न्यूनतम दोहराव (क्रॉस-टॉक) प्राप्त करना। बाएँ आँख की छवि दाएँ में उल्लेखनीय रूप से नहीं रिसनी चाहिए। बाद में हम सभी पैरामीटर के साथ एक अनुकूलित कॉन्फ़िगरेशन फ़ाइल संलग्न करेंगे।

OpenVR Client के अनुभव
3D गुणवत्ता बहुत अच्छी है! दृश्यों की गहराई आश्चर्यजनक है, ज्यामितीय रूप से सही, रूपांतरण में निहित दोषों के बिना और हेडसेट के लेंस विरूपण के बिना। सब कुछ समान, साफ, तेज है, और वास्तविक दुनिया जैसा दिखता है। लेकिन क्रॉस-टॉक (घोस्टिंग) है, मोटे तौर पर ~1% अनुमानित। हम चश्मे के सिंक्रोनाइज़ेशन पैरामीटर को हाथ से सटीक रूप से ट्यून करने में सक्षम नहीं थे। आदर्श के करीब पहुंचने के लिए, आपको एक साथ कई सेटिंग्स को अलग-अलग डायलॉग में हाथ से समायोजित करना होगा। यह एक कठिन कार्य है, खासकर गतिशील दृश्यों में। एक स्वचालित ऑप्टिमाइज़र जोड़ना होगा, जो हम जल्द ही करेंगे।
कुल मिलाकर - प्रभाव बहुत सकारात्मक हैं...

अगला, हम ReShade क्लाइंट के माध्यम से DirectX 9, 10 पर बने पुराने गेम्स को कनेक्ट करने का प्रयास करेंगे। यह काफी कठिन है, इसलिए हम जल्दबाजी नहीं करेंगे।

जारी रहेगा - बाद में फिर देखें...


Homepage Terms & Conditions About Us Privacy Policy Business Info Contacts Payment Shipping Send Msg