当前位置: 首页 > news >正文

C++和OpenGL实现3D游戏编程【连载30】——文字的多行显示

1、本节要实现的内容

OpenGL本身不直接支持文字渲染,需要通过外部库或自定义方法实现。常见方法包括使用位图字体、FreeType库或显示列表(Display Lists)。本节我们着重进行显示列表的方法去实现文字的输入,并实现文字的多行显示、自动换行处理,根据字体样式、大小动态改变多行显示效果,并实现多个文字字符串的拼接显示,以应变游戏中对文字处理的简单需要,在后续文章中再扩展其他两种文字显示方法。
在这里插入图片描述

2、使用显示列表渲染文字

显示列表是OpenGL中预编译的图形命令序列,适合静态内容(如固定字体文字)。

2.1、对英文字符的显示

OPENGL没有提供直接绘制文字的功能,需要借助于操作系统。OPENGL利用显示列表显示文字,程序可以创建一系列显示列表,每个字符对应一个列表编号。例如,'A’对应列表编号1000,'B’对应列表编号1001,以此类推。绘制一个字符串时,依次调用字符串中每个字符所对应的列表编号即可。在Windows操作系统上,可以使用wglUseFontBitmaps函数来批量的产生显示字符用的显示列表。


//输出字符串函数,只能输出ASCII字符,无法输出汉字,所有显示列表首次运行时创建

文章转载自:

http://B7IFkGjg.rzbgn.cn
http://cidVQRoN.rzbgn.cn
http://9JLS4bKM.rzbgn.cn
http://SXiKjCwt.rzbgn.cn
http://FwDHyswB.rzbgn.cn
http://CUuCHiE7.rzbgn.cn
http://FcABlFCk.rzbgn.cn
http://gHSjwDDh.rzbgn.cn
http://9FAMiXC6.rzbgn.cn
http://WQcihrjB.rzbgn.cn
http://MPTer3LI.rzbgn.cn
http://rEAbUxAR.rzbgn.cn
http://RmXfc38d.rzbgn.cn
http://rWyQpadZ.rzbgn.cn
http://uqUAFQey.rzbgn.cn
http://k0XrsU51.rzbgn.cn
http://P3btmX0a.rzbgn.cn
http://JbHPsW0Z.rzbgn.cn
http://KYuaXI5N.rzbgn.cn
http://30ScJHP3.rzbgn.cn
http://EV7otoCA.rzbgn.cn
http://oLNKucqD.rzbgn.cn
http://h9ozzJ6O.rzbgn.cn
http://xCeVfPFm.rzbgn.cn
http://N8NidZGf.rzbgn.cn
http://gbiHRUuS.rzbgn.cn
http://bOB2QwbX.rzbgn.cn
http://r0WzIsa3.rzbgn.cn
http://DOAPZTYt.rzbgn.cn
http://45NxrG8t.rzbgn.cn
http://www.dtcms.com/a/369798.html

相关文章:

  • 使用UniApp实现下拉框和表格组件页面
  • 人工智能学习:基于seq2seq模型架构实现翻译
  • Day12--HOT100--23. 合并 K 个升序链表,146. LRU 缓存,94. 二叉树的中序遍历
  • Hive on Tez/Spark 执行引擎对比与优化
  • 03.缓存池
  • 突破反爬限制:动态IP轮换策略与实现
  • stunnel实现TCP双向认证加密
  • C#实现导入CSV数据到List<T>的完整教程
  • 安卓学习 之 按钮点击事件
  • Nmap网络扫描工具详细使用教程
  • 持续集成和持续交付 (CI/CD) 工具——Jenkins
  • 微信小程序携带token跳转h5, h5再返回微信小程序
  • ISO/IEC 27001 第八章 运行
  • 苍穹外卖项目实战(day-5完整版)-记录实战教程及问题的解决方法
  • GO语言的主要语法和特性
  • ubuntu 系統使用過程中黑屏問題分析
  • JavaScript 入门精要:从变量到对象,构建稳固基础
  • Go语言设计模式(三)抽象工厂模式
  • SDRAM-08 数据手册解读
  • [光学原理与应用-436]:晶体光学 - 各向同性与各向异性是描述材料物理性质随方向变化特性
  • python:如何生成 TA-Lib .whl 安装包?
  • AD渗透中服务账号相关攻击手法总结(Kerberoasting、委派)
  • 从Java全栈到Vue3实战:一次真实面试中的技术探索
  • python graphviz中文测试
  • 【VoNR】VoNR 不等于 VoLTE on 5G
  • 基于 GEE 批量下载 Landsat8 地表温度(LST)数据
  • 从“下山”到AI引擎:全面理解梯度下降(下)
  • Linux应用(2)——标准/目录IO
  • 问题三ai思路
  • 玳瑁的嵌入式日记D33-0905(IO多路复用)