OpenGL 抗锯齿
2015-11-08 13:22
260 查看
我们先来绘制一条线段如下图:
我们可以看到在线段上有很多小锯齿一样的东西,我们可以用OpenGL的抗锯齿模式来减小这种影响
开启抗锯齿
首先我们开启混合模式,并设置混合函数,混合在上一节中已讲过
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);
关闭抗锯齿
下图是开启抗锯齿后的效果
锯齿没有那么明显了
我们可以看到在线段上有很多小锯齿一样的东西,我们可以用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);
下图是开启抗锯齿后的效果
锯齿没有那么明显了
相关文章推荐
- linux命令大全
- linux命令-vim一般模式下复制剪切粘贴
- OpenGL深度测试
- linux命令-vim一般模式下光标移动
- 【毕设】opencv点滴-阈值分割(Threshold)
- Nginx yum源
- lightoj 1349 - Aladdin and the Optimal Invitation 【中位数的运用】
- Linux_NetworkManager_RHEL7
- XAMPP(Linux版-x86兼容)官网下载
- linux命令-vim
- openfire编译
- linux服务器部署项目
- Linux和Windows下开启服务的一些命令
- [转]OpenWRT之获取MAC地址
- linux 进程线程拓展
- 在虚拟机(VMware)中安装Linux CentOS 6.4系统(图解)
- Linux下查找相关命令
- Julia: 引用与copy: 关于数组、自定义类型与初始化
- windows共享文件夹给centOS
- linux下搭建SVN服务器完全手册