美文网首页
抗锯齿问题

抗锯齿问题

作者: hie | 来源:发表于2018-12-04 13:59 被阅读0次

1、什么抗锯齿?

抗锯齿(英语:anti-aliasing,简称AA),也译为边缘柔化、消除混叠、抗图像折叠有损等。它是一种消除显示器输出的画面中图物边缘出现凹凸锯齿的技术,那些凹凸的锯齿通常因为高分辨率的信号以低分辨率表示或无法准确运算出3D图形坐标定位时所导致的图形混叠(aliasing)而产生的,反锯齿技术能有效地解决这些问题。

2、抗锯齿出现的原因

在3D绘图时,每个图形由像素组成,每段瞬间画面由组成,因为屏幕上的像素有限,如果要表现出多边形的位置时,因技术所限,使用绝对坐标定位法是无法做到的,只能使用在近似位置采样来进行相对定位。由于没有足够的采样来表现出3D世界中的所有物品的图形,所以在最后图像显示上,这些现象便会造成在物品与物品中过渡的边缘就会产生波浪状、圆形、锯齿和闪烁等有损现象,严重影响了画面的质量。

3、解决方法

    3.1、颜色混合

        //开启混合处理理

                glEnable(GL_BLEND);

        //指定混合因⼦

                GLBlendFunc(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA);

         //指定混合⽅方程式

                glBlendEquation(GL_FUNC_ADD);

        glEnable(GL_POINT_SMOOTH); //对点进行抗锯⻮处理

        glEnable(GL_LINE_SMOOTH);//对线进行抗锯齿处理    

        glEnable(GL_POLYGON_SMOOTH);//对多边形进行抗锯⻮处理

    3.2、多重采样(默认是开启)

        //1.可以调⽤用 glutInitDisplayMode 添加采样缓存区                

                glutInitDisplayMode(GLUT_MULTISAMPLE);

        //2.可以使⽤用glEnable| glDisable组合使⽤用GLUT_MULTISAMPLE 打开|关闭 多重采 样。

               glEnable(GLUT_MULTISAMPLE);

               glDisable(GLUT_MULTISAMPLE);

demo

相关文章

  • 从0开始的OpenGL学习(二十七)-抗锯齿

    本文主要解决两个问题: 1、什么是抗锯齿?2、如何在OpenGL中使用抗锯齿? 引言 抗锯齿,英文名是anti-a...

  • 抗锯齿问题

    1、什么抗锯齿? 抗锯齿(英语:anti-aliasing,简称AA),也译为边缘柔化、消除混叠、抗图像折叠有损等...

  • OpenGL学习笔记四

    抗锯齿 抗锯齿混合的2大功能:颜色组合、抗锯齿 多重采样 多重采样,抗锯齿混合综合使用 OpenGL 数学库; M...

  • 2020-02-22 Paint图片绘制抗锯齿设置

    1.普通抗锯齿 2.图片抗锯齿

  • Anti-aliasing

    中文译作抗锯齿,当然抗锯齿不止可以用后处理来实现,一般显卡里也自带了硬件抗锯齿。抗锯齿是用于防止锯齿的一系列算法,...

  • Unity 渲染时瓦片地图出现白线的解决方案

    最经见的问题是因为在Unity摄像机缩放后,抗锯齿对不为整数的像素进行了调整。所以只要关掉抗锯齿选项就好了。 菜单...

  • unity 模型显示锯齿问题

    没有开抗锯齿的时候 开了抗锯齿的时候 抗锯齿选项 这里Allow MSAA选项忘了,尴尬了,这里记录下在ios和a...

  • OpenGL四-基础变化

    一、抗锯齿 混合的2大功能:颜⾊组合、抗锯⻮ 混合处理-抗锯齿 使⽤混合实现抗锯⻮效果Demo:10-抗锯齿 二、...

  • OpenGL ES 3.0 快速近似抗锯齿(Fast Appro

    OpenGL ES 3.0抗锯齿系列文档: 多重采样抗锯齿Multiple Sample Anti-aliasin...

  • OpenGL(二)

    抗锯齿 混合的2 功能:颜 组合、抗锯 混合处理-抗锯齿 //开启混合处 glEnable(GL_BLEND); ...

网友评论

      本文标题:抗锯齿问题

      本文链接:https://www.haomeiwen.com/subject/xinpcqtx.html