OpenGL 抗锯齿

我们先来绘制一条线段如下图:



我们可以看到在线段上有很多小锯齿一样的东西,我们可以用OpenGL的抗锯齿模式来减小这种影响

开启抗锯齿

// 开启抗锯齿
	    glEnable(GL_BLEND);
            glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
            
            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);


首先我们开启混合模式,并设置混合函数,混合在上一节中已讲过

glEnable(GL_BLEND);
        glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
1.开启点平滑:
        glHint(GL_POINT_SMOOTH,GL_NICEST); //告诉opengl以显示效果为重,速度不重要
        glEnable(GL_POINT_SMOOTH);
2.开启线平滑
        glHint(GL_LINE_SMOOTH,GL_NICEST);//告诉opengl以显示效果为重,速度不重要
        glEnable(GL_LINE_SMOOTH);
3.开启面平滑
        glHint(GL_POLYGON_SMOOTH,GL_NICEST);//告诉opengl以显示效果为重,速度不重要
        glEnable(GL_POLYGON_SMOOTH);

关闭抗锯齿

// 关闭抗锯齿
            glDisable(GL_BLEND);
            glDisable(GL_LINE_SMOOTH);
            glDisable(GL_POINT_SMOOTH);
            glDisable(GL_POLYGON_SMOOTH_HINT);

下图是开启抗锯齿后的效果


锯齿没有那么明显了




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值