OpenGL के साथ PSX के ग्राफिक्स का अनुकरण कैसे करें?


13

मैं जानना चाहता हूं कि कौन से विकल्प (या शेड्स) सेट करने हैं ताकि मेरा ओपनगैल गेम प्लेस्टेशन 1 गेम की तरह दिखे। मुझे पता है कि शायद इसे 100% हासिल नहीं किया जा सकता क्योंकि PSX टेलीविजन का इस्तेमाल करता था और टेलीविजन अलग-अलग तरीके से मॉनिटर करता है। धन्यवाद। :)


1
आप विकी पेज पर कुछ उपयोगी हार्डवेयर जानकारी पा सकते हैं ।
जोनाथन कॉनेल

2
मुझे याद है कि हाल ही में किसी व्यक्ति के लिए एक कड़ी थी, जिसने एलसीडी मॉनिटर के साथ पीसी पर एसएनईएस गेम के सीआरटी महसूस को दोहराने के लिए शेड बनाए थे। मैं आश्वस्त था। altdevblogaday.com/2011/07/18/…
dascandy

जवाबों:


24

मेरी राय में, एक पीएसएक्स दृश्य की तरह ओपनग्ल दृश्य बनाने के लिए सबसे महत्वपूर्ण बिट्स यह सुनिश्चित करना होगा कि फ़िल्टरिंग बंद हो (पीएस 1 केवल निकटतम पड़ोसी था), और जेड बफ़रिंग बंद करें (कोई भी नहीं था) और प्रस्तुत करना चित्रकारों एल्गोरिथ्म के साथ अपने दृश्य।

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

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

मैं आपको अनुशंसा करता हूं कि आप वर्टेक्स ट्रांसफॉर्म को देखें: PS1 में फ्लोट्स नहीं थे, इसलिए रेंडरिंग फिक्स्ड पॉइंट पाइपलाइनों के साथ हुई, यह एनिमेशन खेलते समय घबराने वाली गति का कारण है। केवल इतने ही पद थे जिनमें एक वर्टेक्स हो सकता है, और 16 बिट निश्चित बिंदु पर, वह सब भी कई पदों पर नहीं था। कुछ PS1 youtube वीडियो की एक घड़ी के लिए एक विचार प्राप्त करें कि यह कैसे खेल को प्रभावित करता है, http://www.youtube.com/watch?v=RSV4IBa1pMIआप यहां देख सकते हैं कि इसका मतलब है कि सीधी रेखाएं घिर जाती हैं जब कैमरा क्षैतिज के करीब होता है। मुझे लगता है कि इसका अनुकरण करने का एक अच्छा तरीका सॉफ्टवेयर में आपकी दुनिया को बदलना होगा (जैसे पीएस 1 ने किया) और हमेशा आउटपुट वाली पूरी संख्या स्क्रीन उत्सर्जित स्क्रीन आकार के लिए समन्वयित करती है (जो प्रमुख कारणों में से एक थी कि पोल के आसपास घबराहट क्यों हुई, वे उप-पिक्सेल को प्रदान नहीं किया जा सकता)।

संपादित करें

बनावट तैरना PS1 के कारण बिल्कुल 3 डी प्रक्षेप नहीं था। जैसा कि user712092 ने उल्लेख किया है, affine रेंडरर केवल स्क्रीन स्पेस में अंतर कर सकता है इसलिए हमने अपने विकर्णों को गलत तरीके से समाप्त कर दिया। यह noperspectiveआपके प्रक्षेप क्वालिफायर को चालू करके , या दृश्य को परिवर्तित करके हाथ से लागू किया जा सकता है , और उस z मान द्वारा x और y स्क्रीन निर्देशांक को विभाजित करने के बाद अपने शीर्ष में अंतिम Z मान को त्यागना होगा।


अच्छी अंतर्दृष्टि;)
जोनाथन कॉनेल

@ रीचर्ड बनावट तैरना? क्या यह परिप्रेक्ष्य सुधार का आंशिक या पूर्ण अभाव है ? उदाहरण के लिए, क्वेक ने प्रत्येक एन पिक्सल को परिप्रेक्ष्य सुधार दिया।
user712092

@ रीचर्ड तो इसका मतलब है कि मुझे 16 बिट्स तय बिंदु बी का अनुकरण करने के लिए क) शीर्ष शेड का सहारा लेना होगा, निश्चित नहीं है कि अगर ग्लेवरटेक्स 3 एस इसे हल करता है तो) कुछ निश्चित बिंदु ओपनगेल लाइब्रेरी हैं।
user712092

3
वाह। आप यह सब कैसे जानते हैं?
ashes999

@ ashes999 मैं 10 से अधिक वर्षों के लिए पेशेवर गेम डेवलपर रहा हूं।
रिचर्ड फैबियन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.