《高效学习OpenGL》之点、直线和多边形 glPointSize(),glLineWidth(),glLineStipple(),glPolygonMode(),glPolygonStipple()

来源:互联网 发布:如何自定义方法java 编辑:程序博客网 时间:2024/04/30 14:02

默认情况下,点为一个像素,直线为一个像素的宽度,多边形则被画成实心填充的形式
1.点

glPointSize(GLfloat size);//设置被渲染点的宽度,以像素为单位,默认为1

2.直线
glLineWidth (GLfloat width);//设置直线的宽度,默认为1   glGetFloatv(GL_ALIASED_LINE_WIDTH_RANGE);//查询带锯齿直线宽度的范围   glGetFloatv(GL_SMOOTH_LINE_WIDTH_RANGE);//查询带平滑直线宽度的范围   glGetFloatv(GL_SMOOTH_LINE_WIDTH_GRANULARITY);//查询平滑直线粒度的范围



3.点画线
 glEnable (GL_LINE_STIPPLE);//打开直线的点画模式   glLineStipple (1, 0x0101);//设置直线的当前点画模式,1为倍数,0x0101为线型


.
4.多边形
   glPolygonMode (GLenum face, GLenum mode);   //控制多边形正面和反面的绘图形式,默认情况下face为GL_FRONT_AND_BACK,mode为GL_FILL,即正面和背面都采取填充形式绘制   glFrontFace(GLenum mode);   //控制多边形的正面是如何确定的,默认mode为GL_CCW(顶点为逆时针的表面为正面,GL_CW(顺时针为正面))   glEnable(GL_CULL_FACE);//使剔除生效   glCullFace();//表示参数所设置的多边形在转换到屏幕坐标之前应该被丢弃



5.点画多边形
   glEnable (GL_POLYGON_STIPPLE);   glPolygonStipple (fly);//fly为一个指向32*32位图的指针


                                             
0 0
原创粉丝点击