基于simplex 噪声的实时火焰绘制

来源 :计算机光盘软件与应用 | 被引量 : 0次 | 上传用户:xujinchang5280
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:本文提出了一种基于simplex 噪声的游戏中高效率火焰的绘制方法。其基本思想是,在光线行进过程中,将火焰的轮廓纹理绕y轴旋转一周获得基本的火焰形状,并用simplex 噪声扰动来实现动态的火焰效果。当火中有其他物体时,场景的深度信息被事先存储在一张深度纹理中,并在光线行进过程中将采样点的深度与场景的深度进行比较,作为光线行进终止的条件;因为采样点的不连续性,会在火与物体相交处出现带状分层现象,本文采用了“多采样一次”来解决这一问题。另外,本文通过对顶点位置进行偏移,实现了简单的受风影响的火。最后,本文给出了火海的绘制方法。
  关键词:simplex噪声;光线行进;场景深度;火海;实时性
  中图分类号:TP391.41 文献标识码:A 文章编号:1007-9599 (2012) 23-0000-02
  火是自然界中常见的现象之一,在电影特效、游戏制作、场景模拟教学、抢险救灾演练等许多领域都有重要应用。随着计算机图形学的发展,为适应各个领域的需求,人们采用了不同的方法来模拟火焰,并取得了很大的成就。
  本文采用simplex 噪声来模型火焰[1],既能实现较为逼真的火焰,又具有较低的算法复杂度,在大型网络游戏、场景模拟等领域都可以被采用。
  本文算法是在GPU中基于物体坐标系实现的,眼睛坐标也变化到物体坐标系下相应的位置,因此此算法具有很好的移植性,可以适应于不同的外部环境。
  1 光线行进与颜色转化
  火焰的效果是在GPU中用光线行进算法实现的。这一算法是在物体坐标系下展开的。因此,在顶点着色器中,如果对单位正方体盒子做了平移或者缩放操作,眼睛坐标的位置都需要做相反的操作,以保证光线行进的准确性。这里,正方体盒子 坐标的长度均为1,范围为 。
  每一条光线从视点位置发出,接触到正方体盒子时光线行进开始,离开盒子时光线行进结束。在光线行进过程中,每一条光线都被分成等距离的多段,每一段的长度为一固定值;而对每一个采样点,都对其竖直方向赋予一个系统的时间值,使其随着时间进行变化,然后用simplex噪声对其扰动,以获得动态的火焰的3D噪声灰度图。
  本文绘制火焰时使用的唯一纹理是火焰轮廓纹理。通过将采样点的位置绕纵坐标旋转获得火焰轮廓纹理对应的横坐标,以获得基本的火焰形状。若采样点位置坐标为 ,则其与纹理坐标的映射可采用以下公式获得:
  其中, 对应纹理的坐标, 为粗糙系数, 为对采样点位置进行扰动之后的值。
  当遇到结束条件(离开正方体盒子或遇到障碍物)时,光线行进终止。此时,将这条光线各个采样点获得的颜色叠加,获得的最终的颜色值赋给像素着色器的对应像素,即可得到对应像素的颜色。
  2 场景深度的获取与反走样[2]
  当把一个物体(如燃烧的木头、在火上架着的水壶等)放入到火焰中时,就需要获取到物体的深度信息,本文是这样实现的:
  2.1 首先获得物体(如木头、水壶等)的深度信息,并将其存储在一张额外的纹理中(这一步可以在GPU中实现,用FBO将场景的深度信息绑定到纹理。只需将深度测试打开,获取其深度即可)。
  2.2 在光线行进过程中,对已事先存储了深度信息的纹理进行采样,获得场景的深度值。当采样点的深度值大于这一点场景的深度值时,则光线行进对本条光线的采样结束。
  当进行场景的深度测试之后,因为采样点的不连续性,就会在火与物体的交汇处,出现带状分层现象。当物体的深度变化比较明显的时候,这一现象尤为突出。
  为了解决这一问题,我们采用“多采样一次”的方式。
  在光线行进过程中,对于每一个采样点 ,都同时判断它的下一个采样点 的深度值是否大于场景的深度。如果 的深度值大于场景深度,则我们定义光线行进的下一个采样点,即最后一个采样点为光线与物体的交点(设这一点为 ),其颜色值由 对其贡献的权重值决定。具体公式为:
  (1)
  上式中, 表示 对其贡献的权重,其初始值为1; 表示 点与采样点 之间的距离; 为采样步长,即采样点 与 之间的距离。
  获得权重 之后,即可将其作为采样点颜色的修正值,以消除因采样的不连续性而造成的带状分层现象。
  3 受风的影响的火
  当受风的影响时,火的燃烧方向会受风的影响做一些偏斜。风越大,则火受到的沿风方向的水平力越大,其偏斜的角度也越大。为了实现这一效果,我们在顶点着色器中对其顶点的位置作了一定的偏移,偏移的大小与风的大小和顶点的位置有关。其中,偏移量 由以下方式获得:
  上式中, 表示顶点纵坐标的值,因为用于描述火的单位正方体盒子的坐标范围是-0.5~0.5, 这里加上0.5即可把顶点范围变到0~1。新的顶点位置的横坐标 可以通过以下方式计算得到:
  上式中, 作为偏移量的系数,可以控制偏移的大小,与风的大小成正比。因为自然界中的风的大小和方向不是固定不变的, 的值可以通过外部线性随机函数赋值获得。
  对于受风影响的火,我们对采样点沿斜向上的方向赋予随时间变化的数值,风越大,倾斜的程度越大。
  4 火海的实现
  本文采用基本的长方体盒子来实现火海的效果。设采样点位置 ,长方体盒子的长宽高分别为: 、 、 ,并且假设长方体的最长轴与横坐标平行,长方体盒子的中心依然处于原点位置,则 点与纹理坐标对应如下:
  上式中, ,可知,纹理的采样方式由 点横坐标的位置有关:当 点处于长方体盒子的两端时,则绕其中心旋转使火焰两端看起来平滑;而当 点处于盒子的中间位置时,仅使纹理与其纵坐标的位置对应。
  5 结果与小结
  本文基于simplex噪声的火焰效果是在普通的PC机上实现的,其硬件配置为Intel(R) Core(TM)2 Duo 2.93Hz、DDR 2GB、GeForce GTX 260,软件环境为VS2008、OpenGL 2.0、OSG 8.4。这里生成火焰的光线行进算法的步长设置为 ,火焰灰度图由4个不同频率的simplex噪声叠加而成,频率系数分别为 。
  本文实现基于simplex噪声的柏林火。通过将火焰的轮廓纹理绕纵坐标旋转获得基本的三维火焰形状,然后用simplex噪声对其进行扰动。当火与其他物体交互时,本文进行了场景深度测试并且解决了因采样点的不连续性造成的带状分层现象。本文通过对顶点位置进行偏斜实现了受风影响的火。另外,本文给出了火海的绘制方法。以上所有算法均是在GPU实现的,因此保证了较高的效率,可以适应游戏场景中对实时性要求比较高的特点。
  参考文献:
  [1]White Paper - Perlin Fire. NVIDIA SDK 10: PerlinFire.
  [2]KEENAN CRANE I. L., TARIQ S.: Real-Time Simulation and Rendering of 3D Fluids, GPU Gems 3, first ed. Addison-Wesley Professional,2007.
  *国家自然科学基金项目(No. 60903118)基于图形处理器的高性能计算(High Performance computing based on GPU);
  *国家自然科学基金项目(No. 60832011)先进塔台视景模拟系统基础理论与关键技术(Basic theory and key technology of advanced visual simulation system for Tower)。
  [作者简介]
  郑娜(1987-),女,山东潍坊人,硕士研究生,主要研究方向:计算机图形学,虚拟现实;段茗(1986-),男,四川省广安市人,硕士研究生,主要研究方向:计算机图形学,虚拟现实;姜宏(1986-),男,四川宜宾人,硕士研究生,主要研究方向:图形学,人机交互;孙青云(1987-),女,安徽宣城人,主要研究方向:信息安全,图形图像。
