मैं शेडर्स के साथ एक रेखा (संभावित रूप से रंगीन) कैसे बनाऊंगा? मैं प्रोग्राम करने योग्य पाइपलाइन का उपयोग कर रहा हूं और मैं ओपनजीएल के साथ शुरुआत कर रहा हूं। मुझे शेडर्स के साथ लाइनों को आकर्षित करने के बारे में एक उदाहरण नहीं मिल रहा है .. मुझे लगता है कि मुझे शेडर में वीएओ (वर्टिस एरे ऑब्जेक्ट) लोड करना होगा, लेकिन फिर क्या? मुझे किस काम का उपयोग करना चाहिए और कैसे?ओपनजीएल: शेडर्स के साथ लाइनें
14
A
उत्तर
9
सबसे पहले, शेडरप्रोग्राम का उपयोग करें सेट करें। फिर मोड = GL_LINES या अन्य लाइन ड्राइंग मोड में से एक के साथ glDrawArrays (या यदि आपका डेटा अनुक्रमित किया गया है) का उपयोग करके लाइनें खींचे।
यहां प्रत्येक छोर में अलग-अलग रंग के साथ 2 डी लाइनों के लिए एक कोड उदाहरण है। यदि छायांकन मोड चिकनी करने के लिए सेट किया गया है, तो ओपनजीएल लाइन के साथ रंगों को अलग करेगा।
struct LineSegment_t
{
float x1, y1;
float r1,g1,b1,a1;
float x2, y2;
float r2,g2,b2,a2;
};
int num_verts = lines.size()*2;
glBindVertexArray(line_vao); // setup for the layout of LineSegment_t
glBindBuffer(GL_ARRAY_BUFFER, LineBufferObject);
glBufferData(GL_ARRAY_BUFFER, sizeof(LineSegment_t)/2 * num_verts, &lines[0], GL_DYNAMIC_DRAW);
glDrawArrays(GL_LINES, 0, num_verts);
आप अधिक लचीलेपन की जरूरत है, तो आप लाइन अंतिमबिंदुओं से एक आयत (4 अंक) बनाने के द्वारा त्रिकोण का उपयोग कर लाइनों आकर्षित कर सकते हैं। 2 डी में आप वांछित रेखा से लाइन सामान्य/लंबवत (-y, x) का उपयोग करके एंडपॉइंट्स का अनुवाद करके 4 अंक बना सकते हैं। 3 डी में आपको यह सुनिश्चित करने की ज़रूरत है कि त्रिकोण को बिलबोर्डिंग के रूप में कैमरे के साथ गठबंधन किया गया हो।
संबंधित मुद्दे
- 1. ओपनजीएल शेडर्स
- 2. ओपनजीएल ईएस और ओपनजीएल संगत शेडर्स
- 3. ओपनजीएल शेडर्स का प्रदर्शन प्रोफाइलिंग
- 4. देव-सी ++ और एसडीएल के साथ ओपनजीएल v2.0 शेडर्स?
- 5. ओपनजीएल ईएस 2.0 शेडर्स के साथ चिकनी बनावट लाइन
- 6. ओपनजीएल इंजन में जीएलएसएल शेडर्स व्यवस्थित करना
- 7. शेडर्स
- 8. शेडर्स के बिना ओपनजीएल ईएस के लिए फ़ोटोशॉप ब्लेंडिंग मोड
- 9. शेडर्स
- 10. आधुनिक ओपनजीएल शेडर्स को एक दूसरे के साथ संगत होने के लिए कैसे लिखा जाना चाहिए?
- 11. क्या वेब पर कोई उदाहरण है कि शेडर्स डिटेक्शन शेडर्स के साथ कैसे कार्यान्वित किया जा सकता है?
- 12. ओपनजीएल: बहिष्करण के साथ क्या सौदा है?
- 13. ओपनजीएल
- 14. ओपनजीएल
- 15. ओपनजीएल ट्यूब पथ के साथ
- 16. पिक्सल बेंडर शेडर्स फ्लैश में एकाधिक आउटपुट के साथ?
- 17. ओपनजीएल शेडर्स में NaN के पता लगाने का सबसे अच्छा तरीका
- 18. एक ही ओपनजीएल प्रोग्राम में एक ही प्रकार के एकाधिक शेडर्स संलग्न करना?
- 19. ओपनजीएल
- 20. ओपनजीएल
- 21. ओपनजीएल
- 22. एक निश्चित बीज के साथ एक फाइल की शफल लाइनें?
- 23. ओपनजीएल शेडर
- 24. ओपनजीएल (गैर शेडर)
- 25. फ़ाइल में लाइनें जोड़ें
- 26. आप जीएलएसएल में लिखे गए ओपनजीएल शेडर्स का परीक्षण कैसे करते हैं?
- 27. PHP कई नई लाइनें
- 28. RichTextBox रंग चयनित लाइनें
- 29. विम - हाइलाइट लाइनें
- 30. ओपनजीएल खंड शेडर्स कैसे जानते हैं कि बनावट में नमूना नमूना करना है?
क्या आप त्रिकोण खींचने के बारे में जानते हैं? यह वास्तव में कोई अलग नहीं है, आप केवल GL_TRIANGLES के बजाय GD_LINES निर्दिष्ट करते हैं GlDrawArrays/glDrawElements – Tim
कोई उदाहरण कोड? –