使用glShadeModel函数指定着色模型,默认为GL_FLAT即单色,GL_SMOOTH则可以使得颜色平滑,即渐变色。 默认情况下,是采用单色: voiddisplay(void) { glClear(GL_COLOR_BUFFER_BIT); glColor3f (1.0,0.0,0.0);//设置多边形为红色 glBegin(GL_POLYGON); glVertex2f(120,100); glVertex2f(280,100); glVertex2f(150...
glClear(GL_COLOR_BUFFER_BIT);//OpenGL命令,使用线框模式glPolygonMode(GL_FRONT_AND_BACK, GL_LINE);//总体图形是由6个三角形堆砌而成的凹边形glBegin(GL_TRIANGLES);//第一个三角形作为实例讲解:在设为true的顶点都可以作为凹边形边界的起点,所以有两条直线BC,CA。没有AB直线的原因是A不能作为线的起点。
Each vertex of a polygon, separate triangle, or separate quadrilateral specified between a glBegin/glEnd pair is marked as the start of either a boundary or nonboundary edge. If the current edge flag is true when the vertex is specified, the vertex is marked as the start of a boundary edg...
使用glPolygonMode(GL_FRONT, GL_LINE) 设置当前的绘制模式是线框模式 , 设置了该模式后 , 之后的所有图形都会变成线 ; 代码语言:javascript 代码运行次数:0 复制 // 设置线框模式// 设置了该模式后 , 之后的所有图形都会变成线glPolygonMode(GL_FRONT,GL_LINE); ...
如果程序中十分需要多重采样的效果,那么对线段和多边形反走样的另一种方法就是通过gIEnable()开启反走样,然后将GL_LINE_SMOOTH或者 GL_POLYGON_SMOOTH作为参数传入。你可能也需要通过gIHint()来设置一个质量参考值。 点的反走样: glEnable(GL_POINT_SMOOTH); ...
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glColor3d(1.0, 0.0, 0.0); glEnable(GL_POLYGON_SMOOTH); glHint(GL_POLYGON_SMOOTH_HINT, GL_FASTEST); glBegin(GL_QUADS); glVertex3d(0, 0, 0); glVertex3d(1000, 0, 0);
glEnable(GL_LINE_SMOOTH); //glColor3f(0.0f,0.0f, 1.0f); //白色线条 int xi = 0; int yi = 0; int zi = 0; //绘制平行于X的直线 for (zi = 0; zi <= num; zi++) { float z = _zLen * zi + pt1.z; for (yi = 0; yi <= num; yi++) ...
glEnable(GL_POLYGON_SMOOTH)对多边形进抗锯齿处理 多重采样 多重采样也可以达到抗锯齿的效果,多重采样会对颜色进行多次采集然后存到多重采样缓存区。 可以调glutInitDisplayMode添加采样缓存区glutInitDisplayMode(GLUT_MULTISAMPLE); 可以使 glEnable| glDisable组合使 GLUT_MULTISAMPLE 打开| 关闭 多重采样。
glShadeModel(GL_SMOOTH); } // 绘图回调函数 void display() { // 清除之前帧数据 glClear(GL_COLOR_BUFFER_BIT); // 绘制三角形 glBegin(GL_TRIANGLES); glColor3f(1, 0, 0); glVertex3f(-1, -1, -5); glColor3f(0, 1, 0);