渲染方法、设备以及系统技术方案

技术编号:33698567 阅读:13 留言:0更新日期:2022-06-06 08:03
本申请提供一种渲染方法、设备以及系统。其中,渲染系统包括渲染应用服务端、渲染应用客户端、渲染引擎,渲染应用客户端部署于终端设备,渲染应用服务端和渲染引擎部署于远程计算节点;渲染应用服务端,用于接收渲染请求,其中,渲染请求用于指示M条光线的方向矢量以及N个网格的位置信息,根据所述M条光线的方向矢量以及所述N个网格的位置信息调用所述渲染引擎构建多个矩阵,对所述多个矩阵进行矩阵运算从而获得所述M条光线和所述N个网格的求交结果,根据所述M条光线和所述N个网格的求交结果生成渲染图像;所述渲染应用客户端,用于生成所述渲染请求;接收所述渲染图像。上述方案能够有效减少渲染所耗费的时间。够有效减少渲染所耗费的时间。够有效减少渲染所耗费的时间。

【技术实现步骤摘要】
渲染方法、设备以及系统


[0001]本申请涉及3D图像领域,尤其涉及一种渲染方法、设备以及系统。

技术介绍

[0002]渲染是指用软件从三维模型生成图像的过程,其中,三维模型是用严格定义的语言或者数据结构对于三维物体的描述,它包括几何、视点、纹理以及照明信息。图像是数字图像或者位图图像。渲染这个术语类似于“艺术家对于场景的渲染”,另外,渲染也用于描述“计算视频编辑文件中的效果,以生成最终视频输出的过程”。渲染可以包括预渲染(pre

rendering/offline rendering)或者实时渲染(real

time rendering/online rendering),其中,预渲染通常是用于电影、广告等有预定脚本的实景仿真;实时渲染通常是用于飞行训练、3D游戏和交互式建筑演示等无预定脚本的实景仿真。
[0003]实时渲染对计算的速度要求是非常高的。以3D游戏为例,对于每秒30帧的刷新速率来说,每一帧图像的时间约为33毫秒,因此,每一帧图像的渲染时间绝对不能超过33毫秒。在现有技术中,实时渲染通常采用的是光线追踪渲染(ray tracing render)。
[0004]但是,光线追踪渲染需要的计算量非常大,因此,需要耗费比较长的时间,实时性不佳。

技术实现思路

[0005]为了解决上述问题,本申请提供了一种渲染方法、设备以及系统,能够有效地减少光线追踪渲染所需要耗费的时间。
[0006]第一方面,提供了一种渲染系统,包括渲染应用服务端、渲染应用客户端、渲染引擎,所述渲染应用客户端部署于终端设备,所述渲染应用服务端和所述渲染引擎部署于远程计算节点;
[0007]所述渲染应用服务端,用于接收渲染请求,其中,所述渲染请求用于指示M条光线的方向矢量以及N个网格的位置信息,根据所述M条光线的方向矢量以及所述N个网格的位置信息调用所述渲染引擎构建多个矩阵,对所述多个矩阵进行矩阵运算从而获得所述M条光线和所述N个网格的求交结果,根据所述M条光线和所述N个网格的求交结果生成渲染图像;
[0008]所述渲染应用客户端,用于生成所述渲染请求;接收所述渲染图像。
[0009]在一些可能的设计中,所述网格为对目标场景的三维模型进行分割得到的三角形。
[0010]在一些可能的设计中,所述N个网格的位置信息包括:所述N个网格的顶点坐标,或者,所述N个网格的各条边的矢量。
[0011]在一些可能的设计中,所述多个矩阵包括:矩阵D
3M*3
,矩阵E2
3*N
,矩阵E1
N*3
,矩阵S
3MN*3
,矩阵E1'
3*N
以及矩阵E2'
N*3
,其中,所述D
3M*3
为所述M条光线的方向矢量组成的矩阵,所述矩阵E2
3*N
为N个网格的第二条边e2的矢量组成的大小为3*N的矩阵,所述矩阵E1
N*3
为所述
N个网格的第一条边e1的矢量组成的大小为N*3的矩阵,所述矩阵S
3MN*3
为所述M条光线的起点和所述N个网格的顶点V0的矢量组成的矩阵;所述矩阵E1'
3*N
为所述N个网格的第一条边e1的矢量组成的大小为3*N的矩阵,所述E2'
N*3
为所述N个网格的第二条边e2的矢量组成的大小为N*3的矩阵。
[0012]在一些可能的设计中,所述矩阵D
3M*3
为:
[0013][0014]其中,d1为第一条光线的方向矢量,d2为第二条光线的方向矢量,

