OpenGL 反走样有关问题

OpenGL 反走样问题
自己写的程序
演示三个不同材质的茶壶(由函数"glutSolidTeapot()"画出)在灯光下的效果

启用反走样之前的效果:

可以看到灯光的边缘有非常明显的锯齿
希望消除其锯齿

反走样启用源代码:
C/C++ code
    //Enable antialiasing:
    glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
    glEnable(GL_BLEND);
    glHint(GL_POLYGON_SMOOTH_HINT, GL_NICEST);
    glEnable(GL_POLYGON_SMOOTH);
    glDisable(GL_LINE_SMOOTH);


启用反走样之后的效果:

可见灯光边缘锯齿不仅没有消除
还多了物体的轮廓线

请问消除灯光边缘锯齿的方法正确吗?
反走样后为什么会出现轮廓线?



------解决方案--------------------
可能你渲染了两次,一次是GL_FILL模式,一次是GL_LINE模式。
要想是灯光效果好,你就在创建teapot时,指定更多的切分面,以产生更多的顶点。