2011-04-25 23 views
7

के साथ समस्या मैं glDrawElements पर केवल एक कॉल के साथ एकाधिक त्रिकोण स्ट्रिप्स खींचने की कोशिश कर रहा हूं और इस मामले पर मेरा शोध मुझे बताता है कि मुझे अपरिवर्तनीय त्रिकोण का उपयोग करने की आवश्यकता है। हो सकता है कि इस विषय पर मेरी समझ गलत है लेकिन मैंने सोचा कि यह मुझे एक पट्टी से दूसरी तरफ "कूद" करने की अनुमति देनी चाहिए।degenerate त्रिकोण और GL_TRIANGLE_STRIP

इसके लिए मेरा पूरा कोड this recent question I posted पर पाया जा सकता है, यदि आपको लगता है कि यह प्रासंगिक है तो वहां एक नज़र डालें।

मैं मूल रूप से 4 त्रिकोण (सरलीकरण उद्देश्यों के लिए) को 4 त्रिकोणों के साथ खींचने की कोशिश कर रहा हूं, लेकिन एक-दूसरे से अलग हो गया हूं। उसके लिए मैं इस तरह के सूचकांक का उपयोग करें:

:

unsigned int indices[] = { 0, 256, 1, 257, 257, 2, 2, 258, 3, 259 }; 

पहले पट्टी के पहले शिखर 0 पर शुरू होता है और दूसरी पट्टी की पहली शिखर 256. इस पर शुरू होता है इस सूचकांक के अंतिम परिणाम है http://i.stack.imgur.com/6Q3FD.jpg

क्या यह सही है या मैं यह सोचने में सही हूं कि 2 क्वाड "कनेक्टिंग" लाइन बिल्कुल नहीं होनी चाहिए?

+1

ध्यान दें कि यदि आप ओपनजीएल 3.1 सक्षम कार्ड पर चलते हैं, तो आप उसी प्रभाव पर आदिम पुनरारंभ का उपयोग कर सकते हैं, लेकिन कम परेशानी के साथ। यह एक विशेष (अप्रयुक्त, विन्यास योग्य) इंडेक्स डालने से काम करता है जो जीएल को एक नया आदिम शुरू करता है। – Damon

उत्तर

6

दिखाया गया चित्र सही है। यह चाल वायरफ्रेम के लिए काम नहीं करती है। यदि आप भरे त्रिकोणों को चित्रित कर रहे थे, तो शून्य क्षेत्र वाला त्रिकोण दिखाई नहीं देगा, लेकिन आप रूपरेखा तैयार कर रहे हैं।

+0

दिलचस्प, यह सच है lol। तार-फ्रेम केवल परीक्षण उद्देश्यों के लिए था, यह देखना आसान है कि मेस अच्छी तरह से बनाया गया है, मैं इस छोटे से क्विर्क से अनजान था। –