मैंने हाल ही में सोचा था कि ओपनजीएल पुरानी (बहिष्कृत) कार्यक्षमता से स्विच करना एक अच्छा विचार होगा, जैसे मैट्रिक्स ऑपरेशंस और फिक्स्ड फ़ंक्शन पाइपलाइन।क्या glm :: ortho() वास्तव में गलत है?
मैं जीएलएम का उपयोग अपनी मैट्रिक्स लाइब्रेरी के रूप में चीजों को सरल बनाने के लिए कर रहा हूं। समस्या यह है कि इससे सरलीकृत होने की तुलना में अधिक समस्याएं हो सकती हैं ...
परिप्रेक्ष्य अनुमान मेरे शेडर्स और सेटअप के साथ ठीक काम करते थे, लेकिन जब मैंने ऑर्थोगोनल पर स्विच करने की कोशिश की, तो सबकुछ टूट गया। मेरे अंक और सरल quads प्रदर्शित नहीं होगा। जब मैंने पुराने ओपनजीएल मैट्रिस का इस्तेमाल किया, तो चीजें फिर से काम करना शुरू कर दीं।
मैंने इसे सब प्रक्षेपण मैट्रिक्स में संकुचित कर दिया। यहाँ कैसे मैं इसे कहा जाता है:
glm::mat4 projMat = glm::ortho(0, 400, 0, 400, -1, 1);
मुझे लगता है कि ओपन के द्वारा आपूर्ति की तुलना में एक बार इस "कहा जाता है
glOrtho(0, 400, 0, 400, -1, 1);
केवल मतभेद [0] [0] तत्व और [1 हैं ] [1] तत्व (जो, जहां तक मुझे पता है, क्रमशः "2/चौड़ाई" और "2/ऊंचाई" के बराबर हो)। ओपनजीएल मैट्रिक्स से, मान बिल्कुल ठीक थे! ग्लम मैट्रिक्स पर, हालांकि, मान 0
एक बार जब मैंने glm :: ortho कहा, तो मैन्युअल रूप से ग्लम मैट्रिक्स से मानों को मैन्युअल रूप से स्विच कर दिया, सब कुछ फिर से काम कर रहा था!
तो मेरा सवाल है: glm :: ortho() फ़ंक्शन वास्तव में टूटा हुआ है, या क्या मैं इसे गलत उपयोग कर रहा हूं?
वाह, आप जगह पर थे! मेरे पैरामीटर को तैरने के बाद बदलने के बाद, सबकुछ बाहर निकला। इसे साफ़ करने के लिए धन्यवाद :) –