,d
M
为第M条光线的方向矢量;
[0015]所述矩阵E2
3*N
为:
[0016][0017]其中,为第一个网格的第二条边e2的矢量在x轴上的投影,为第一个网格的第二条边e2的矢量在y轴上的投影,为第一个网格的第二条边e2的矢量在z轴上的投影,

,为第N个网格的第二条边e2的矢量在x轴上的投影,为第N个网格的第二条边e2的矢量在y轴上的投影,为第N个网格的第二条边e2的矢量在z轴上的投影;
[0018]所述矩阵E1
N*3
为:
[0019][0020]其中,为第一个网格的第一条边e1的矢量在x轴上的投影,为第一个网格的第一条边e1的矢量在y轴上的投影,为第一个网格的第一条边e1的矢量在z轴上的投影,

,为第N个网格的第一条边e1的矢量在x轴上的投影,为第N个网格的第二条边e1的矢量在y轴上的投影,为第N个网格的第二条边e1的矢量在z轴上的投影;
[0021]所述矩阵S
3MN*3
为:
[0022][0023]其中,S
11
为第一条光线的起点和第一个网格的顶点V0的矢量,

,S
1N
为第一条光线的起点和第N个网格的顶点V0的矢量;S
21
为第二条光线的起点和第一个网格的顶点V0的矢量,

,S
2N
为第二条光线的起点和第N个网格的顶点V0的矢量;

;S
M1
为第M条光线的起点和第一个网格的顶点V0的矢量,

,S
MN
为第M条光线的起点和第N个网格的顶点V0的矢量;
[0024]所述矩阵E1'
3*N
为:
[0025][0026]其中,为第一个网格的第一条边e1的矢量在x轴上的投影,为第一个网格的第一条边e1的矢量在y轴上的投影,为第一个网格的第一条边e1的矢量在z轴上的投影,

,为第N个网格的第一条边e1的矢量在x轴上的投影,为第N个网格的第一条边e1的矢量在y轴上的投影,为第N个网格的第一条边e1的矢量在z轴上的投影;
[0027]所述矩阵E2'
N*3
为:
[0028][0029]其中,为第一个三角形的网格的第二条边e2的矢量在x轴上的投影,为第一个三角形的网格的第二条边e2的矢量在y轴上的投影,为第一个三角形的第二条边e2的矢量在z轴上的投影,

