- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于镶嵌低分辨率离屏混合粒子渲染
基于镶嵌低分辨率离屏混合粒子渲染
摘要:三维游戏中许多满屏幕烟雾效果极大地挑战着填充相关负载。此时,粒子系统照明及自阴影像素级计算瓶颈会出现在像素着色器,顶点级计算则会采样不足。本文采用将粒子系统低分辨率的离屏渲染后再混合和粒子公告板视点相关镶嵌相结合的方法,使场景图像质量没有可察觉的变化,同时帧率大大提升。离屏混合将粒子渲染到一个尺寸为主帧缓存一半或四分之一的离屏目标,再与固定对象混合,以应对图像处理开销。镶嵌则使场景图像质量接近每像素级计算方法,同时又提供了一个显着的帧率加速比。
关键词:满屏烟雾 粒子公告板镶嵌 离屏粒子 混合渲染
中图分类号:TP31 文献标识码:A 文章编号:1007-9416(2013)09-0195-02
1 引言
单个的、半透明多边形对于体效果而言过于昂贵,在三维游戏中普遍采用粒子系统表现烟、火、爆炸、沙尘和雾。对于第一人称和第三人称游戏,当摄像机视角处于粒子系统当中,烟雾和爆炸经常对玩家角色直接呈现,效果会填满整个屏幕,很容易填充率过高,产生过绘制,导致帧率过低。
这类情形中,许多效果是比较模糊、柔和的粒子系统,如:烟、雾。这些图像通常频率很低,没有尖边,多层次粒子的积累能形成了一缕缕羽化感观。如图1柔和的粒子系统三种计算方法效果所示,像素照明图像质量最高,镶嵌次之,顶点最末,同时像素照明与镶嵌的结果几乎无法看出差别。这时,图1(左)执行像素级照明和自阴影,瓶颈会出现在像素着色器处理上。图1(中)如果执行顶点级照明和自阴影,则会采样不足、重要特征被遗漏。图1(右)为本文方法的效果,它解决了如何利用好粒子系统低分辨率渲染,又不损伤视觉质量的特定场景,降低填充率,提高帧速。
2 实现原理
本文主要采用粒子系统低分辨率的离屏渲染再混合的方法和粒子公告板视点相关镶嵌方法相结合,运行结果如图1(右)所示。
前者将柔和烟雾粒子先渲染到一个尺寸为主帧缓存一半或四分之一分辨率的离屏目标,最后再与场景的固定对象主帧缓存混合,用离屏目标应对图像处理开销,大大降低过绘制的成本。
??者通过DX11镶嵌在图形硬件中为粒子公告板生成足够多的新顶点,动态地减少了所呈现粒子系统的复杂性。它使用一个简单镶嵌模式,镶嵌级别与摄像距离成反比的,根据粒子公告板到视点的距离决定公告板的细节程度,离得近的公告板项点插值密度高,反之则密度低。图2显示非镶嵌与镶嵌粒子公告板的顶点密度的对比,镶嵌粒子会被分得非常细腻,平滑致密。如图1(右)所示,几乎无法区分像素计算结果与镶嵌计算结果的区别。镶嵌则使场景图像质量接近每像素级计算方法,同时又提供了一个显着的帧率加速比。
当然该方法明显并不适用于高频图像的粒子系统,如:飞散的岩石碎屑。
3 低分辨率的离屏粒子混合
镶嵌有助于消除许多像素着色器的负担,但它确实没有处理好图形管道剩余的填充依赖。粒子低分辨率的离屏渲染混合如何解决该问题?粒子系统低分辨率渲染可保有可接受的图像质量,但场景中固定对象则不行,不能采用低分辨率渲染,因此要将粒子与场景中的其他对象分离处理。其渲染的主要步骤如图3所示,先用一般方法渲染固定对象,再将粒子以较低分辨率,即主帧缓存的一半或四分之一分辨率渲染到离屏目标中,最后将两者合并。
低分辨率粒子和全分辨率不透明固定对象合并渲染时,其交叉位置会产生走样现象。两者合并需要进行正确的深度测试,关键是如何在固定对象渲染时保存其深度缓存并进行向下采样,在将粒子加回到主帧缓存中时再进行向上采样。需要深度测试的是一个尺寸与离屏渲染对象相同的深度缓存,通过对主深度缓存进行向下采样来完成。如图3(中)橙色箭头所示,深度测试可使离屏粒子生成了固定对象的合理轮廓。
为获得固定对象的深度值,对深度取均值向下采样的结果是错误的,均值点采样将产生明显的失真。如在图4所示,绿色三角形为一个前景对象,接近于视点,因此具有较小深度值,白色背景区域具有极大的深度值,周边16个像素向下采样到中心,A采样结果代表了16个输入像素的深度,但实际上它与像素B具有类似的深度。
本文通过使用最大深度单点采样,应用最大值函数,从完整分辨率深度数据中沿4个方向,得到4个深度值,并取最大的哪一个,均值点采样出现的光晕问题可以得到改善。图5给出全分辨率、点采样、最大深度采样粒子效果的对比,最大深度采样结果在粒子离屏图像中收缩了固体对象轮廓,但看起来比点采样出现光晕效果好很多。当失真足够小时,低分辨率粒子图像被重新加回主帧缓存后,大部分失真被线性混合隐藏了起来。
深度测试在粒子像素着色器中进行,固定对象的向下采样的深度缓存被作为着色器资源视图绑定传入,粒子深度在顶点着色器中计算后传入。通过深度比较,当被遮挡时,相应像素将被排除。在粒
文档评论(0)