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指令,相当于refresh
glFinish 强制执行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*()   表示一个顶点是否该被认为是多边形的一条边界的起点

 

 

你可能感兴趣的:(OpenGL)