ओपनजीएल व्यूपोर्ट ट्रांसफॉर्मेशन - ओपनजीएल

मैं सोच रहा था कि ओपनजीएल विंडो में व्यूपोर्ट परिवर्तन कैसे संभालता है।

जैसा कि मैं समझता हूं कि व्यूपोर्ट रूपांतरण यह है कि यह दृश्य उस दृश्य में व्यूपोर्ट परिवर्तन लागू करके ओपनजीएल विंडो पर दृश्य को फैलाता है।

मुझे सही जवाब दो अगर मैं गलत हूँ।

उत्तर:

जवाब के लिए 2 № 1

http://www.songho.ca/opengl/gl_transform.html:

विंडो समन्वय (स्क्रीन समन्वय)

यह सामान्यीकृत डिवाइस को लागू करके उत्पन्न होता हैनिर्देशांक (एनडीसी) से व्यूपोर्ट परिवर्तन। एनडीसी को क्रमबद्ध और अनुवादित किया जाता है प्रतिपादन स्क्रीन में फिट। खिड़की निर्देशांक आखिरकार हैं ओपनजीएल पाइपलाइन की raterization प्रक्रिया को पारित करने के लिए पारित किया टुकड़ा। glViewport () कमांड का उपयोग आयत को परिभाषित करने के लिए किया जाता है प्रतिपादन क्षेत्र जहां अंतिम छवि मैप की गई है। और, glDepthRange () है विंडो निर्देशांक के जेड मान को निर्धारित करने के लिए प्रयोग किया जाता है। खिड़की निर्देशांक उपर्युक्त 2 के दिए गए मानकों के साथ गणना की जाती हैं कार्य;

गणित विवरण देखने के लिए लिंक का पालन करें।


उत्तर № 2 के लिए 1

बाद कतरन तथा परिप्रेक्ष्य विभाजित करें, सभी शेष (दृश्यमान) vertex निर्देशांक x, y, z -1 और +1 के बीच हैं - इन्हें कहा जाता है सामान्यीकृत डिवाइस निर्देशांक। ये मैप किए गए हैं डिवाइस निर्देशांक उपयुक्त पैमाने और शिफ्ट द्वारा - यानी, व्यूपोर्ट परिवर्तन.

उदाहरण के लिए, यदि व्यूपोर्ट का आकार 1024x768 है16-बिट गहराई बफर के साथ और मूल (0,0) है, तो अंक (512,384,2 ^ 14) द्वारा स्केल किए जाएंगे और (512,384,2 ^ 14) द्वारा स्थानांतरित किए जाएंगे, जिसके लिए उपयुक्त पिक्सेल और गहराई मान मिलेगा डिवाइस।


संबंधित सवाल
सबसे लोकप्रिय