2008-11-12 14 views
7

क्या ओपनजीएल एक सामान्य वेक्टर को बदलने का कोई तरीका है, मैं इसे वर्तमान मॉडलव्यू मैट्रिक्स के साथ देता हूं और परिणाम वापस प्राप्त करता हूं?ओपनजीएल: मॉडलव्यू मैट्रिक्स द्वारा एकाधिक उपयोगकर्ता वेक्टर?

मॉडलव्यू मैट्रिक्स से पूछताछ करने और खुद को गुणा करने के लिए स्पष्ट तरीका है लेकिन मुझे यकीन है कि ओपनजीएल मेरे लिए ऐसा करने का एक तरीका होना चाहिए।

उत्तर

5

आप सही हैं, आपको मॉडलव्यू मैट्रिक्स प्राप्त करना होगा और वेक्टर को स्वयं बदलना होगा।

एक पुष्टि के लिए, अनुच्छेद 9.120 पर this link देखें।

4

ओपनजीएल के बाहर की गणना करना सबसे अच्छा है। The Matrix and Quaternions FAQ गणना करने के लिए एक अच्छा संसाधन है यदि आप पहले से नहीं जानते हैं तो गणना कैसे करें। के रूप में

float modelview[16]; 
glGetFloatv(GL_MODELVIEW_MATRIX, modelview); 
0

यह सीपीयू तरफ परिवर्तनों करने के लिए शायद सबसे अच्छा है इस प्रकार आप 4x4 मॉडल-व्यू मैट्रिक्स लाने। एकमात्र अन्य तरीका मैं सोच सकता हूं कि प्लस एक वर्टेक्स शेडर का उपयोग करना है जो केवल मॉडलव्यू रूपांतरण करता है।

-1

कारण ओपनग्ल शायद आपके लिए ऐसा नहीं करेगा क्योंकि गणना प्रतिपादन पाइपलाइन का हिस्सा नहीं है। और ओपनगल (अधिकांश भाग के लिए) केवल प्रदर्शन लूप के दौरान गणना करता है। तो इस तरह के तुल्यकालिक इंटरफेस प्रदान करने के लिए यह समझ में नहीं आता है।

संबंधित मुद्दे