位置: 编程技术 - 正文

位图和字体(位图字体图片)

编辑:rootadmin

推荐整理分享位图和字体(位图字体图片),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:位图字体导入ttf,位图字体图片,位图字体下载,位图字体下载,位图字体无法进行旋转,位图字体无法进行旋转,位图字体工具,位图字体无法进行旋转,内容如对您有帮助,希望把文章链接给更多的朋友!

opengl除了渲染几何数据, 还可以渲染两种重要类型的数据:

1. 位图 :一般用于表示字体中的字符。

2. 图像和数据 :可以被扫描或计算。

相同点:都采用矩形的像素数组的&#;式。

不同点:位图的每个像素是由单个位的信息组成, 图像的每个像素一般包含了好几段数据。

位图就像掩码一样,一般用于覆盖其他的图像。图像数据既可以简单的进行覆盖,也可以采用某种方法与帧缓冲区中的数据进行混合。

本章描述:1.如何把像素数据从内存绘制到帧缓冲区, 和帧缓冲区读取到内存。

 2.像素数据从一个缓冲区复制到另一个缓冲区,或者在同一个缓冲区中进行复制。

位图和字体:

1. 位图是由1 和 0 组成的矩形数组, 做为窗口中一个矩形区域的绘图掩码。 若当前光栅颜色是红色,在位图中为1的地方,帧缓冲去中的对应像素就用红色像素代替。位于位图中为0的地方,就不会生成片断, 像素的内容不会受影响。

这里有几个陌生的函数:

glRasterPos2i, glBitmap, glPixelStorei.

1. 指定光栅位置

glRasterPos{2, 3, 4}{sifd}(Type x, Type y, Type z, Type w); 或者

位图和字体(位图字体图片)

glRasterPosv(const Type* coords);

上面这两个函数都是用来设置光栅的位置。

2. 绘制位图

glBitmap函数用来绘制数据。

bitmap是一个指向位图图像的指针。位图的原点是当前光栅位置,就是上面那个函数设置的位置,如果当前光栅位置无效, 这个函数不会绘制任何东西,且光栅位置继续无效。width, height表示位图的宽度和高度(以像素为单位)。xorig, yorig定义了位图的原点它是根据当前光栅位置确定的,xmove, ymove表示位图光栅化之后光栅位置的x增加&#;和y增加&#;。

3. 设置位图颜色

上面就是效果图,可以看到位图还是白色,但是下面的三角形是红色。

当程序调用glRasterPosfv()时, GL_CURRENT_RASTER_COLOR被设置为白色。第二个调用glColor3f()调用修改了GL_CURRENT_COLOR的&#;,用于以后的几何图形渲染。

字体和显示列表:

一种字体一般由一组字符组成, 其中每个字符都有一个标识码和一个绘制方法。

对于ASCII字符集:大写字母A用来表示,B用来表示。那么DAB就可以用显示列表,,.

可以按照这种方法来调用glCallLists();

第一个参数n表示要绘制的字符数量, type通常是GL_BYTE,lists是一个字符代码数组。

由于许多应用程序需要多种字体和字号来绘制字符串, 上面这种简单方法就不是很实用。我可以想到的一种方法不管什么字体都用来表示A。可以强制把字体1的A、B和C编码为, , ,把字体2的A, B,C编码为,,.但是8位的字节无法表示大于的数。一种更好的解决方案是选择显示列表前向字符串中的每个字母增加一个偏移&#;。为用字体1绘制字符,可以把偏移&#;设置为,如果用字体2,可以把偏移&#;设置为.为了设置偏移&#;,可以使用glListBase()函数。接下来所需要的是一系列连续的未使用显示列表标识符,可以通过调用glGenLists来获取它们。

如:GLuint FontStart = glGenLists();

若FontStart返回的是, 那么, ---, 用来表示这些字符,且返回的标识符都标记为“已使用”,若无法找到一块满足请求长度的未使用标识符,它就返回0。大多数欧美字体的字符数量都能见到的表示,但是亚洲字体一般都比较庞大,所以用单个字节来表示每个字符的做法是不行的。所有glCallLists()函数的type参数,可以使用:GL_BYTE, GL_SHORT, GL_INT, GL_FLOAT.......

