मेरी राय में, एक पीएसएक्स दृश्य की तरह ओपनग्ल दृश्य बनाने के लिए सबसे महत्वपूर्ण बिट्स यह सुनिश्चित करना होगा कि फ़िल्टरिंग बंद हो (पीएस 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 मान को त्यागना होगा।