首页 / 专利库 / 电脑图像 / 着色器 / 顶点着色器 / 模拟太阳的方法及装置

模拟太阳的方法及装置

阅读:1017发布:2020-07-23

专利汇可以提供模拟太阳的方法及装置专利检索,专利查询,专利分析的服务。并且本 申请 提出模拟太阳的方法及装置。方法包括:预先设定太阳模型为由四个 顶点 连接而成的正四边形,预先设定与太阳模型对应的纹理坐标;将太阳模型转换到裁剪空间中,得到太阳的裁剪顶点;对太阳的裁剪顶点进行光栅化处理,得到对应的片元,对纹理坐标进行插值,得到片元中的每个 像素 点对应的纹理地址;根据各纹理地址,从预设的纹理图像中采集对应的纹素,将该纹素的 颜色 与预设的太阳颜色相乘,得到片元中与该纹理地址对应的像素点的颜色。本申请减少了模拟太阳的计算量。,下面是模拟太阳的方法及装置专利的具体信息内容。

1.一种模拟太阳的方法,其特征在于,该方法包括:
预先设定太阳模型为由四个顶点连接而成的正四边形,预先设定与太阳模型对应的纹理坐标;
将太阳模型转换到裁剪空间中,得到太阳的裁剪顶点;
对太阳的裁剪顶点进行光栅化处理,得到对应的片元,对纹理坐标进行插值,得到片元中的每个像素点对应的纹理地址;
根据各纹理地址,从预设的纹理图像中采集对应的纹素,将该纹素的颜色与预设的太阳颜色相乘,得到片元中与该纹理地址对应的像素点的颜色。
2.根据权利要求1所述的方法,其特征在于,所述太阳模型的四个顶点的坐标分别为(-
1,1)、(1,1)、(-1,-1)、(1,-1)。
3.根据权利要求2所述的方法,其特征在于,所述纹理坐标分别为(0,0)、(1,0)、(0,1)、(1,1)。
4.根据权利要求1所述的方法,其特征在于,所述将太阳模型转换到裁剪空间中包括:
根据太阳模型的四个顶点坐标,以及预设的太阳的方向、太阳的半径、世界转换矩阵及旋转偏移量,将太阳的四个顶点从模型空间转换到世界空间,根据预设的视见转换矩阵,将太阳的顶点从世界空间转换到相机空间,根据预设的投影转换矩阵将太阳的顶点从相机空间转换到裁剪空间。
5.根据权利要求1所述的方法,其特征在于,
所述将太阳模型转换到裁剪空间中包括:顶点着色器将太阳模型转换到裁剪空间中;
所述对太阳的裁剪顶点进行光栅化处理包括:光栅器对太阳的裁剪顶点进行光栅化处理;
所述对纹理坐标进行插值包括:光栅器对纹理坐标进行插值;
所述根据各纹理地址,从预设的纹理图像中采集对应的纹素,将该纹素的颜色与预设的太阳颜色相乘包括:片元着色器根据各纹理地址,从预设的纹理图像中采集对应的纹素,将该纹素的颜色与预设的太阳颜色相乘。
6.一种模拟太阳的装置,其特征在于,该装置包括:
顶点着色器,用于将太阳模型转换到裁剪空间中,得到太阳的裁剪顶点,其中,太阳模型为由四个顶点连接而成的正四边形;
光栅器,用于对顶点着色器得到的太阳的裁剪顶点进行光栅化处理,得到对应的片元,对与太阳模型对应的纹理坐标进行插值,得到片元中的每个像素点对应的纹理地址;
片元着色器,用于根据光栅器得到的各纹理地址,从预设的纹理图像中采集对应的纹素,将该纹素的颜色与预设的太阳颜色相乘,得到片元中与该纹理地址对应的像素点的颜色。
7.根据权利要求6所述的装置,其特征在于,所述顶点着色器转换的太阳模型的四个顶点的坐标分别为(-1,1)、(1,1)、(-1,-1)、(1,-1)。
8.根据权利要求7所述的装置,其特征在于,所述光栅器进行插值的纹理坐标分别为(0,0)、(1,0)、(0,1)、(1,1)。
9.根据权利要求6所述的装置,其特征在于,所述顶点着色器将太阳模型转换到裁剪空间中包括:
根据太阳模型的四个顶点坐标,以及预设的太阳的方向、太阳的半径、世界转换矩阵及旋转偏移量,将太阳的四个顶点从模型空间转换到世界空间,根据预设的视见转换矩阵,将太阳的顶点从世界空间转换到相机空间,根据预设的投影转换矩阵将太阳的顶点从相机空间转换到裁剪空间。

