内容:

〉定位和绘制位图数据

〉把像素数据(位图和图像)从帧缓冲区读取到内存,或者从内存读取到帧缓冲区

〉把像素数据从一个眼色缓冲区复制到另一格颜色缓冲区,或者复制到同一颜色缓冲区的其他位置

〉图像写入到帧缓冲区时把它放大或缩小

〉控制像素数据格式,并在帧缓冲区中存取数据时执行其他变换

〉使用图像处理子集对像素进行处理

〉使用缓冲区对象存储像素数据

8.1 位图和字体

glRasterPos  设置当前光栅位置。

glWindowPos(1.4) 用窗口坐标指定当前光栅位置,而不必把它的x和y坐标通过模型视图和投影矩阵进行变换,也不会被裁剪出视口区域.使我们更容易混合使用2D文本和3D图形,而不必在各种变换状态之间反复切换

glBitmap 绘制位图

glColor3f 可以设置位图的颜色

字体和显示列表:可用使用显示列表用于字体显示。

glCallLists 调用显示列表

glListBase 设置偏移值

glGenLists 生成显示列表

glDeleteLists删除显示列表

glNewList

glEndList

glPixelStorei

8.2 图像

glReadPixels 从帧缓冲区读取一个矩形像素数组,并把数据保存在内存中

glDrawPixels 把内存中所保存的一个矩形像素数据写入到帧缓冲区中由glRasterPos所制定的当前位置

glCopyPixels 把一个矩形像素数组从帧缓冲区的一个部分复制到另一个部分

8.3 图像管线

图像管线:包括像素存储模式和像素传输操作,包括如何设置一种任意的映射,对像素数据进行转换

glPixelZoom 在绘制像素矩形前对它进行放大或缩小。设置写入操作glDrawPixels 和glCopyPixels中的缩放、翻转

像素包装和解包:指像素数据写入到处理器内存以及从处理器内存读取的方式

glPixelStore 控制像素的存储模式

glPixelTransfer 控制像素传输模式, 将影响纹理操作的相关函数

glPixelMap 像素映射

8.4 读取和绘制像素矩形

8.5 使用缓冲区对象存储像素矩形数据

glGenBuffer 生成缓冲区对象标识符,

glBufferData 请求数据存储

glBindBuffer 绑定适当的缓冲区对象

缓冲区使用:如glDrawPixels 或glTexImage2D

8.6 提高像素绘制速度的技巧

〉将像素传输参数设为默认值,缩放率设置为(1.0, 1.0)

〉禁用片断操作

〉禁用开销较大的状态,如纹理贴图或混合

〉图像格式与类型一致时不转换

〉无符合整形的图像格式比有符号整形类型的图像格式具有更快的处理速度

〉绘制一个大型像素矩形的速度常常比绘制几个小型像素矩形的速度要快,因为像素的传输开销将被众多数量的像素所分摊

〉尽量用较小的数据类型和更少的成分,以减少需要复制的数据

8.7 图像处理子集

〉使用颜色查找表,用于替换像素值  glColorTable glEnable(GL_COLOR_TABLE)

〉使用卷积用于过滤图像,卷积是一种像素过滤器,用像素本身以及邻近像素的加权平均值来替换这个像素,卷积的应用包括模糊和锐化图像、查找图像边缘以及调用图像的对比度 glConvolutionFilter2D glEnable(GL_CONVOLUTION_2D) glCopyconvotionFilter2D...

〉使用颜色矩阵变换,进行颜色空间变换以及其他现行变换

〉收集柱状图统计数据,以及关于图像的最小和最大颜色成分信息 glHistogram glGetHistogram glMinmax glResetMinmax

