2009-02-12 7 views
9

मैं 2 डी में जीएलयूटी का उपयोग कर स्क्रीन पर टेक्स्ट खींचने का प्रयास कर रहा हूं।स्क्रीन पर टेक्स्ट खींचने के लिए मैं C++ में glutBitmapString() का उपयोग कैसे करूं?

मैं glutBitmapString() का उपयोग करना चाहता हूं, क्या कोई मुझे एक सरल उदाहरण दिखा सकता है कि आपको सेटअप करने के लिए क्या करना है और सी ++ में इस विधि का सही तरीके से उपयोग करना है, इसलिए मैं एक (एक्स, वाई) स्थिति पर एक मनमानी स्ट्रिंग खींच सकता हूं?

glutBitmapString(void *font, const unsigned char *string); 

मैं लिनक्स का उपयोग कर रहा है, और मुझे लगता है मैं एक फ़ॉन्ट वस्तु बनाने के लिए की जरूरत है पता है, हालांकि मुझे यकीन है कि वास्तव में कैसे और मैं इसे दूसरे तर्क के रूप में तार के साथ आपूर्ति कर सकते हैं नहीं कर रहा हूँ। हालांकि, मैं एक्स/वाई स्थिति कैसे निर्दिष्ट करूं?

इसका एक त्वरित उदाहरण मुझे बहुत मदद करेगा। यदि आप मुझे फ़ॉन्ट बनाने से दिखा सकते हैं, तो उस विधि को कॉल करने के लिए जो सबसे अच्छा होगा।

उत्तर

11

glutBitmapString() पर कॉल करने से पहले आपको रास्टर स्थिति सेट करने के लिए glRasterPos का उपयोग करना होगा। ध्यान दें कि glutBitmapString() पर प्रत्येक कॉल रास्टर स्थिति को आगे बढ़ाती है, इसलिए कई लगातार कॉल स्ट्रिंग्स को एक के बाद प्रिंट करेंगे। आप glColor() का उपयोग करके टेक्स्ट रंग भी सेट कर सकते हैं। उपलब्ध फोंट का सेट here सूचीबद्ध है।

// Draw blue text at screen coordinates (100, 120), where (0, 0) is the top-left of the 
// screen in an 18-point Helvetica font 
glRasterPos2i(100, 120); 
glColor4f(0.0f, 0.0f, 1.0f, 1.0f); 
glutBitmapString(GLUT_BITMAP_HELVETICA_18, "text to render"); 
+2

धन्यवाद अधिक फ़ॉन्ट विकल्प की जांच करें। इसके अलावा, लंबे समय तक यह मुझे glutBitmapString को परिभाषित नहीं किया गया था, और अंततः मुझे इसे जीएल/glui.h में "_glutBitmapString" के रूप में नामित किया गया। कोई विचार क्यों? – KingNestor

+0

'glutBitmapString'' फ्रीग्लूट 'पर लागू एक एक्सटेंशन है, पुरानी' ग्लूट 'में मौजूद नहीं है,' जीएल/glut.h' के बजाय 'जीएल/freeglut.h' शामिल होना चाहिए। – Alex

0

एडम जवाब देने के लिए जोड़ा जा रहा है,

glColor4f(0.0f, 0.0f, 1.0f, 1.0f); //RGBA values of text color 
glRasterPos2i(100, 120);   //Top left corner of text 
const unsigned char* t = reinterpret_cast<const unsigned char *>("text to render"); 
// Since 2nd argument of glutBitmapString must be const unsigned char* 
glutBitmapString(GLUT_BITMAP_HELVETICA_18,t); 

बाहर https://www.opengl.org/resources/libraries/glut/spec3/node76.html मदद एडम के लिए

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

  • कोई संबंधित समस्या नहीं^_^