说明书全文

模拟太阳的方法及装置

技术领域

[0001] 本发明涉及场景渲染技术领域,尤其涉及模拟太阳的方法及装置。

背景技术

[0002] 在当今的三维游戏场景中,为了呈现更为逼真的自然环境,模拟出天空及其天空中的太阳是必不可少的。而现如今3D游戏已不仅仅局限在PC机中安装运行,能在可移动设备(比如手机)中安装运行已成为了一种趋势。由于可移动设备的性能及其电量的限制,在PC机中使用的现有太阳模拟技术,过于复杂,使用在可移动设备中就使得游戏渲染效率低下,耗电量大增。
[0003] 比较常见的实现方式是模拟大气散射,最常见的两种大气散射形式是Rayleigh散射和Mie散射。这两种散射使得太阳看上去有不同的颜色和光晕。比如太阳光在日落时是黄橙色或是黄红色,就是因为发生了Rayleigh散射的缘故。而当大气浑浊时,太阳周围会出现一个大的白色晕轮,这是因为太阳光发生了Mie散射的缘故。
[0004] 现有技术为了模拟这两种大气散射形式,要对散射方程求解。而散射方程有嵌套的积分,所以又分解为相位函数、外向散射方程、内向散射方程、表面散射方程这四个方程来求近似解。实时模拟要进行这一系列的方程计算,方程中又有大量的积分运算。所以求解这些方程比较复杂且计算量非常大,在性能相对较差的移动设备中容易造成性能瓶颈

发明内容

