[发明专利]基于大气散射原理对天空进行渲染的方法和装置有效
| 申请号: | 200910080929.9 | 申请日: | 2009-03-26 | 
| 公开(公告)号: | CN101527051A | 公开(公告)日: | 2009-09-09 | 
| 发明(设计)人: | 冯星 | 申请(专利权)人: | 北京像素软件科技股份有限公司 | 
| 主分类号: | G06T15/00 | 分类号: | G06T15/00 | 
| 代理公司: | 北京德琦知识产权代理有限公司 | 代理人: | 谢安昆;宋志强 | 
| 地址: | 102218北京市昌*** | 国省代码: | 北京;11 | 
| 权利要求书: | 查看更多 | 说明书: | 查看更多 | 
| 摘要: | |||
| 搜索关键词: | 基于 大气 散射 原理 天空 进行 渲染 方法 装置 | ||
1.一种基于大气散射原理对天空进行渲染的方法,用于生成网络游戏场景 中的天空,其特征在于,包括如下步骤:
A、判断是否满足渲染更新条件,若不满足,则转至步骤C,否则执行 步骤B;所述渲染更新条件为满足如下任意一个条件:首次进行天空渲染; 距离上一次进行天空渲染的时间达到了预设时间阈值;视点的高度变化达到 预设高度阈值;
B、以当前视点为原点,生成参与散射计算极坐标球形模型,将需要参 与散射计算的极坐标球形模型按照水平角分为m等份,按照高度角分为n 等份,这样参与散射计算的极坐标球形模型被分为m×n个空间角单元;对 于所述每一个空间角单元采用相位计算、粒子对光线吸收和粒子对光线散射 的计算公式进行计算,将计算结果保存为m×n大小的贴图缓冲,所述m和 n为自然数;
C、根据当前太阳方向在水平面上的偏移量将所得到贴图缓冲映射到实 际显示的天空图像。
2.根据权利要求1所述的方法,其特征在于,所述步骤A中判断满足 渲染更新条件后,执行步骤B之前,进一步包括:估算当前帧的负载情况, 如果负载情况小于预先设定的阈值,则转至所述步骤B;否则执行步骤C。
3.根据权利要求1所述的方法,其特征在于,所述m=n=256。
4.根据权利要求1、2或3所述的方法,其特征在于,所述参与散射计 算极坐标球形模型为:以视点与太阳连线所在的垂直平面为对称平面,将天 空分为相互对称的两个四分之一球形中的任意一个。
5.根据权利要求4所述的方法,其特征在于,所述根据当前太阳方向 在水平面上的偏移量将所得到贴图映射到实际显示的天空图像包括:
将所述贴图做一次渲染得到当前的二分之一天空散射图;
将已得到二分之一天空散射图利用对称的极坐标,得到另外二分之一天 空散射图。
6.一种基于大气散射原理对天空进行渲染的装置,用于生成网络游戏 场景中的天空,其特征在于,该装置包括:
更新判断模块,用于根据游戏场景判断是否满足渲染更新条件,若是则 通知贴图计算模块计算新的贴图;所述渲染更新条件为满足如下任意一个条 件:首次进行天空渲染;距离上一次进行天空渲染的时间达到了预设时间阈 值;视点的高度变化达到预设高度阈值;
贴图计算模块,用于根据更新判断模块的通知,以当前视点为原点,生 成参与散射计算极坐标球形模型,将需要参与散射计算的极坐标球形模型按 照水平角分为m等份,按照高度角分为n等份,这样所述参与散射计算的 极坐标球形模型被分为m×n个空间角单元;对于所述每一个空间角单元采 用相位计算、粒子对光线吸收和粒子对光线散射的计算公式进行计算,将计 算结果保存为m×n大小的贴图缓冲,所述m和n为自然数;
映射模块,用于计算出当前太阳方向在水平面上的偏移量,根据当前太 阳方向在水平面上的偏移量将贴图计算模块所得到贴图缓冲映射到实际显 示的天空图像。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京像素软件科技股份有限公司,未经北京像素软件科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910080929.9/1.html,转载请声明来源钻瓜专利网。





