利用GLUT實現在OpenGL中繪製文本的簡單方法

原文出處:http://blog.csdn.net/happen23/article/details/4642517

PS:下文內容對原文內容做了適當的修改和擴充。


OpenGL本身不支持字符顯示,然後覺得對於簡單的一些應用,使用GLUT的庫就夠了。比如這裏我們想要實現的文本繪製:

示例代碼:

//要顯示的字符  
char *str = "current fps = ";  
int n = strlen(str);  
//設置要在屏幕上顯示字符的起始位置  
glRasterPos2i(0,0);  
//逐個顯示字符串中的每個字符  
for (int i = 0; i < n; i++)  
    glutBitmapCharacter(GLUT_BITMAP_8_BY_13, *(str+i)); 

將以上代碼插入OpenGL的顯示回調函數函數中即可。

效果圖:




這裏也可以用string存儲輸入的文本:

std::string text = "<span style="font-family: 'microsoft yahei'; font-size: 15.555556297302246px;">current fps = </span>";
	glRasterPos2f( -0.5f, -0.5f );
	glColor4f( 1.0f, 1.0f, 1.0f, 1.0f );
	glutBitmapString( GLUT_BITMAP_TIMES_ROMAN_24, (const unsigned char*)text.c_str() );
glutBitmapString函數是包含在freeglut頭文件中的。

但是,接下來我希望能控制輸出的文本字體大小,該怎麼做呢?






發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章