[0005] 本申请提供模拟太阳的方法及装置,以减少模拟太阳的计算量。
[0006] 本发明的技术方案是这样实现的:
[0007] 一种模拟太阳的方法,该方法包括:
[0008] 预先设定太阳模型为由四个顶点连接而成的正四边形,预先设定与太阳模型对应的纹理坐标;
[0009] 将太阳模型转换到裁剪空间中,得到太阳的裁剪顶点;
[0010] 对太阳的裁剪顶点进行光栅化处理,得到对应的片元,对纹理坐标进行插值,得到片元中的每个像素点对应的纹理地址;
[0011] 根据各纹理地址,从预设的纹理图像中采集对应的纹素,将该纹素的颜色与预设的太阳颜色相乘,得到片元中与该纹理地址对应的像素点的颜色。
[0012] 所述太阳模型的四个顶点的坐标分别为(-1,1)、(1,1)、(-1,-1)、(1,-1)。
[0013] 所述纹理坐标分别为(0,0)、(1,0)、(0,1)、(1,1)。
[0014] 所述将太阳模型转换到裁剪空间中包括:
[0015] 根据太阳模型的四个顶点坐标,以及预设的太阳的方向、太阳的半径、世界转换矩阵及旋转偏移量,将太阳的四个顶点从模型空间转换到世界空间,根据预设的视见转换矩阵,将太阳的顶点从世界空间转换到相机空间,根据预设的投影转换矩阵将太阳的顶点从相机空间转换到裁剪空间。
[0016] 所述将太阳模型转换到裁剪空间中包括:顶点着色器将太阳模型转换到裁剪空间中;
[0017] 所述对太阳的裁剪顶点进行光栅化处理包括:光栅器对太阳的裁剪顶点进行光栅化处理;
[0018] 所述对纹理坐标进行插值包括:光栅器对纹理坐标进行插值;
[0019] 所述根据各纹理地址,从预设的纹理图像中采集对应的纹素,将该纹素的颜色与预设的太阳颜色相乘包括:片元着色器根据各纹理地址,从预设的纹理图像中采集对应的纹素,将该纹素的颜色与预设的太阳颜色相乘。
[0020] 一种模拟太阳的装置,该装置包括:
[0021] 顶点着色器,用于将太阳模型转换到裁剪空间中,得到太阳的裁剪顶点,其中,太阳模型为由四个顶点连接而成的正四边形;
[0022] 光栅器,用于对顶点着色器得到的太阳的裁剪顶点进行光栅化处理,得到对应的片元,对与太阳模型对应的纹理坐标进行插值,得到片元中的每个像素点对应的纹理地址;
[0023] 片元着色器,用于根据光栅器得到的各纹理地址,从预设的纹理图像中采集对应的纹素,将该纹素的颜色与预设的太阳颜色相乘,得到片元中与该纹理地址对应的像素点的颜色。
[0024] 所述顶点着色器转换的太阳模型的四个顶点的坐标分别为(-1,1)、(1,1)、(-1,-1)、(1,-1)。
[0025] 所述光栅器进行插值的纹理坐标分别为(0,0)、(1,0)、(0,1)、(1,1)。
[0026] 所述顶点着色器将太阳模型转换到裁剪空间中包括:
[0027] 根据太阳模型的四个顶点坐标,以及预设的太阳的方向、太阳的半径、世界转换矩阵及旋转偏移量,将太阳的四个顶点从模型空间转换到世界空间,根据预设的视见转换矩阵,将太阳的顶点从世界空间转换到相机空间,根据预设的投影转换矩阵将太阳的顶点从相机空间转换到裁剪空间。
[0028] 可见,本申请能够减少模拟太阳的计算量,提高模拟太阳的效率。附图说明
[0029] 图1为本申请一实施例提供的模拟太阳的方法流程图
[0030] 图2为本申请另一实施例提供的模拟太阳的方法流程图;
[0031] 图3为本申请实施例提供的太阳模型的四个顶点的示意图;
[0032] 图4为本申请实施例提供的纹理坐标的示意图;
[0033] 图5为本申请实施例提供的模拟太阳的装置的组成示意图。

具体实施方式

