GL_LINE_SMOOTH有效,而GL_POLYGON_SMOOTH则无效

时间:2017-09-01 13:45:56

标签: c++ opengl line polygon antialiasing

这是我的代码:

for(Object element : list){
   if(1<Collections.frequency(list,element)){ // count occurrences of the element
     ///
   }
}

这是结果。

enter image description here

为什么多边形没有消除锯齿? 请注意,我尝试使用#include <windows.h> #include "GL/GL.h" #include "GL/GLU.h" #include "GL/glut.h" void render() { glClear(GL_COLOR_BUFFER_BIT); glBegin(GL_LINES); glColor3d(1, 0, 0); glVertex2d(0, -1); glColor3d(0, 1, 0); glVertex2d(1, 1); glEnd(); glBegin(GL_POLYGON); glColor3d(1, 0, 0); glVertex2d(-0.6, 0.3); glColor3d(0, 1, 0); glVertex2d(1, 1); glColor3d(0, 0, 1); glVertex2d(0, 0); glEnd(); glFlush(); } int main(int argc, char** argv) { glutInit(&argc, argv); glutInitDisplayMode(GLUT_SINGLE | GLUT_RGBA); glutInitWindowSize(600, 400); glutInitWindowPosition(100, 100); glutCreateWindow("Lesson 1"); glutDisplayFunc(render); glClearColor(0, 0, 0, 0); glEnable(GL_BLEND); glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); glEnable(GL_POINT_SMOOTH); glEnable(GL_LINE_SMOOTH); glEnable(GL_POLYGON_SMOOTH); glPointSize(10); glLineWidth(50); glutMainLoop(); return 0; } ,但没有帮助。

0 个答案:

没有答案
相关问题