(1)void WINAPI glPointSize(GLfloat size);
作用:指定栅格化点的直径,也就是指定点的大小。
注意:1、要在glBegin前,或者再画东西之前。
2、glBegin的参数一定要是GL_POINTS或GL_POINT,GL_LINE是不行的。
3、使用 1.0 以外的点大小有不同的效果取决于是否启用了点消除锯齿。 通过调用 glEnable 和 glDisable GL_POINT_SMOOTH 参数控制点消除锯齿。
#include <windows.h> //这个必不可少 #include <glut.h> void Display( void ); int main( int argc, char** argv ) { glutInit( &argc, argv );//初始化GULT库 glutCreateWindow( "Rect_Draw" );//创建一个顶级窗口,窗口名Rect_Draw glutDisplayFunc( Display );//用于注册一个绘图函数,这样操作系统在必要时刻就会调用这个显示函数对窗体进行重新绘制操作。 glutMainLoop();//进入GLUT事件处理循环。在一个GLUT程序中,这个例程被调用一次 。一旦被调用,这个程序将永远不会返回 。它将调用必要的任何已注册的回调。 } void Display( void ) { glClear( GL_COLOR_BUFFER_BIT );//窗口清除 glPointSize( 15.0 );//设置点的大小 glBegin( GL_POINTS );// glVertex2f( -0.5, -0.5 );// glVertex2f( -0.5, 0.5 ); glVertex2f( 0.5, 0.5 ); glVertex2f( 0.5, -0.5 ); glEnd(); glFlush();//强制刷新缓冲 }(2)void glLineWidth( GLfloat width )
作用:设置显示线宽,单位为像素,默认值是1.0
(3)void glLineStipple( GLint factor, GLushort pattern )
作用:指定线的点画绘制模板。
参数:
factor指定点画绘制模板中每个二进制位的重复次数。如参数factor是3,则模板中相应的二进制位置重复使用3次后才使用下一位。参数factor的取值范围是[1,256],默认为1。
pattern指定一个16位整数。他的二进制位模板决定在线段光栅化时线段中哪个片断将被绘制出。首先使用零位。模板的默认值全是1。在这个二进制模板中表示不画点,1表示画点。
注意:绘制点划线时,首先必须使用glLineStipple()函数定义线型,然后用glEnable()函数使该线型生效。
(4)void glEnable(GLenum cap);
作用:启用各种功能。具体功能由参数决定。与glDisable相对应。glDisable用以关闭各项功能。
cap参数表
GL_ALPHA_TEST
根据函数glAlphaFunc的条件要求来决定图形透明的层度是否显示。具体参见glAlphaFunc
GL_AUTO_NORMAL
执行后,图形能把光反射到各个方向
GL_BLEND
启用颜色混合。例如实现半透明效果
GL_CLIP_PLANE0 ~ GL_CLIP_PLANE5
根据函数glClipPlane的条件要求启用图形切割管道。这里指六种缓存管道
GL_COLOR_LOGIC_OP
启用每一像素的色彩为位逻辑运算
GL_COLOR_MATERIAL
执行后,图形(材料)将根据光线的照耀进行反射。反射要求由函数glColorMaterial进行设定。
GL_CULL_FACE
根据函数glCullFace要求启用隐藏图形材料的面。
GL_DEPTH_TEST
启用深度测试。根据坐标的远近自动隐藏被遮住的图形(材料)
GL_DITHER
启用抖动
GL_FOG
雾化效果例如距离越远越模糊
GL_INDEX_LOGIC_OP
逻辑操作
GL_LIGHT0 ~ GL_LIGHT7
启用0号灯到7号灯(光源)光源要求由函数glLight函数来完成
GL_LIGHTING
启用灯源
GL_LINE_SMOOTH
执行后,过虑线段的锯齿
GL_LINE_STIPPLE
执行后,画虚线
GL_LOGIC_OP
逻辑操作
GL_MAP1_COLOR_4
根据函数Map1对贝赛尔曲线的设置,启用glEvalCoord1,glEvalMesh1,glEvalPoint1生成RGBA曲线
GL_MAP1_INDEX
根据函数Map1对贝赛尔曲线的设置,启用glEvalCoord1,glEvalMesh1,glEvalPoint1生成颜色索引曲线
GL_MAP1_NORMAL
根据函数Map1对贝赛尔曲线的设置,启用glEvalCoord1,glEvalMesh1,glEvalPoint1生成法线
GL_MAP1_TEXTURE_COORD_1
根据函数Map1对贝赛尔曲线的设置,启用glEvalCoord1,glEvalMesh1,glEvalPoint1生成文理坐标
GL_MAP1_TEXTURE_COORD_2
根据函数Map1对贝赛尔曲线的设置,启用glEvalCoord1,glEvalMesh1,glEvalPoint1生成文理坐标
GL_MAP1_TEXTURE_COORD_3
根据函数Map1对贝赛尔曲线的设置,启用glEvalCoord1,glEvalMesh1,glEvalPoint1生成文理坐标
GL_MAP1_TEXTURE_COORD_4
根据函数Map1对贝赛尔曲线的设置,启用glEvalCoord1,glEvalMesh1,glEvalPoint1生成文理坐标
GL_MAP1_VERTEX_3
根据函数Map1对贝赛尔曲线的设置,启用glEvalCoord1,glEvalMesh1,glEvalPoint1在三维空间里生成曲线
GL_MAP1_VERTEX_4
根据函数Map1对贝赛尔曲线的设置,启用glEvalCoord1,glEvalMesh1,glEvalPoint1在四维空间里生成法线
GL_MAP2_COLOR_4
根据函数Map2对贝赛尔曲线的设置,启用glEvalCoord2,glEvalMesh2,glEvalPoint2生成RGBA曲线
GL_MAP2_INDEX
根据函数Map2对贝赛尔曲线的设置,启用glEvalCoord2,glEvalMesh2,glEvalPoint2生成颜色索引
GL_MAP2_NORMAL
根据函数Map2对贝赛尔曲线的设置,启用glEvalCoord2,glEvalMesh2,glEvalPoint2生成法线
GL_MAP2_TEXTURE_COORD_1
根据函数Map2对贝赛尔曲线的设置,启用glEvalCoord2,glEvalMesh2,glEvalPoint2生成纹理坐标
GL_MAP2_TEXTURE_COORD_2
根据函数Map2对贝赛尔曲线的设置,启用glEvalCoord2,glEvalMesh2,glEvalPoint2生成纹理坐标
GL_MAP2_TEXTURE_COORD_3
根据函数Map2对贝赛尔曲线的设置,启用glEvalCoord2,glEvalMesh2,glEvalPoint2生成纹理坐标
GL_MAP2_TEXTURE_COORD_4
根据函数Map2对贝赛尔曲线的设置,启用glEvalCoord2,glEvalMesh2,glEvalPoint2生成纹理坐标
GL_MAP2_VERTEX_3
根据函数Map2对贝赛尔曲线的设置,启用glEvalCoord2,glEvalMesh2,glEvalPoint2在三维空间里生成曲线
GL_MAP2_VERTEX_4
根据函数Map2对贝赛尔曲线的设置,启用glEvalCoord2,glEvalMesh2,glEvalPoint2在三维空间里生成曲线
GL_NORMALIZE
根据函数glNormal的设置条件,启用法向量
GL_POINT_SMOOTH
执行后,过虑线点的锯齿
GL_POLYGON_OFFSET_FILL
根据函数glPolygonOffset的设置,启用面的深度偏移
GL_POLYGON_OFFSET_LINE
根据函数glPolygonOffset的设置,启用线的深度偏移
GL_POLYGON_OFFSET_POINT
根据函数glPolygonOffset的设置,启用点的深度偏移
GL_POLYGON_SMOOTH
过虑图形(多边形)的锯齿
GL_POLYGON_STIPPLE
执行后,多边形为矢量画图
GL_SCISSOR_TEST
根据函数glScissor设置,启用图形剪切
GL_STENCIL_TEST
开启使用模板测试并且更新模版缓存。参见glStencilFunc和glStencilOp.
GL_TEXTURE_1D
启用一维文理
GL_TEXTURE_2D
启用二维文理
GL_TEXTURE_GEN_Q
根据函数glTexGen,启用纹理处理
GL_TEXTURE_GEN_R
根据函数glTexGen,启用纹理处理
GL_TEXTURE_GEN_S
根据函数glTexGen,启用纹理处理
GL_TEXTURE_GEN_T
根据函数glTexGen,启用纹理处理
(5)void glViewport(GLint x,GLint y,GLsizei width,GLsizei height)
参数:
X,Y:以像素为单位,指定了视口的左下角(在第一象限内,以(0,0)为原点的)位置。
width,height:表示这个视口矩形的宽度和高度,根据窗口的实时变化重绘窗口