一种远景平滑淡出的方法及装置的制造方法

文档序号:8260279阅读:403来源:国知局
一种远景平滑淡出的方法及装置的制造方法
【技术领域】
[0001]本发明涉及计算机图形领域,尤其涉及一种远景平滑淡出的方法及装置。
【背景技术】
[0002]在3D网络游戏中,经常需要模拟广阔的大自然场景,比如浩瀚的海洋、大荒漠、大沼泽、热带雨林等,这种庞大的场景包含非常多的物体,如果进行逼真的模拟,就需要渲染大量的物体,但现阶段用户计算机无法承受如此高的渲染量,所以大多数3D游戏中都需要设置可视距离,将可视距离以外的物体裁剪掉,使其不显示,只需渲染半径几百米范围内的物体,这样可以避免渲染量过大导致游戏卡顿。但这会导致一个新的问题,当某个物体模型的一部分处于可视距离之外,此时该物体会被裁剪,只保留可视距离之内的部分,裁剪会导致物体显示不完整,而且颜色上也无法和背景融合,使得游戏的画面逼真度降低。
[0003]现有技术中,采用场景雾解决所述问题,添加由近至远、由淡至浓的雾效,将靠近最大视野边缘的物体全部融入雾中,当物体被裁剪时,由于该物体在浓雾中,所以由于裁剪导致的问题也就不存在了。
[0004]现有技术的缺点是:现有技术并未从根本上解决问题,只是对问题进行掩饰。另一方面,使用场景雾并非适用于所有场景,比如表现晴朗的大草原场景时,如果设置较浓的场景雾显然是不合适的,但如果设置较淡的场景雾,物体被裁剪的问题就会暴露。

【发明内容】

