OpenGL复习要点

时间:2021-07-13 02:50:02

OpenGL要点复习

 1、和像素有关的信息(例如像素的颜色)组织成位平面 (bitplane)的形式,位平面又可以组织成帧缓冲区(framebuffer)的形式。位平面是一块内存区域,保存了屏幕上每个像素的1个位的信息。

 2、glClearColor()函数确定了窗口将清除成什么颜色,而glClear()函数实际完成清除窗口的任务。

 3、glFlush()保证了绘图命令的实际执行,而不是存储在缓冲区中等待其他的OpenGL命令。

 4、有些OpenGL函数名后有一个字母v,它表示这个函数所接受的参数是一个指向值向量(或数组)的指针。

 5、OpenGL是一个状态机,许多模式的状态变量可以用glEnable()、glDisable()来启用和禁用。可以通过glGetBooleanv()、glGetDoublev()、glIsEnabled()函数查询。

 6、glPushattrib()、glPushClientattrib()函数把状态变量的集合保存到一个属性栈中,更加高效。

 7、光栅化就是把几何数据和像素数据转化为片断(fragment)的过程。每个片断方块对应于幀缓冲区中的一个像素。

8、glBegin()中参数指定mode,mode可以是GL_POLYGON。

 9、glLineStipple(GLint factor,GLushort pattern)指定线段模式。

 10、glPolygonMode(face, mode), face可以是GL_FRONT_AND_BACK、GL_FRONT、GL_BACK。mode可以是GL_LINE、GL_FILL、GL_POINT。

 11、glFrontFace(mode)指定哪个方向是正向。GL_CCW逆时针为正,GL_CW顺时针为正。

12、glCullFace(mode)剔除多边形,GL_BACK、GL_FRONT等。

13、glPolygonStipple(mode)点阵多边形图。

 14、glEdgeFlag()设置为false时,意味着当前这个顶出发的边都不绘制。

 15、除了顶点外,不能为多边开的其它地方分配法线。法线向量只表示方向,因此它的长度是无关紧要的。

 16、顶数数组存储在客户机地地址空间中, 除非使用缓冲区对象,才会存储在服务器内存中。

 17、glArrayElement放置在glBegin()和glEnd()间来使用glVertexPoint()、glTexCoord()的数据。让数据从客户端提交到服务端。

 18、glDrawElements()进一步减少glArrayElement的调用,把引用的顶点放置在一个数组中。glDrawRangeElements()添加了start,end参数,用于限制使用的顶点范围。

 19、glMultiDrawElements()进一步减少glDrawElements()的调用次数。

 20、glDrawArrays()按顺序引用顶点,只提供first和count。glMultiDrawArrays()进一步减少glDrawArrays()的调用。

 21、缓冲区对象(buffer object),可以用于服务端缓存数据。glGenBuffers()可以创建buffer,glIsBuffer()用于判断,glBindBuffer()将一个索引绑绑定到特定的内存,glBufferData()、glBufferSubData()、glMapBuffer()、glUnmapBuffer()等用于操作buffer。最后glDeleteBuffers()用于删除buffer。当使用buf-obj后,glVertexPointer、glDrawElements的指针参数就要设置为0,因为GL将不会去读 。缓冲区对象要指明用法,说明这东西对性能很重要。俗称VBO

 22、glPushAttrib()、glPopAttrib()可以控制属性的保存。

 23、顶点数组对象(vertex array) glGenVertexArrays(n, arrays),管理着多组顶点之间的切换。glBindVertexArray()函数是关键,在不同的情形下有不同的表现。俗称VAO,更多资料可参考:http://www.cppblog.com/init/archive/2012/02/21/166098.html

-- 摘自《OpenGL编程指南》