,为第N个网格的第二条边e2的矢量在x轴上的投影,为第N个网格的第二条边e2的矢量在y轴上的投影,为第N个网格的第二条边e2的矢量在z轴上的投影。
[0030]在一些可能的设计中,所述矩阵运算为:
[0031][0032]第二方面,提供了一种渲染系统,包括管理设备、渲染应用服务端、渲染应用客户
端、渲染引擎,所述渲染应用客户端部署于终端设备,所述管理设备、所述渲染应用服务端和所述渲染引擎部署于远程计算节点;
[0033]所述管理设备,用于生成渲染请求,其中,所述渲染请求用于指示M条光线的方向矢量以及N个网格的位置信息,将所述渲染请本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种渲染系统,其特征在于,包括渲染应用服务端、渲染应用客户端、渲染引擎,所述渲染应用客户端部署于终端设备,所述渲染应用服务端和所述渲染引擎部署于远程计算节点;所述渲染应用服务端,用于接收渲染请求,其中,所述渲染请求用于指示M条光线的方向矢量以及N个网格的位置信息,根据所述M条光线的方向矢量以及所述N个网格的位置信息调用所述渲染引擎构建多个矩阵,对所述多个矩阵进行矩阵运算从而获得所述M条光线和所述N个网格的求交结果,根据所述M条光线和所述N个网格的求交结果生成渲染图像;所述渲染应用客户端,用于生成所述渲染请求;接收所述渲染图像。2.根据权利要求1所述的方法,其特征在于,所述网格为对目标场景的三维模型进行分割得到的三角形。3.根据权利要求1或2所述的方法,其特征在于,所述N个网格的位置信息包括:所述N个网格的顶点坐标,或者,所述N个网格的各条边的矢量。4.根据权利要求3所述的方法,其特征在于,所述多个矩阵包括:矩阵D
3M*3
,矩阵E2
3*N
,矩阵E1
N*3
,矩阵S
3MN*3
,矩阵E1'
3*N
以及矩阵E2'
N*3
,其中,所述D
3M*3
为所述M条光线的方向矢量组成的矩阵,所述矩阵E2
3*N
为N个网格的第二条边e2的矢量组成的大小为3*N的矩阵,所述矩阵E1
N*3
为所述N个网格的第一条边e1的矢量组成的大小为N*3的矩阵,所述矩阵S
3MN*3
为所述M条光线的起点和所述N个网格的顶点V0的矢量组成的矩阵;所述矩阵E1'
3*N
为所述N个网格的第一条边e1的矢量组成的大小为3*N的矩阵,所述E2'
N*3
为所述N个网格的第二条边e2的矢量组成的大小为N*3的矩阵。5.根据权利要求4所述的方法,其特征在于,所述矩阵D
3M*3
为:其中,d1为第一条光线的方向矢量,d2为第二条光线的方向矢量,

,d
M
为第M条光线的方向矢量;所述矩阵E2
3*N
为:其中,为第一个网格的第二条边e2的矢量在x轴上的投影,为第一个网格的第二条边e2的矢量在y轴上的投影,为第一个网格的第二条边e2的矢量在z轴上的投影,

,为第N个网格的第二条边e2的矢量在x轴上的投影,为第N个网格的第二条边e2的矢量在y轴上的投影,为第N个网格的第二条边e2的矢量在z轴上的投影;
所述矩阵E1
N*3
为:其中,为第一个网格的第一条边e1的矢量在x轴上的投影,为第一个网格的第一条边e1的矢量在y轴上的投影,为第一个网格的第一条边e1的矢量在z轴上的投影,

,为第N个网格的第一条边e1的矢量在x轴上的投影,为第N个网格的第二条边e1的矢量在y轴上的投影,为第N个网格的第二条边e1的矢量在z轴上的投影;所述矩阵S
3MN*3
为:其中,S
11
为第一条光线的起点和第一个网格的顶点V0的矢量,

,S
1N
为第一条光线的起点和第N个网格的顶点V0的矢量;S
21
为第二条光线的起点和第一个网格的顶点V0的矢量,

,S
2N
为第二条光线的起点和第N个网格的顶点V0的矢量;

;S
M1
为第M条光线的起点和第一个网格的顶点V0的矢量,

,S
MN
为第M条光线的起点和第N个网格的顶点V0的矢量;所述矩阵E1'
3*N
为:其中,为第一个网格的第一条边e1的矢量在x轴上的投影,为第一个网格的第一条边e1的矢量在y轴上的投影,为第一个网格的第一条边e1的矢量在z轴上的投影,

,为第N个网格的第一条边e1的矢量在x轴上的投影,为第N个网格的第一条...

【专利技术属性】
技术研发人员:王新猴
申请(专利权)人:华为云计算技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1