其他文献
摘 要:以学校数字影像教学系统中片库管理为背景,利用流行的Ext js框架技术,结合实际业务流程,设计并实现数字影像片库的管理系统。  关键词:Ext js;数字影像;片库管理系统  中图分类号:TP311.52  现代医学影像作为一门交叉学科,越来越多地应用信息技术。在数字化的工作环境中,业务流程的流畅性在很大程度上决定于数字影像片库系统的通用性和用户体验度。使用流行的开源Ajax框架Ext j
期刊
摘要:从1999年申请到2002年获得专利授权这三年时间里,朗科失去了先发优势,技术被其它公司利用从而培育出相当大规模的闪盘行业,国内的这类厂商已经达到了一百多家,由此引出了我国《专利法》临时保护期的问题。本文深入分析了我国《专利法》关于临时保护期的规定,并对其他国家的相关规定进行了比较,在此基础上提出了完善我国《专利法》临时保护期的对策建议。  关键词:《专利法》;临时保护期;朗科U盘专利案  
期刊
摘要:为了适应加快教育改革的步伐,大力推进信息技术在教育教学中的应用,广大教师为此做了很多相关课题研究和大量实际工作,并在课堂中加入了很多信息技术的应用,让信息技术真正融入到教育教学中。但在实际教学工作中,要实现信息技术的真正融入不是那么容易的事,存在诸多问题。本文通过对张掖市部分农村中小学信息技术融入教学的发展过程现状以及效果的进行调查,总结了信息技术融入教学的存在的问题。  关键词:信息技术;
期刊
摘要:本系统是采用层次化和面向组件的软件体系结构,构建在基于J2EE规范的工作流引擎及成熟的应用支撑平台上的一个具有伸缩性、开放性、便携性的科研管理系统,实现科研管理的信息化、流程规范化和自动化。  关键词:科研管理;J2EE;工作流  中图分类号:TP311.52 文献标识码:A 文章编号:1007-9599 (2013) 02-0000-03  1 引言  随着社会信息化的推进,信息的获取、处
期刊
摘要:IPv4/IPv6过渡技术主要是指IPv4到IPv6的过渡期间内用以确保业务共存以及互操作的一种技术。本文结合凯里学院校园网特点,简要介绍了三种典型的IPv6过渡技术(双协议栈技术,隧道技术和协议转换技术),并表达了这是IPv4向IPv6过渡过程中最基本的过渡策略,而且,仅仅采用某种较为单一的技术并不能达到较为理想的效果。笔者认为在具体的应用时可采用多种技术来达到较为理想的效果。  关键词:
期刊
摘要:本文以应用型人才培养模式为背景,从明确目标、作品展示、实行“助教制”、加强模块设计、注重综合设计等方面阐述了一个行之有效的高校文科生《多媒体技术及应用》课程实验教学方案。  关键词:多媒体技术;实验教学  中图分类号:TP37-4 文献标识码:A 文章编号:1007-9599 (2013) 02-0000-02  我校《多媒体技术及应用》是文科类大一学生继《大学计算机基础》之后的一门必修课。
期刊
摘要:《信息检索与利用》课程旨在培养学生的信息技术应用能力,信息获取、组织、加工和分析能力,从而培养学生的自学能力和创新能力,本文通过对“任务驱动”教学法在职业素质课程教学中的具体应用及取得的效果进行研究,以期探究出更为科学、高效的教学设计方案。  关键词:信息检索与利用;任务驱动;教学设计  中图分类号:G719 文献标识码:A 文章编号:1007-9599 (2013) 02-0000-02 
期刊
摘要:为了使WLAN提供高效、可靠的业务,设计一个功能强大的无线网络管理端系统是非常必要的。本文设计与实现了一种基于JMX架构技术的无线网络管理端系统,主要涉及到:体系结构的设计、拓扑管理模块以及无线射频管理模块和网络故障管理模块的原理等等。  关键词:无线网络;管理系统;JMX  中图分类号:TP315 文献标识码:A 文章编号:1007-9599 (2012) 23-0000-03  1 概述
期刊
摘要:随着信息技术的迅猛发展,教师在专业成长和专业发展过程中越来越多地受到信息技术的影响。信息技术支持下的校本研修是指在信息技术为前提下,构建利于教师开展校本研修的外部环境和内部环境。本文首先分析了信息技术支持下的教师校本培训,其次,分析了信息技术支持下的教师校本教研,最后,就在信息技术支持下如何提高教师校本研修水平进行了深入的探讨,提出了自己的建议和看法,具有一定的参考价值。  关键词:信息技术
期刊
(1.北京清大华康电子技术有限责任公司,北京 100083;2.华北电力大学(北京)控制与计算机工程学院,北京 102206)  摘要:数据挖掘技术是一门跨学科的综合研究领域,集计算机机器学习、统计学、数据库管理、数据仓库、可视化、并行计算、决策支持为一体,利用数据库、数据仓库技术存储和管理数据,利用机器学习和统计方法分析数据。在当前社会节能减排的大环境下,电力从业者利用数据挖掘技术对机组发电过程
期刊