OpenGL文字显示
来源:互联网 发布:linux命令退出编辑 编辑:程序博客网 时间:2024/06/06 05:42
线贴一个简单可用的opengl文字显示调用函数
opengl文字显示大致三步:
1,创建字体
2,输出打印
3,删除字体
1,创建字体的函数:
/* * BuildFont *创建位图字体 */GLvoid BuildFont(GLvoid){HFONT font;// 字体句柄HFONT oldfont;base = glGenLists(256);// 创建96个显示列表font = CreateFont(-24,// 字体高度0,// 字体宽度0,// 字体的旋转角度0,// 字体底线的旋转角度FW_BOLD,// 字体重量FALSE,// 是否使用斜体FALSE,// 是否使用下划线FALSE,// 是否使用删除线ANSI_CHARSET,// 设置字符集OUT_TT_PRECIS,// 输出精度CLIP_DEFAULT_PRECIS,// 剪裁精度ANTIALIASED_QUALITY,// 输出质量FF_DONTCARE|DEFAULT_PITCH,"Courier New");// 字体名称oldfont = (HFONT)SelectObject(wglGetCurrentDC(), font);// 选择我们需要的字体wglUseFontBitmaps(wglGetCurrentDC(), 0, 256, base);// 创建96个显示列表,绘制从ASCII码为32-128的字符SelectObject(wglGetCurrentDC(), oldfont);DeleteObject(font);}
其中base是一个全局变量
GLuint base; // 绘制字体的显示列表的开始位置
2,打印函数
/* * glPrint *自定义GL输出函数 */void glPrint(const char *pstr){glPushAttrib(GL_LIST_BIT);// 把显示列表属性压入属性堆栈glListBase(base - 0);// 设置显示列表的基础值glCallLists(strlen(pstr), GL_UNSIGNED_BYTE, pstr);// 调用显示列表绘制字符串glPopAttrib();// 弹出属性堆栈}
3,删除字体
GLvoid KillFont(GLvoid){glDeleteLists(base, 256); }
在InitGL()中添加创建字体的代码:
BuildFont();
在DrawGLScene()中添加代码:
glTranslatef(0.0f, 0.0f, -1.0f);
glColor3f(0.0f, 1.0f, 0.0f); // 颜色
glRasterPos2f(-0.4f, 0.30f); // 输出位置
glPrint("Active OpenGL Text With NeHe - %7.2f", cnt1); // 输出文字到屏幕
在KillGLWindow()中添加删除字体的代码:
KillFont(); // 删除字体
以上是一个可以直接使用的opengl显示文字的相关函数。
阅读全文
0 0
- opengl显示文字
- OPENGL文字显示
- OpenGL文字显示
- OpenGL文字显示
- opengl文字显示
- opengl显示文字
- opengl文字显示
- OpenGL: 文字显示
- C# OpenGl 文字显示
- HelloWorld opengl文字显示
- OpenGL文字显示
- OpenGL显示文字--显示英文
- OpenGL显示文字--显示汉字
- OpenGL显示文字--显示汉字
- OpenGL显示文字--显示字符
- OpenGL显示文字--显示汉字
- OpenGL 下的文字显示
- OpenGL显示文字--指定字体
- 中国国内采购平台哪个靠谱
- c语言回溯法1的背包问题
- android中两种计步器的区别 TYPE_STEP_DETECTOR与TYPE_STEP_COUNTER
- Swift UITextView键盘Return后如何释放焦点
- yield
- OpenGL文字显示
- STM32项目(一) —— 展示车座椅
- 14.Nginx数据结构之缓冲区链表Chain
- 三大简单排序算法——插入、选择、冒泡
- Python中的小坑
- 单页面应用接入微信填坑之一(微信分享)
- 最基本的微信小程序推广23种方式
- CSS换行相关
- 牛客网--2016---上台阶