में बनावट निर्देशांक के परिप्रेक्ष्य में सुधार मैं एक सॉफ्टवेयर रेंडरर लिख रहा हूं जो वर्तमान में अच्छी तरह से काम कर रहा है, लेकिन मैं बनावट निर्देशांक के परिप्रेक्ष्य में सुधार करने की कोशिश कर रहा हूं और यह सही नहीं लगता है। मैं अपने रेंडरर के लिए ओपनएल के रूप में सभी मैट्रिक्स गणित का उपयोग कर रहा हूं।3 डी
modelview और प्रक्षेपण matrixes का उपयोग कर कोने को बदलने, और क्लिप निर्देशांक में बदलना: एक त्रिकोण मैं निम्न कार्य rasterise करने के लिए। (डब्ल्यू गहराई का समन्वय है:
- प्रत्येक त्रिकोण में प्रत्येक पिक्सेल के लिए
, गुण (रंग, बनावट निर्देशांक, Normals आदि)
परिप्रेक्ष्य के लिए सही करने के लिए मैं परिप्रेक्ष्य सही प्रक्षेप का उपयोग अंतर्वेशन को barycentric निर्देशांक की गणना शिखर, सी बनावट शिखर का समन्वय है, ख एक शीर्ष की barycentric वजन) है
1/w = b0*(1/w0) + b1*(1/w1) + b2*(1/w2) c/w = b0*(c0/w0) + b1*(c1/w1) + b2*(c2/w2) c = (c/w)/(1/w)
यह परिप्रेक्ष्य के लिए सही होना चाहिए, और यह थोड़ा सा मदद करता है, लेकिन अभी भी एक स्पष्ट परिप्रेक्ष्य समस्या है। क्या मुझे यहां कुछ याद आ रहा है, शायद कुछ गोल करने वाले मुद्दे (मैं सभी गणित के लिए फ्लोट का उपयोग कर रहा हूं)?
इस छवि में देखें विकर्ण के साथ स्पष्ट बनावट बनावट में त्रुटि, परिणामस्वरूप गहराई निर्देशांक द्वारा विभाजन किया गया है।
इसके अलावा, यह आम तौर पर बनावट के लिए किया जाता है निर्देशांक ... यह अन्य संपत्तियों (जैसे normals आदि) के रूप में अच्छी तरह से करने के लिए आवश्यक है?
स्क्रीनशॉट उपयोगी हो सकता है। – genpfault
मैं स्क्रीनशॉट नहीं जोड़ सकता जब तक कि मेरी रेटिंग 10 :( –
आपके पास अब रेटिंग है: D – Bahbar