图3-5
4、已知画线程序,在主程序中增加初始化子函数init(); 添加反走样代码和取
消抗锯齿代码,使得斜线变光滑。可对比一下反走样效果: 按1键斜线锯齿(如图3-6),按2键斜线光滑(如图3-7)。
图3-6 图3-7
参考函数:
反走样代码,点、直线、多边形的抗锯齿:
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
glEnable(GL_BLEND);
glEnable(GL_POINT_SMOOTH);
glHint(GL_POINT_SMOOTH_HINT, GL_NICEST); glEnable(GL_LINE_SMOOTH);
glHint(GL_LINE_SMOOTH_HINT, GL_NICEST);
glEnable(GL_POLYGON_SMOOTH);
glHint(GL_POLYGON_SMOOTH_HINT, GL_NICEST);
取消抗锯齿:
glDisable(GL_BLEND);
glDisable(GL_LINE_SMOOTH); glDisable(GL_POINT_SMOOTH); glDisable(GL_POLYGON_SMOOTH); 选做:
5、 程序合成。
要求:将以上4个小程序集成在一起,实现:
按下数字1键:清屏实现显示旋转的六边形
按下数字2键:清屏实现显示鼠标画线 按下数字3键:清屏实现显示鼠标绘制矩形
提示:1、增加keyboard()函数,同时在display()函数中添加switch
语句,实现每个数字键的不同功能。
2、记住清空堆栈,否则会对其他的实验结果产生影响。