OpenGL में एक सर्कल कैसे रेंडर करना है

लेखक: Eugene Taylor
निर्माण की तारीख: 13 अगस्त 2021
डेट अपडेट करें: 1 जुलाई 2024
Anonim
मंडलियां कैसे प्रस्तुत करें (ओपनजीएल/वल्कन/डायरेक्टएक्स/धातु)
वीडियो: मंडलियां कैसे प्रस्तुत करें (ओपनजीएल/वल्कन/डायरेक्टएक्स/धातु)

विषय

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

चरण 1

ओपनजीएल व्यूपोर्ट के साथ एक बुनियादी कार्यक्रम बनाएं। यदि आप इस प्रक्रिया से परिचित नहीं हैं, तो OpenGL पेज पर एक ट्यूटोरियल है।


चरण 2

कार्यक्रम की शुरुआत में निम्नलिखित कोड दर्ज करके अपने प्रोग्राम में math.h.header फ़ाइल जोड़ें: #include । यह आपको सर्कल की गणना करने के लिए आवश्यक कॉस () और पाप () (साइन और कोज़ाइन) फ़ंक्शन प्रदान करेगा।

चरण 3

कॉलबैक फ़ंक्शन को प्रदर्शित करने से पहले निम्नलिखित कोड जोड़कर सर्कल विधि शुरू करें:

शून्य ड्राक्रिसल (ग्लिंट x, ग्लिंट y, ग्लिंट त्रिज्या, इंट अंक_लाइन्स) {}

चर "x" और "y" का उपयोग आपकी विंडो में सर्कल के केंद्र को परिभाषित करने के लिए किया जाएगा, जबकि "त्रिज्या" सर्कल के त्रिज्या को स्थापित करता है। पूर्णांक "num_lines" सर्कल की रचना करने के लिए उपयोग की जाने वाली लाइनों की संख्या है। यह संख्या जितनी अधिक होगी, सर्कल उतना ही चिकना दिखाई देगा।

चरण 4

कुंजियों के अंदर निम्न कॉन्फ़िगरेशन कोड जोड़ें:

फ्लोट एंगल GO int num_lines GO glColor3f (0.0, 0.0, 0.0) GO।

"कोण" चर में सर्कल के निर्माण के लिए उपयोग की जाने वाली लाइनों का कोण होगा। GlColor3f () फ़ंक्शन को कॉल करने से लाइनों का रंग काला हो जाता है, जहां तीन 0 की श्रृंखला 0 से 1 के पैमाने पर लाल, हरे और नीले रंग की तीव्रता से मेल खाती है।


चरण 5

नीचे दिए गए कोड जोड़ें glColor3f () चरण 4 से कार्य:

glBegin (GL_LINE_LOOP) GO

यह ओपनजीएल बताता है कि किसी भी बाद की लाइनों में ड्राइंग लाइनें शामिल हैं। विशेष रूप से, यह "GL_LINE_LOOP" आकर्षित करेगा, जो कि कनेक्टेड लाइनों की एक श्रृंखला है।

चरण 6

GlBegin () कॉल के बाद लूप के लिए निम्न कोड दर्ज करें:

for (int i = 0; i <row_number; i ++) {कोण = i * 2 * M_PI / num_line; glVertex2f (x + (cos (कोण) * त्रिज्या), y + (पाप (कोण) * त्रिज्या); }

यह लूप तीन काम करता है। सबसे पहले, यह "num_lines" के मूल्य के अनुसार पुनरावृत्त होता है, जहाँ num_lines एक पूर्णांक होता है, प्रत्येक पुनरावृत्ति में एक रेखा खींचता है और जिसके परिणामस्वरूप एक वृत्त सीधी रेखाओं से बना होता है num_lines। दूसरा, यह रेडियन में सर्कल के केंद्र के सापेक्ष लाइनों के कोण की गणना करता है। "M_P" गणित में एक निरंतर परिभाषित है। पी का प्रतिनिधित्व करता है। अंत में, glVertex2f () के लिए कॉल लाइनों के अंत बिंदुओं के निर्देशांक की गणना करता है।


चरण 7

लूप-टू के बाद, कोड की निम्नलिखित पंक्ति दर्ज करें:

glEnd () GO

यह ओपनजीएल को बताएगा कि आपने लाइनें खींचना समाप्त कर दिया है।

चरण 8

किसी दृश्य में सर्कल को आकर्षित करने के लिए, ड्राचर्कल () विधि से प्रोग्राम के कॉलबैक डिस्प्ले फ़ंक्शन में एक कॉल जोड़ें, जिसे चरण 1 में तैयार किया जाना चाहिए। x, y, त्रिज्या और num_lines के मूल्यों को निर्दिष्ट करें, जहां x और y एक बिंदु का प्रतिनिधित्व करते हैं। आपके दृश्य में, त्रिज्या वृत्त की त्रिज्या है, और num_lines सर्कल को बनाने वाली लाइनों की संख्या है। फिर से, यदि आप OpenGL और कॉलबैक डिस्प्ले से परिचित नहीं हैं, तो OpenGL ट्यूटोरियल देखें।

चरण 9

अपने प्रोग्राम को संकलित करें और चलाएं। यदि आपने फ़ंक्शन ठीक से दर्ज किया है, तो उसे त्रुटियों के बिना संकलन करना चाहिए। यदि आपने x, y और त्रिज्या के मानों को निर्दिष्ट किया है, तो आपको एक सफेद पृष्ठभूमि पर प्रदर्शित एक काला वृत्त देखना चाहिए।

जब हम एमरेलिस के बारे में सोचते हैं, तो जो छवि हम देखते हैं वह लंबा बल्ब और मोटी उपजी है जो अंततः रसीला और रंगीन फूल पैदा करते हैं। लेकिन परागकण परागण होने पर बीज का उत्पादन कर सकते हैं। ठंड के मौसम म...

ब्रूसेल्स स्प्राउट्स को उनके कड़वे स्वाद और मजबूत गंध के कारण खराब प्रतिष्ठा मिली है जब वे बिंदु पर पकाया जाता है। वास्तव में, जब वे ठीक से तैयार होते हैं, तो उनके पास एक मीठा स्वाद और एक हल्की सुगंध ...

तात्कालिक लेख