OpenGL 编程指南笔记——第8章 OpenGL 绘制像素、位图、字体和图像相关推荐

  1. OpenGL编程指南3:GLUT:OpenGL使用工具库

    1.前言 我们知道的,OpenGL包含了很多的渲染函数,这些函数的设计目的就是独立与任何窗口系统或操作系统.因此,他并没有包含打开窗口或者从键盘或鼠标读取事件的函数.遗憾的是,如果连最基本的打开窗口的 ...

  2. Javascript面向对象编程指南笔记 - 第三章 - 函数

    第三章 函数 第三章 函数 3-1 什么是函数 3-1-1 调用函数 3-1-2 参数 3-2 预定义函数 3-2-1 parseInt 3-2-2 parseFloat 3-2-3 isNaN 3- ...

  3. 《OpenGL编程指南》一第2章 着色器基础

    本节书摘来自华章出版社<OpenGL编程指南>一书中的第2章,作者 Bill Licea-Kane ,更多章节内容可以访问云栖社区"华章计算机"公众号查看 第2章 着色 ...

  4. 《OpenGL编程指南》一第3章 OpenGL绘制方式

    本节书摘来自华章出版社<OpenGL编程指南>一书中的第3章,作者 Bill Licea-Kane ,更多章节内容可以访问云栖社区"华章计算机"公众号查看 第3章 Op ...

  5. 《OpenGL编程指南(原书第8版)》——计算着色器

    原文  http://www.csdn.net/article/2014-11-21/2822754 主题 OpenGL 数学 概述 由于图形处理器每秒能够进行数以亿计次的计算,它已成为一种性能十分惊 ...

  6. 《OpenGL编程指南》一3.2 OpenGL缓存数据

    本节书摘来自华章出版社<OpenGL编程指南>一书中的第3章,第3.2节,作者 Bill Licea-Kane ,更多章节内容可以访问云栖社区"华章计算机"公众号查看 ...

  7. OpenGL深入探索——《OpenGL编程指南(原书第8版)》——计算着色器

    转载自 <OpenGL编程指南(原书第8版)>--计算着色器 概述 由于图形处理器每秒能够进行数以亿计次的计算,它已成为一种性能十分惊人的器件.过去,这种处理器主要被设计用于承担实时图形渲 ...

  8. OpenGl编程指南例2.4大白话分析

    OpenGl编程指南例2.4分析 即上一篇文章搭建了opengl的环境后,继续学习Opengl,被第二章的各种gen,bind,buffer搞得晕头转向,在还没有消化完全的时候,又被一计重击打到--为 ...

  9. OpenGL编程指南7:视图-

    1.前言 计算机图形学的要点就是创建三维物体的二维图像(图像必须是二维的,因为他是在平面的屏幕上显示的).但是,当我们决定怎样在屏幕上绘图时,必须使用三维坐标的方式考虑. 为了把一个物体的三维坐标变成 ...

  10. OpenGL编程指南5:学习绘制不同风格的曲线

    1.不同风格曲线绘制 #include <vgl.h> //宏定义;当定义的宏不能用一行表达完整时,可以用"\"表示下一行继续 #define drawOneLine( ...

最新文章

  1. 变更AD计算机名称和IP地址
  2. 从人人网抓取高校数据信息,包括,省份 - 高校 - 院系 (提供最终SQL文件下载)...
  3. rapidjson官方教程
  4. 10人以下小团队管理手册-学习笔记
  5. C++::探索对象模型
  6. 算法 从 数中选出_算法可以选出胜出的nba幻想选秀吗
  7. STM32之外部中断
  8. 解决.net定时器在iis7上不执行问题
  9. 水系图一般在哪里找得到_广东工业大学《JACS》:一种全新的高性能水系可充电铝离子电池!...
  10. dcp7080d怎么加墨粉_兄弟7080打印机怎么加粉
  11. hdu 畅通工程再续
  12. 入门力扣自学笔记180 C++ (题目编号:886)(涂色问题,可以多看看)
  13. layui日周月年的日历切换,当选择周时设置每周一可选,其余日期置灰不可选
  14. 删除google网页快照方法
  15. 计算机二级MS office(word 01)
  16. html5 拖拽绘图,HTML5 拖拽实现
  17. 历史上的今天——4月1日
  18. no-repeat失效
  19. 【抓包工具】配置:Fiddler 配置手机/平板抓包 https
  20. 自愿“阉割”也要重返中国?可见吃完欧盟罚单的谷歌过得并不轻松

热门文章

  1. Ubuntu 安装 Google Chrome 浏览器
  2. 微分几何与斯托克定理
  3. 嵌入式课程 之 超声波传感器实验
  4. android midi 编辑器,MIDI音乐制作app
  5. 虚拟局域网服务器群晖,基于虚拟机的黑群晖NAS+基于虚拟局域网的远程访问
  6. 通州十三五规划精华版:增几十万就业机会/一批地铁
  7. 3D游戏建模:3dmax对场景进行布局和建模
  8. 【译学】数据分析手册学习09:举例说明 - 定量定性数据分析的程序和方法 Procedures and Methods
  9. python登录华为路由器
  10. 重标极差法(R/S)在matlab上的实现