OpenGL复习要点的更多相关文章

  1. OpenGL复习要点II

    [OpenGL复习要点II] 1.视图变换必须出现在模型变换之前. 2.glMatrixMode()参数有三个,GL_MODELVIEW,GL_PROJECTION,GL_TEXTURE. 3.变换顺 ...

  2. 南京邮电大学 JavaA期末复习要点总结

    南京邮电大学 JavaA复习要点: Chap1 入门 1.  Java应用程序开发过程教材P14~P15 Chap 2 基本语法 1.      标识符的命名规则教材P19 字母下划线美元符号开头,除 ...

  3. 2016.6.20 计算机网络复习要点第三章之CSMA/CD协议

    1.最早的以太网是将许多计算机都连接到一根总线上: (1)总线的特点是:当一台计算机发送数据时,总线上的所有计算机都检测到这个数据,这种就是广播通信方式: (2)为了实现在总线上的一对一通信,可以使每 ...

  4. c++复习要点

    自增和自减运算符有前缀和后缀两种形式,都会改变对象,所以不能对常量对象操作. 前缀形式返回改变后的对象,返回*this. 后缀形式返回改变之前的值,所以必须创建一个代表这个值的独立对象并返回它,是通过 ...

  5. 2016.7.9 计算机网络复习要点第四章之虚拟专用网VPN和网络地址转换NAT

    1.虚拟专用网VPN (1)一个机构内,对于那些仅在本机构内部使用的计算机就可以由本季候自行分配其IP地址,让这些计算机使用仅在本机构有效的IP地址(本地地址),不需要申请全球唯一的IP地址(全球地址 ...

  6. 2016.7.9 计算机网络复习要点第四章之网际控制报文协议ICMP

    1.ICMP允许主机或路由器报告差错情况和提交有关异常情况的报告:为了更有效地转发IP数据报和提高交付成功的机会: 2.ICMP不是高层协议,因为ICMP报文是装在IP数据报中的,作为其中数据部分,所 ...

  7. 2016.7.8 计算机网络复习要点第四章之地址解析协议ARP

    1.地址解析协议ARP:知道一个机器的IP地址,需要找到其相应的硬件地址:ARP协议的用途是为了从网络层使用的IP地址解析出在链路层使用的硬件地址: 2.由于是IP协议使用了ARP协议,因此通常就把A ...

  8. 2016.7.7 计算机网络复习要点第四章之网际协议IP

    1.与IP协议配套使用的还有三个协议: **地址解析协议ARP: **网际控制报文协议ICMP: **网际组管理协议IGMP: 2.虚拟互连网络: **没有一种单一的网络能够适应所有用户的需求: ** ...

  9. 2016.6.17 计算机网络复习要点之PPP协议

    点对点协议PPP是目前使用最广泛的数据链路层协议. 1.PPP协议的特点: **我们知道因特网用户通常需要连接到某个ISP才能接入到因特网,PPP协议就是用计算机和ISP进行通信时所使用的数据链路层协 ...

随机推荐

  1. 2016huasacm暑假集训训练五 G - 湫湫系列故事——减肥记I

    题目链接:http://acm.hust.edu.cn/vjudge/contest/126708#problem/G 这是一个01背包的模板题 AC代码: #include<stdio.h&g ...

  2. JAVA设计模式之访问者模式

    在阎宏博士的<JAVA与模式>一书中开头是这样描述访问者(Visitor)模式的: 访问者模式是对象的行为模式.访问者模式的目的是封装一些施加于某种数据结构元素之上的操作.一旦这些操作需要 ...

  3. day02-java

    day02 大纲: 变量 基本数据类型 数据类型之间的转换 1.变量:存数的,代词,指代的就是它所存的那个数  1)声明:      int a; //声明一个整型的变量,名为a      int b ...

  4. 使用solrj操作solr索引库

    (solrj)初次使用solr的开发人员总是很郁闷,不知道如何去操作solr索引库,以为只能用<五分钟solr4.5教程(搭建.运行)>中讲到的用xml文件的形式提交数据到索引库,其实没有 ...

  5. oracle游标小试

    有时候需要大面积的修改数据,这个时候用循环语句效率不高.而临时表又不能满足点对点修改的时候,游标似一种不错的选择(PS:好像游标也是为循环而生的吧) 现在有两张表 t1(ryid number,nam ...

  6. php 生成mysql数据字典代码

    由于项目开发用了比较多的表 ,为了快速获取数据字典,通过php代码的方式来获取表结构和表注释.代码如下: <?php /** * 生成mysql数据字典 */ header ( "Co ...

  7. HDFS中文件的压缩与解压

    HDFS中文件的压缩与解压 文件的压缩有两大好处:1.可以减少存储文件所需要的磁盘空间:2.可以加速数据在网络和磁盘上的传输.尤其是在处理大数据时,这两大好处是相当重要的. 下面是一个使用gzip工具 ...

  8. 六、latex中的特殊字符

  9. vagrant up connection time out

    vagrant up connection time out 在一台重装系统的机子上装vagrant后 vagrant up 无法启系统 D:\work\vagrant>vagrant up B ...

  10. 第七次Scrum冲刺

    第七次Scrum冲刺 1.今日完成的任务 队员 今日完成任务 刘佳 前端与后端对接 李佳 后端与数据库对接 周世元 数据库与后端对接 杨小妮 博客编写 许燕婷 管理团队当日及次日任务 陈水莲 综合测试 ...