[0005]有鉴于此,本发明提供一种远景平滑淡出的方法及装置,以解决由于裁剪导致远景物体显示不完全,被裁剪物体的边缘颜色无法和背景颜色融合的问题,提高游戏画面的逼真度。
[0006]第一方面,本发明提供了一种远景平滑淡出的方法,包括:将场景中第一类别模型的颜色值渲染到第一颜色缓冲区,并将场景中第二类别模型的颜色值渲染到第二颜色缓冲区;计算第一类别模型与第二类别模型融合区的颜色值。
[0007]进一步地,计算第一类别模型与第二类别模型融合区的颜色值具体包括:计算第二类别模型占模型融合区的比例,其中模型融合区包括第一类别模型和第二类别模型;依据所述比例计算所述模型融合区中像素点的颜色值。
[0008]进一步地,所述计算第二类别模型占模型融合区的比例具体包括:依据如下公式计算第二类别模型占模型融合区的比例:
[0009]F= (Xd-D)/(1-D)
[0010]其中,Xd为模型融合区中任一像素点到相机的距离,D为模型融合区的起始像素点到相机的距离。
[0011]进一步地,所述利用所述比例计算模型融合区中像素点的颜色值具体包括:利用如下公式计算模型融合区中任一像素点的颜色值:
[0012]C = Xa*(l_F)+Xb*F
[0013]其中,Xa为该像素点在第一颜色缓冲区中的颜色值,Xb为该像素点在第二颜色缓冲区中的颜色值;
[0014]重复上述计算,得到模型融合区中每一个像素点的颜色值。
[0015]进一步地,第一类别模型包括不被裁减的模型,所述第二类别模型包括超出可视距离被裁减的模型。
[0016]第二方面,本发明提供一种远景平滑淡出的装置,包括第一颜色缓冲区模块、第二颜色缓冲区模块和计算模块:所述第一颜色缓冲区模块,用于场景中第一类别模型的颜色值的渲染;所述第二颜色缓冲区模块,用于场景中第二类别模型的颜色值的渲染;计算模块,用于计算第一类别模型与第二类别模型融合区的颜色值。
[0017]进一步地,所述计算模块包括第一计算单元和第二计算单元;所述第一计算单元,用于计算第二类别模型占模型融合区的比例,其中模型融合区包括第一类别模型和第二类别模型;所述第二计算单元,用于依据所述比例计算所述模型融合区中像素点的颜色值。
[0018]进一步地,所述第一计算单元具体用于依据如下公式计算第二类别模型占模型融合区的比例:
[0019]F= (Xd-D)/(1-D)
[0020]其中,Xd为模型融合区中任一像素点到相机的距离,D为模型融合区的起始像素点到相机的距离。
[0021]进一步地,所述第二计算单元具体用于利用如下公式计算模型融合区中任一像素点的颜色值:
[0022]C = Xa*(l_F)+Xb*F
[0023]其中,Xa为该像素点在第一颜色缓冲区中的颜色值,Xb为该像素点在第二颜色缓冲区中的颜色值;
[0024]重复上述计算,得到模型融合区中每一个像素点的颜色值。
[0025]进一步地,所述第一类别模型包括不被裁减的模型,所述第二类别模型包括超出可视距离被裁减的模型。
[0026]本发明提供的一种远景平滑淡出的方法及装置,通过将场景中不被裁剪的模型的颜色值渲染到第一颜色缓冲区,并将场景中超出视距被裁剪的模型的颜色值渲染到第二颜色缓冲区;计算不被裁剪的模型与超出视距被裁剪的模型融合区的颜色值。将处于远景中的不被裁剪的模型的颜色与超出视距被裁剪的模型的颜色融合在一起,以提高游戏画面的逼真度,提升游戏体验。
【附图说明】
[0027]通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显;
[0028]图1是本发明实施例一提供的一种远景平滑淡出的方法流程图;
[0029]图2a是现有技术中的远景淡出效果图;
[0030]图2b是使用本发明之后的远景淡出效果图;
[0031]图3是本发明实施例二提供一种远景平滑淡出的装置图。
【具体实施方式】
[0032]下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部内容。
[0033]实施例一
[0034]本发明实施例一提供一种远景平滑淡出的方法。图1是本发明实施例一提供的一种远景平滑淡出的方法流程图。如图1所示,所述方法包括:
[0035]步骤110、将场景中第一类别模型的颜色值渲染到第一颜色缓冲区,并将场景中第二类别模型的颜色值渲染到第二颜色缓冲区;
[0036]在本步骤中,所述第一类别模型包括不被裁减的模型,具体来说在3D游戏中都需要设置可视距离,当模型处于可视距离之外就会被裁剪掉,但是有些模型如天空盒、星体贴图等背景层物体就不会被裁剪,它们会跟随玩家所控制的角色移动,可以始终保持在可视距离之内。所述第二类别模型包括超出可视距离被裁减的模型,例如巨型建筑物、植被等物体,它们不会跟随玩家所控制的角色移动,它们超出可视距离则会被裁剪。模型是指场景中的物体或者景色等。
[0037]所述颜色缓冲区是二维(2D)颜色缓冲区,3D游戏通常会将场景中的模型数据通过多种数学计算,将模型的颜色信息渲染到2D颜色缓冲区中,该颜色缓冲区有X*Y个元素,X和Y相当于屏幕分辨率(例如1024*768)。
[0038]步骤120、计算第一类别模型与第二类别模型融合区的颜色值。
[0039]计算第一类别模型与第二类别模型融合区的颜色值具体包括两部分;
[0040]第一、计算第二类别模型占模型融合区的比例,其中模型融合区包括第一类别模型和第二类别模型。
[0041]计算超出可视距离被裁剪的模型占不被裁剪模型和超出可视距离被裁剪的模型融合区的比例具体为依据如下公式计算第二类别模型占模型融合区的比例:
[0042]F= (Xd-D)/(1-D)
[0043]其中,Xd为模型融合区中任一像素点到相机的距离,D为模型融合区的起始像素点到相机的距离。Xd可以从场景深度图中得到。所述深度图中的数值表示场景中任一像素点到相机的距离。
[0044]在此,模型融合区是指场景中第一类别模型和第二类型模型融合的区域,具体来说是指靠近最大视野边缘的会被裁剪的物体与场景的背景融合在一起的区域,本领域技术人员也可以理解为远景平滑淡出的区域。3D网络游戏中的相机一般用来控制当前游戏场景中的视角。相机绑定在玩家主角的身上。一般情况下,3D网络游戏世界中有以下三种矩阵:世界矩阵(world matrix),其用于控制对象在游戏场景中的位置或者姿态,视/相机矩阵(view matrix)其用于控制相机在游戏场景中的位置和姿态,进而决定游戏场景中哪些物体
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1