付费下载
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
计算机图形中的混叠效果_面向导航应用的一种新型抗混叠技术本篇文章主要向大家介绍GRLAA(GRadientLineAnti-Aliasing,梯度线抗混叠)技术,这种缩写是一种相对简单且高效的用来区分别名的方法,而且经常会在汽车导航应用中见到。在信号处理的准则中,存在一个特定的采样频率称为奈奎斯特频率,当我们对某个信号的采样频率低于奈奎斯特频率时,那么从采样点恢复恢复出的信号是与原始信号不同的。原始信号与重构信号体现出的差别,这个效果成为“混叠”。这里我们将与大家讨论在计算机图形中混叠效果最普遍的两种体现。第一种就是锯齿(如图1所示),主要就是在斜直线的方向上呈现锯齿状的阶梯。这是在显卡光栅渲染阶段像素之间产生的。图1:抗混叠效果对比(左:禁止,右:允许)第二个是采样混叠。当较高频率(快速变化)的纹理用于渲染远景的一些对象时,比如图2所示的棋盘模式,我们能够清晰的看到一些混叠效果,称为云纹图案模式。图2:纹理混叠:双线性滤波(左)和三线性滤波-MIP贴图(右)目前有多种算法能够降低这些可见的混叠现象,甚至消除锯齿效果。然而这些算法会占用相当一部分的系统性能,当然这与你使用的硬件平台也有关系。·超级采样抗混叠(SSAA)技术:这是一种比较“暴力”的方式,首先以较高的分别率(最终所期望的整数倍x2、x4)来渲染整个场景,然后对整个帧缓冲区进行采样最终生成我们需要的最终分辨率。最终效果显示这种方法在质量上有保证,而且优化了锯齿和纹理采样,但是这个技术的实现成本代价很大。渲染的代价——包括光栅渲染、分片渲染以及相应的带宽——一般都是分辨率的平方,比如x2SSAA对应的代价就是x4,x4SSAA对应的代价就是x16。·多采样抗混叠(MSAA)技术:这个方法会增加每个像素点的采样数量,将渲染的图像添加到缓冲区,并且能够存储每个像素点的多个采样值。然后通过缓冲区输出符合我们所期望的图像分辨率。这种技术在PowerVR硬件平台上非常高效而且全部是在芯片内部解决,节省了内存带宽。MSAA能够优化锯齿但是对于采样效果无能为力。·基于着色器(Shader)技术如快速近似抗混叠(FXAA)或亚像素形态抗混叠(SMAA),这两种方式都是采用分析来检测和模糊锐利的几何特性。同时也会在显示环节采用后处理算法,付出的代价一般都是固定的(单个全屏幕通过)但是会需要更大的存储带宽,显然这对于移动和嵌入式设备来讲是非常宝贵的。梯度线抗混叠技术简介GerryRaptis是PowerVRSDK开发团队的主管,是他开发的GRLAA技术来改进我们正在设计的导航应用演示Demo。GRLAA技术大幅度提升了道路几何图形边沿的可视化质量,所需要的计算成本也相对较低。除此以外这使得没必要再添加道路轮廓了。轮廓能够提升道路边沿的可视化程度,方便用户识别,更加清楚的区分道路边界。图3:抗混叠道路图形轮廓这个方法背后的一般想法就是渲染道路的不透明区,然后逐渐提升透明度,即在道路几何图形的上面或者边缘提升像素的百分比。任何分片的alpha通道都是基于两个值。第一个是分片区与道路边沿的距离,第二个是这个距离的变化率,即我们常说的梯度,或者更正式的来说就是距离的偏导数。每个分片的RGB颜色数值是通过计算(0,0,0)三者之间的差值来确定的,生成一个固定的黑色轮廓(或者其他颜色的轮廓)和道路的平面颜色,然后将统一数据传递给分片的着色器。所有这些计算都是基于差值t,这个值时通过相对距离和变化率来计算确定的。后面的内容会更加详细的介绍如何推算这些数值,以及这些数值对GRLAA技术的重要性。这个算法目前的形式可能没有太大的价值,只适用于一些具有已知宽度的几何图形,比如一条路或者一条线等。GRLAA技术详细分析为了确定正确的融合水平,这个算法需要知道距离道路边沿的距离,因为这会影响融合的强度。这意味着数据集中每个几何顶点需要附加额外的顶点补偿数据,必须是某个两个常量值之一,即-1或1。这个赋值应该在奇数和偶数之间变换,这表示道路的一侧会接收基础值-1而另一侧则对应基础值1。这些数据会作为几何顶点数据上传给图形卡硬件,经过分片着色器计算才能确定最终的alpha通道值。给每个顶点赋值的基础值按道路的两侧来分是不同的,比如左手侧和右手侧。因为这些顶点数据会被分片着色器用于计算,它们自动会被硬件进行插值转换。图4:代表几何的基础属性值插值转换后的基础值会用于计算当前分片与道路边沿的距离。比如道路中心的分片相对于道路的两边都是最远的,意味着相对距离如果是1,那么就能够有效的接收不需要融合。随着分片距离道路边沿越来越近,相对距离会接近到0,随之需要接收更多的融合。floatdistance=1.0–abs(roadBaseVal);既然我们已经确定了道路边沿相对道路宽度的相对距离,那么我们就需要确定渲染的道路轮廓的宽度。算法的第二大部分主要涉及需要渲染的分片百分比。顶点数据的基础插值作为标准的GLSL偏导(梯度)函数的参数。函数“dFdX”和“dFdY”一般分别用来计算给定值在X方向和Y方向上的变化率,而且通常由一个小型网格(2x2)的分片来确定的。计算过程能够输出当前分片距道路边沿相对距离的变化速率,根据当前分片与相邻分片的偏导数来推算。基于指定分片的变化率我们能够计算出合适的alpha通道值。最终结果则决定了分片的百分比,即定义了道路的边沿,此外为了绘制一个平滑的轮廓,我们还需要处理更多个分片。#defineANTIALIAS_STRENGTH2.//ConstantaffectshowmuchAAwillbeapplied,ahighervalue//willincreaseblurringatthecostofreduceddetail,whilealowervaluewillreducethe//amountofblurringatthecostofmorealiasing.floatblend_range=ANTIALIAS_STRENGTH*sqrt(dFdx(roadBaseVal)*dFdx(roadBaseVal)+dFdy(roadBaseVal)*dFdy(roadBaseVal));floatblend_halfrng=0.5*blend_range;变化率非常的重要,只有它才能够让算法不必考虑显示屏幕上道路的规模和尺寸。使用偏导数函数能够确定某对象所占用屏幕空间的百分比,比如下面的情况:·如果对象占用屏幕空间比较小(缩放),那么占用的像素点需要进行融合渲染来实现比较光滑的边沿效果,等同于占用较大百分比的屏幕像素空间。这是因为变化率比较大,基值是通过少量分片插值变换得出的。因此需要开始渲染距离道路边沿较远的分片,这时就可能出现锯齿。·相反,如果对象占用屏幕空间比较大(放大),那么占用的像素点需要通过融合渲染来降低占用的总像素数的百分比。这时变化率会比较低,基值的差值转换会涉及到更多的分片。因此就需要开始融合渲染距离道路边沿比较近的分片。如果结果比需要的百分比大,那么道路就会变得模糊。图5:变化率,缩小vs放大所有组件确定后就可以计算分片的最终颜色值,通过在轮廓颜色(这里主要是黑色)阈值和道路颜色(统一标准)阈值之前进行插值变换,我们才能够计算出RGB组件的属性值,插值变换是从相对距离和变化率衍生而来的。同时alpha组件的值也是通过相似的方式来计算,但是不需要进行插值转换。#defineOUTLINE_WIDTH0.25//Howlargeouroutlinewillberelativetotheroadwidthfloatoutline_distance=clamp(((distance–OUTLINE_WIDTH–blend_halfrng)/blend_range)+0.5,0.0,1.0);floatblend_distance=clamp(((distance–blend_halfrng)/blend_range)+0.5,0.0,1.0);oColour.rgb=mix(vec3(0.0,0.0,0.0),roadColour.rgb,outline_distance);oColour.a=blend_distance;相比之前基于纹理抗混叠方法,GRLAA最主要的优势就是mip-map不需要任何依赖。基于纹理的方法会在抗混叠像素的数量上有一定的限制,尤其当几何图形被最小化后,因此我们采用基于mip-map的图形技术,本篇文章介绍的算法在处理任何尺寸的几何图形时都不会有问题,能够输出非常清晰高质量的抗混叠效果的边缘轮廓,而且不
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 武术专业运动员转会协议
- 水泵配件定制采购合同协议
- 2026年物业保安岗位职责与工作标准
- 2026年技术兵种大学生士兵专业技能提升路径
- 2026年电力安全培训微课开发与移动学习应用
- 2026年烟花爆竹生产工人防爆与防火培训
- 渠道销售渠道合作保密协议
- 2026年提升消防安全管理的建议与措施
- 2026年塑料改性技术与高性能工程塑料
- 肝癌肝切除患者血白蛋白水平的多因素解析与临床策略
- 《松材线虫病》课件
- 2025年云南曲靖市住建局招聘考果及拟聘高频重点提升(共500题)附带答案详解
- 核酸扩增检测实验室设计及工作流程
- 幼儿园教师防欺凌培训内容
- 石油钻井井电方案
- 得每通产品培训2015品牌版
- 青海省循化县谢坑铜金矿(二、四釆区)矿山地质环境保护与土地复垦方案
- FANUC O加工中心编程说明书
- 滕王阁序注音全文打印版
- GB/T 6451-2015油浸式电力变压器技术参数和要求
- Unit4 写作课 A Funny Story教案-高中英语北师大版(2019)选择性必修第二册
评论
0/150
提交评论