首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

OpenGL学习2:状态管理和绘制几何物体

2014-01-22 
OpenGL学习二:状态管理和绘制几何物体清除窗口clearColor(R,G,B,A)//1clear(GL_COLOR_BUFFER_BIT) //2GL_

OpenGL学习二:状态管理和绘制几何物体

清除窗口
clearColor(R,G,B,A);//1
clear(GL_COLOR_BUFFER_BIT) //2
GL_COLOR_BUFFER_BIT? //颜色缓冲区
GL_DEPTH_BUFFER_BIT? //深度缓冲区
GL_ACCUM_BUFFER_BIT? //累计缓冲区
GL_STENCIL_BUFFER_BIT //模板缓冲区

2处清除窗口并且以1处的颜色进行填充

?

glcolor指定颜色glFlush强制执行OPENGL指令,相当于refreshglFinish强制执行OPENGL指令,相当于Update

?

图元绘制
glBegin(mode)
XXXX
glEnd()

GL_POINT
GL_LINE
GL_LINE_STRIP? 多点连成的线
GL_LINE_LOOP?? 多点连成的线并形成了回路
GL_TRIANGLES
GL_TRIANGLES_STRIP 绘制连续三角形
GL_TRIANGLES_FAN? GL_TRIANGLES_STRIP相同,只是点的顺序不同
GL_QUADS
GL_QUAD_STRIP 绘制连续四边形
GL_POLYGON 绘制多边形

?

glBegin与glEnd之间的合法函数
glVertex*()
glColor*()
glIndex*() //颜色索引
glSecondaryColor*()//纹理应用后的辅助颜色
glNormal*()//法线
glMaterial*()//材质
glFogCoord*()//雾坐标
glTexCoord*()//纹理坐标
glMultiTexCoord*()//多重纹理坐标
glVertexAttrib*()//通用顶点属性
glEdgeFlag*()//控制边界绘制
glArratElement()//地区顶点数组数据
glEvalCoord*()//生成坐标
glCallList()//执行显示列表

?

基本状态管理
glEnable
glDisable
glIsEnabled

?

法线的说明

如果模型只是旋转或者移动,那么法线不会有变化,如果是缩放或者乘以了剪切矩阵,法线就需要重新计算,采用归一化的办法可以便面此问题glEnable(GL_Normalize) 但是启用规范化会消耗一部分性能,对于缩放的变化 可采用glEnable(GL_RESCALE_NORMAL)可减低性能的消耗

?

glPointSize 设置渲染点大小glLineWidth 设置线宽度glLineStipple 创建点划线glPolygonMode 多边形填充形式 GL_FRONT
GL_BACK  GL_FILL
GL_LINE glPolygonStipple 设置多边形点划线glEdgeFlag*() 表示一个顶点是否该被认为是多边形的一条边界的起点

?

?

热点排行