[0034] 下面结合附图及具体实施例对本发明再作进一步详细的说明。
[0035] 图1为本申请一实施例提供的模拟太阳的方法流程图,其具体步骤如下:
[0036] 步骤101:预先设定太阳模型为由四个顶点连接而成的正四边形,预先设定与太阳模型对应的纹理坐标。
[0037] 其中,太阳模型的四个顶点的坐标分别为(-1,1)、(1,1)、(-1,-1)、(1,-1);纹理坐标分别为(0,0)、(1,0)、(0,1)、(1,1)。
[0038] 步骤102:将太阳模型转换到裁剪空间中,得到太阳的裁剪顶点。
[0039] 步骤103:对太阳的裁剪顶点进行光栅化处理,得到对应的片元,对纹理坐标进行插值,得到片元中的每个像素点对应的纹理地址。
[0040] 步骤104:根据各纹理地址,从预设的纹理图像中采集对应的纹素,将该纹素的颜色与预设的太阳颜色相乘,得到片元中与该纹理地址对应的像素点的颜色。
[0041] 图2为本申请另一实施例提供的模拟太阳的方法流程图,其具体步骤如下:
[0042] 步骤201:预先设定太阳的模型为由四个顶点连接而成的正四边形,将太阳模型的四个顶点的坐标输入OpenGL(开放图形库)的顶点着色器,预先设定与太阳模型对应的四个纹理坐标,将四个纹理坐标输入顶点着色器;同时,将预设的太阳的方向、太阳的半径、世界转换矩阵、视见转换矩阵、投影转换矩阵以及旋转偏移量输入OpenGL的顶点着色器。
[0043] 本申请中,太阳的模型如图3所示,太阳模型仅采用四个顶点构成,并使用一张表现太阳的图像纹理来模拟。初始的四个顶点:(-1,1)、(1,1)、(-1,-1)、(1,-1)的连线组成两个三形,进而构成一个正四边形平面。
[0044] 四个纹理坐标如图4所示,分别为(0,0)、(1,0)、(0,1)、(1,1),每个纹理坐标分别赋予太阳模型的一个顶点,以便将图像纹理正确映射到四个顶点构成的平面上。
[0045] 太阳的方向、太阳的半径、世界转换矩阵、视见转换矩阵、投影转换矩阵以及旋转偏移量根据想要达到的太阳的三维场景中的位置、大小等预先设置。
[0046] 步骤202:顶点着色器根据太阳模型的四个顶点坐标,以及太阳的方向、太阳的半径、世界转换矩阵及旋转偏移量,将太阳的四个顶点从模型空间转换到世界空间,然后根据视见转换矩阵,将太阳的顶点从世界空间转换到相机空间,再根据投影转换矩阵将太阳的顶点从相机空间转换到裁剪空间,得到太阳的裁剪顶点,将太阳的裁剪顶点的坐标输出到OpenGL的光栅器,同时,将四个纹理坐标输出到光栅器。
[0047] 步骤203:光栅器根据太阳的裁剪顶点坐标,对太阳的裁剪顶点进行光栅化处理,得到对应的片元,且,光栅器对四个纹理坐标进行插值处理,得到片元中的各像素点对应的纹理地址,将该片元包含的各像素点的位置信息和各像素点对应的纹理地址输出到OpenGL的片元着色器。
[0048] 步骤204:片元着色器根据各纹理地址从预设的纹理图像中采集纹素(即纹理元素),将该纹素的颜色与预设的太阳颜色相乘,得到片元中与该纹理地址对应的像素点的颜色。
[0049] 纹理图像为根据想要达到的太阳渲染效果如:光晕、光强度等所设置的。当要更改太阳的渲染效果时,只需更改纹理图像即可。
[0050] 预设的太阳颜色根据想要达到的太阳颜色设置。
[0051] 可见,本申请实施例无需对散射方程求解,减少了模拟太阳的计算量,提高了模拟太阳的效率,适用于应用在移动设备中的三维场景(如:游戏场景)太阳模拟;且,在更改太阳的颜色、大小、位置时,只需更改预设的太阳颜色、半径、方向等参数即可;在更改太阳的渲染效果时,只需更改预设的纹理图像即可。
[0052] 图5为本申请实施例提供的模拟太阳的装置的组成示意图,该装置主要包括:顶点着色器51、光栅器52和片元着色器53,其中:
[0053] 顶点着色器51,用于将太阳模型转换到裁剪空间中,得到太阳的裁剪顶点,将太阳的裁剪顶点的坐标和预设的与太阳模型对应的纹理坐标输出到光栅器52,其中,太阳模型为由四个顶点连接而成的正四边形。
[0054] 光栅器52,用于对顶点着色器51得到的太阳的裁剪顶点进行光栅化处理,得到对应的片元,对与太阳模型对应的纹理坐标进行插值,得到片元中的每个像素点对应的纹理地址,将片元中包含的各像素点的位置信息和各像素点对应的纹理地址输出到片元着色器53。
[0055] 片元着色器53,用于根据光栅器52得到的各纹理地址,从预设的纹理图像中采集对应的纹素,将该纹素的颜色与预设的太阳颜色相乘,得到片元中与该纹理地址对应的像素点的颜色。
[0056] 一实施例中,顶点着色器51转换的太阳模型的四个顶点的坐标分别为(-1,1)、(1,1)、(-1,-1)、(1,-1)。
[0057] 一实施例中,光栅器52进行插值的纹理坐标分别为(0,0)、(1,0)、(0,1)、(1,1)。
[0058] 一实施例中,顶点着色器51将太阳模型转换到裁剪空间中包括:
[0059] 根据太阳模型的四个顶点坐标,以及预设的太阳的方向、太阳的半径、世界转换矩阵及旋转偏移量,将太阳的四个顶点从模型空间转换到世界空间,根据预设的视见转换矩阵,将太阳的顶点从世界空间转换到相机空间,根据预设的投影转换矩阵将太阳的顶点从相机空间转换到裁剪空间。
[0060] 以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