位图和图像

位图是由0和1组成的矩形数据,位图最常用的是绘制字符。
通过显示列表可以实现字体定义。
1. 当前光栅位置
glRasterPos{234}{sifd}(TYPE x, TYPE y, TYPE w);
glRasterPos{234}{sifd}v(TYPE* coords);
设置当前光栅位置,标志了位图绘制的起点(位图从下往上绘制,该点为左下点),该点经过模型视点矩阵变换后如果被裁剪,则位图不可见。
glWindowPos*();
直接用窗口坐标制定光栅位置,不需要进行模型视点矩阵变化。
glGetFloatV(GL_CURRENT_RASTER_POSITION)查询当前光栅位置。
2. 绘制位图
glBitmap(GLsizei width, GLsizei height, GLfloat xbo, GLfloat ybo, GLfloat xbi, GLfloat ybi, const GLubyte* bitmap);
绘制位图。xbo, ybo定义了位图的原点,以光栅位置为参考。
xbi, ybi指定了位图被光栅化之后光栅位置的x和y的增加值。
3. 选择位图颜色
glColor*();glIndex*();同时设置了GL_CURRENT_RASTER_COLOR、 GL_CURRENT_RASTER_INDEX
光栅颜色状态变量是根据glRasterPos*()时的颜色确定的
颜色可以用GL_CURRENT_RASTER_COLOR和GL_CURRENT_RASTER_INDEX查询glGetFloatv()和glGetIntegerv()
4. 用显示列表实现字体
glCallLists(GLsizei n, GLenum type, const GLvoid* lists);//绘制一系列显示列表
glListBase();设置显示列表起点
glGenLists(GLsizei range);生成显示列表
type可以是:
GL_BYTE  GL_UNSIGNED_BYTE
GL_SHORT  GL_UNSIGNED_SHORT
GL_INT   GL_UNSIGNED_INT
GL_FLOAT  GL_2_BYTES
GL_3_BYTES  GL_4_BYTES
可以通过设置字符大小,显示不同的字符集。
 
glReadPixels();冲缓冲区读取一个矩形像素数据,并保存在处理器内存中
glDrawPixels();把处理器内存中的一个矩形像素数据写入到帧缓冲区中由glRasterPos*()制定的位置。
glCopyPixels();把一个矩形像素数据从帧缓冲区的一个部分复制到另一个部分。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值