opengl笔记_计算机软件及应用_IT计算机_专业资料

opengl笔记_计算机软件及应用_IT计算机_专业资料

ID:41852018

大小:187.71 KB

页数:10页

时间:2019-09-03

opengl笔记_计算机软件及应用_IT计算机_专业资料_第1页
opengl笔记_计算机软件及应用_IT计算机_专业资料_第2页
opengl笔记_计算机软件及应用_IT计算机_专业资料_第3页
opengl笔记_计算机软件及应用_IT计算机_专业资料_第4页
opengl笔记_计算机软件及应用_IT计算机_专业资料_第5页
资源描述:

《opengl笔记_计算机软件及应用_IT计算机_专业资料》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、2016.9.25开启opengl之旅缓冲区:1.以字符“gi”作为前缀,然后是一个或者多个大写字母开头的词组,以此来命名一个完整的函数。2.以“glut"开头的函数,它们来自第三方库OpenGLUtilityToolkit(GLUT)。3.与函数命名约定类似,OpenGL库中定义的常量也是GL_COLOR_BUFFER_BIT的形式。4.所有的常量都以GL_作为前缀,并口使用下划线来分隔单词。(常量的定义是通过#define來完成的)5.glutDisplayFunc(),它设置了显示回调(displaycallback),即GLUT在每次更新窗口内

2、容的时候会白动调用的例程6.函数中调用的最后一个函数是glutMainLoopO,这是一个无限执行的循环,它会负责一直处理窗口和操作系统的用户输入等操作(特别耍注意:的是,glutMainLoopO是一个无限循环,因此不会执行在它之示的所有命令。)函数介绍:数组1.voidglGenVertexArrays(GLsizein,GLuint*arrays);返回n个未使用的对象名到数组arrays中,用作顶点数组对象。返回的名字可以用來分配更多的缓存对彖,并R它们已经使川未初始化的顶点数组集合的默认状态进行了数值的初始化。2.voidglBindVert

3、exArray(GLuintarray);gIBindVertexArrayO完成了三项工作。如果输入的变量array非0,并且是glGenVertexArraysO所返回的,那么它将创建一个新的顶点数组对象并且与其名称关联起來。如果绑定到一个已经创建的顶点数组对彖中,那么会激活这个顶点数组对彖,并几直接影响对象中所保存的顶点数组状态。如果输入的变量array为0,那么OpenGL将不再使用程序所分配的任何顶点数组对象,并11将渲染状态重设为顶点数组的默认状态。3.voidglDeleteVertexAiTays(GLsizein,GLuint*arr

4、ays);删除n个在arrays中定义的顶点数组对象,这样所冇的名称可以再次用作顶点数组。如果绑定的顶点数组己经被删除,那么当前绑定的顶点数组对彖被重设为0(类似执行TglBindBuffer()函数,并1L输入参数为()),而默认的顶点数组会变成当询对象。在arrays当屮未使用的名称都会被释放,但是当前顶点数组的状态不会发住任何变化。4.GLbooleang!IsVertexArray(GLuintarray);如果array是一个已经用glGenVertexArrays()创建且没有被删除的顶点数组对象的名称,那么返回GL_TRUEo如果arra

5、y为0或者不是任何顶点数组对象的名称,那么返冋GL_FALSEo1.voidglBindBuffer(GLenumtarget,GLuintbuffer);glBindBuffer()窕成了三项工作:1)如果是第一次绑定buffer,且它是一个非零的无符号整型,那么将创建一个为该名称相对应的新缓存对彖。2)如果绑定到一个已经创建的缓存对彖,那么它将成为当前被激活的缓存对象。3)如果绑定的buffer值为0,那么OpcnGL将不再对当前target应川任何缓存对象。2.voidglDclctcBuffcrs(GLsizcin,constGLuint^bu

6、ffers);删除n个保存在buffers数组中的缓存对象。被释放的缓存对象町以重用(例如,使用glGenBuffers())o3.voidglBufferData(GLenumtarget,GLsizeiptrsize,constGLvoid*data,GLenumusage);size表示存储数据的总数量。这个数值等于data屮存储的元索的总数乘以单位元素存储空间的结來。data要么是一个客八端内存的指针,以便初始化缓存对象,要么是NULLo如果传入的指针合法,那么将会冇size大小的数据从客户端拷贝到服务端。如果传入NULL,那么将保留size大

7、小的未初始化的数据,以备后用。usage用于设置分配数据之后的读取和写入方式功能介绍1着色器1.1传递着色器:它只负责将输入数据拷贝到输出数据中例1.2triangles.cpp对应的顶点着色器:triangles.vertExample1.2VertexShaderfortriangles.cpp:triangles,vert#version430core//指定了我们所用的OpenGL看色语言的版木layout(location=0)invec4vPosition;voidmain(){gl_Position=vPosition;}“core"表示

8、我们将使用OpenGL核心模式(coreprofile),这与之.前GLUT的函数glutIn

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。