GLSurfaceView中GL相关资源销毁问题 1.YY下传统的GLUT框架没有context概念,Main函数,Display,mouse,keyboarrd,reshape,这些回调函数中都可以直接调用OpenGL命令。纹理等gl相关资源需要自己管理

测试Qt Quick在各个平台上的3D渲染性能 测试QtQuick在各个平台上的3D渲染性能Qt是一个跨平台的GUI框架,它的QtQuick更是支持结合OpenGL原生的代码进行渲染。我想将我以前写的程序整合到QtQuick上

寒假捉虫记——从一段损坏的调用栈开始折腾 放假在家,继续调试《家园》。目前的进度是MinGW上的编译链接都已通过,游戏程序也已经可以跑起来并进入主菜单界面,但加载关卡之后就会闪退。这

标签: 位图字体图片

本文链接地址:https://www.jiuchutong.com/biancheng/373118.html 转载请保留说明!

上一篇:学习OpenGL笔记(1.1)——first program: entering main(opengl learn)

下一篇:GLSurfaceView中GL相关资源销毁问题(glsurfaceview特性)

  • 计提印花税会计凭证怎么做
  • 生产设备改扩建会计分录
  • 待摊费用属于企业的费用
  • 物业缴纳发票可以抵税吗
  • 新办商贸企业是国企吗
  • 短期借款会计科目使用说明
  • 养殖业土地使用税减免
  • 冲销上年计提的住房公积金怎么做账
  • 医院其他收入包括哪些项目
  • 合同中的税费需要交税吗
  • 企业如何申请定增资金
  • 筹建期间职工福利费都要通过应付职工薪酬核算吗
  • 房地产预收房款怎么开票
  • 失控发票怎么做账处理
  • 四项服务加计扣除政策2023
  • 消费税的附加税和增值税的附加税
  • 姑娘果的功效与作用百度百科
  • 认证进项转出怎么操作
  • 销售房产营业税怎么算
  • 进程控制块PCB不包括( )
  • 经营租赁固定资产体现实质重于形式
  • 深度学习模型精度fp16和fp32
  • PHP:pg_get_pid()的用法_PostgreSQL函数
  • 开展党建系列活动
  • 艾草的功效与作用洗头
  • 投资收益怎么做不影响利润
  • 企业负担的社保怎么做分录
  • php正则表达式匹配字符串
  • sortable js
  • 大前端最新
  • 大前端最新
  • 印花税计提比例是多少
  • 电子税务局没有开票业务
  • 税控服务费在电子税务局表一里怎么填写
  • 不交社保个税怎么处理
  • 发票内容类型怎么填
  • 开通对公账号怎么办理
  • 给员工分红是否交税
  • 帝国cms调用api接口
  • 税控盘抵减增值税
  • 政府会计资产的概念
  • 资产负债表是根据科目余额表填的吗
  • 员工工作服扣款
  • 其他综合收益核算的内容及会计处理
  • 固定资产报废会计科目处理
  • 以前年度多记成本费用税前扣除,今年要怎么做分录冲销
  • 购买用品开专票怎么入账
  • 应收账款的财务指标有哪些
  • 计提折旧,生成折旧分摊凭证步骤
  • 什么情况下需要割包皮
  • 包装物范围
  • 工资扣税是减去五险一金吗
  • 关联公司往来款怎么做账
  • mysql 5.6 5.7
  • MySql Error 1698(28000)问题的解决方法
  • 升级win8.1 64位系统后无法玩剑灵怎么办?win8.1系统无法玩剑灵的解决方法
  • win8系统安装的软件在哪里
  • apt-get update错误
  • ubuntu怎么清理内存
  • ubuntu 编译软件
  • Ubuntu如何安装软件
  • win7无线网络连接不上怎么解决方法
  • windows7电脑怎么变快
  • windows打补丁后无法启动
  • linux怎么安装sh
  • vi中的命令
  • javascript中
  • 用jQuery实现可输入多选下拉组合框实例代码
  • cocos2048
  • jquery监听页面刷新
  • jquery理解
  • JavaScript中常用的数据类型有
  • android的布局文件
  • 批处理命令是什么语言
  • js图片轮播和点击切换
  • javascript面向对象编程 PDF
  • 青岛市地方税务局网上办税厅
  • 国家税务总局发票查询官网
  • 北京国税局开票流程
  • 军人残疾证家属享受待遇吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设