lovellhe的个人博客分享 http://blog.sciencenet.cn/u/lovellhe

博文

Lovell Charts科学绘图软件中的反走样(抗锯齿-Antialiasing)技术

已有 368 次阅读 2024-4-25 03:50 |个人分类:技能分享|系统分类:科研笔记

Lovell Charts科学绘图软件中的反走样(抗锯齿-Antialiasing)

      Lovell Charts (3D plot) 软件的介绍详见前面的博文。

    在采用新的像素点着色技术后,Java言语自带的抗锯齿设置随之失效,因此需要对生成的图片进行一定的抗锯齿处理,增加图形的柔顺和光滑感。

    Lovell Charts中实施了两种基本的反走样(antialiasing)技术:

1. 对于线段,通过改进Wu Xiaolin算法,实现了对线段颜色和宽度进行控制的同时消除其锯齿。结果与经过反锯齿后的Java画线效果相当。这里Lovell Charts可以绘制各种给定宽度(thickness)3D线段。线段的颜色可控制为单色、渐变色、颜色谱系覆盖。

2. 对于其他的图像,Lovell Charts采用了Multiple Sampling Antialiasing (MSAA)抗锯齿技术,在MSAA-2X时,可得到可接受的图片反锯齿效果;而当采取MSAA-3X时,结果与Java的自带抗锯齿结果相当。当进一步增加采样倍数时,反锯齿效果改进不明显。

 

得失:一方面,经过反走样处理,图片边缘和内部的锯齿现象均明显减弱,图片质量显著提升;另一方面,当图片中需着色的基础三角形数量巨大时,计算机在绘制图片会出现明显的迟滞。因为可以方便地修改采样倍数,如果在绘制图像后需要对其进行反复变换(旋转、缩放、平移等),可以先将采样倍数设定为1(即无MSAA),观察后再增大采样数。

需要说明的一点是,对于高性能计算机而言,上述的迟滞应该不会出现;而当计算机具有高分辨率时,上述反锯齿操作也是不需要的! 对游戏玩家而言,可利用Nvidia或AMD自带的各种后处理抗锯齿工具,实现如MLAA, FXAA或SMAA,的反锯齿效果。

下面是几组反走样处理的前后对比图:(任意一组对比图片中,前面一张为待处理图片,后面一张为已经经过MSAA处理后的图片;通过放大图片对比将更加明显)

TwoSurfaces09.png

tr16.png

对于线段的控制示例图如下:(图中的线段具有与相连球体关联的渐变色)



https://m.sciencenet.cn/blog-3367056-1431222.html

上一篇:最新LovellCharts中光栅渲染器(Rasterization)的应用

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-6-2 17:57

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部