车辆模型的渲染方法、装置、车辆和存储介质与流程
未命名
07-14
阅读:141
评论:0
1.本技术涉及图像处理技术领域,更具体地涉及一种车辆模型的渲染方法、装置、车辆和存储介质。
背景技术:
2.车辆驾驶辅助系统常配有全景环视系统,以方便驾驶员在诸如行驶或泊车时观察周边环境。在传统技术的全景环视系统提供的车辆模型中,因为移动端性能的限制不仅无法模拟出真实车漆反射周围环境且随着视角的变化反射效果不同的特质,而且难以渲染出达到用户要求真实车漆的质感。而且无法动态调节车漆效果,一旦车漆的颜色、粗糙度等材质发生变化,则需要美术师重新渲染车辆模型的纹理贴图。
技术实现要素:
3.为了解决上述至少一个问题中而提出了本技术。根据本技术一方面,提供了一种车辆模型的渲染方法,所述方法包括:
4.获取待渲染车辆模型、环境光遮蔽贴图和三维立方体贴图;
5.分别将所述环境光遮蔽贴图和三维立方体贴图的纹理绑定开放图形库的着色器;
6.在所述着色器中计算所述待渲染车辆模型的世界空间法线坐标,并根据所述世界空间法线坐标计算反射向量;
7.根据预设粗糙度、所述反射向量、所述环境光遮蔽贴图和所述三维立方体贴图对所述待渲染车辆模型进行渲染。
8.在本技术的一个实施例中,获取待渲染车辆模型,包括:
9.获取建模软件生成的所述待渲染车辆模型对应的车辆模型文件和图像数据;
10.使用模型导入库和图像导入库将所述图像数据导入到开放图形库的缓存中,然后将所述图像数据导入到所述开放图形库的着色器中;
11.设置所述待渲染车辆模型的材质,将所述材质绑定到所述开放图形库的着色器中。
12.在本技术的一个实施例中,获取三维立方体贴图,包括:
13.获取二维环境贴图,通过投影逆映射的方式,将所述二维环境贴图转化为三维立方体贴图。
14.在本技术的一个实施例中,获取二维环境贴图,通过投影逆映射的方式,将所述二维环境贴图转化为三维立方体贴图,包括:
15.将所述三维立方体贴图的三维位置坐标归一化为三维单位向量;
16.根据所述三维单位向量计算单位球面对应的经度和纬度;
17.根据所述经度和所术纬度计算所述二维环境贴图的二维纹理坐标;
18.在初始化所述三维立方体贴图时根据所述二维纹理坐标渲染出三维立方体贴图。
19.在本技术的一个实施例中,将所述环境光遮蔽贴图的纹理绑定开放图形库的着色
器,包括:
20.将所述待渲染车辆模型的颜色值与所述环境光遮蔽贴图的颜色值按照预设比例融合。
21.在本技术的一个实施例中,所述着色器包括顶点着色器;
22.在所述着色器中计算所述待渲染车辆模型的世界空间法线坐标,包括:
23.在所述顶点着色器中计算所述待渲染车辆模型的世界空间法线坐标。
24.在本技术的一个实施例中,在顶点着色器中计算所述待渲染车辆模型的世界空间法线坐标,包括:
25.将车辆模型文件中的局部空间法线坐标转换为全局的所述世界空间法线坐标。
26.在本技术的一个实施例中,所述着色器还包括片段着色器;
27.根据所述世界空间法线坐标计算反射向量,包括:
28.在所述片段着色器中根据所述世界空间法线坐标计算反射向量。
29.在本技术的一个实施例中,根据预设粗糙度、所述反射向量、所述环境光遮蔽贴图和所述三维立方体贴图对所述待渲染车辆模型进行渲染,包括:
30.根据所述反射向量,分别将所述环境光遮蔽贴图和所述三维立方体贴图的采样纹理的颜色与所述待渲染车辆模型的材质进行融合。
31.在本技术的一个实施例中,将所述环境光遮蔽贴图的材质与所述待渲染车辆模型的材质进行融合,包括:
32.对所述环境光遮蔽贴图的纹理坐标处的颜色进行采样;
33.将所述采样后的颜色与所述待渲染车辆模型的颜色进行融合。
34.在本技术的一个实施例中,将所述三维立方体贴图的材质与所述待渲染车辆模型的材质进行融合,还包括:
35.根据所述预设粗糙度计算多级渐远纹理级数;
36.根据所述多级渐远纹理级数采样对应级别的所述三维立方体贴图的纹理,将所述待渲染车辆模型的颜色与所述多级渐远纹理级数对应的所述三维立方体贴图的采样纹理的颜色融合。
37.在本技术的一个实施例中,根据预设粗糙度、所述反射向量、所述环境光遮蔽贴图和所述三维立方体贴图对所述待渲染车辆模型进行渲染之后,所述方法还包括:
38.在顶点着色器中计算所述待渲染车辆模型对应的屏幕坐标;
39.将所述屏幕坐标发送至显示屏,以使所述显示屏显示所述待渲染车辆模型。
40.在本技术的一个实施例中,根据预设粗糙度、所述反射向量、所述环境光遮蔽贴图和所述三维立方体贴图对所述待渲染车辆模型进行渲染之后,所述方法还包括:
41.当获取到所述车辆模型的材质的调整参数值时,根据所述材质的调整参数值对所述待渲染车辆模型进行渲染。
42.在本技术的一个实施例中,所述图像数据包括:点、面、法线和纹理坐标信息。
43.在本技术的一个实施例中,所述材质包括以下至少一项:颜色、反射率和粗糙度。
44.根据本技术另一方面,提供一种车辆模型的渲染装置,所述图像渲染装置包括:
45.存储器和处理器,所述存储器上存储有由所述处理器运行的计算机程序,所述计算机程序在被所述处理器运行时,使得所述处理器执行如上所述的车辆模型的渲染方法。
46.根据本技术又一方面,提供一种车辆,所述车辆包括如上所述的图像渲染装置,所述车辆还包括显示屏,所述显示屏用于显示车辆模型。
47.根据本技术再一方面,提供了一种存储介质,所述存储介质上存储有计算机程序,所述计算机程序在被处理器运行时使得所述处理器执行上述图像渲染方法。
48.根据本技术的本技术的图像渲染方法、装置、车辆和存储介质,通过将所述环境光遮蔽贴图和三维立方体贴图的纹理绑定开放图形库的着色器,使待渲染车辆模型具有立体效果,在渲染阶段时,根据预设粗糙度、所述反射向量、所述环境光遮蔽贴图和所述三维立方体贴图对所述待渲染车辆模型进行渲染,使得在车载移动端性能有限的情况下,渲染后的待渲染车辆模型具有真实物体的质感。另外,本技术实施例当物体的颜色、粗糙度等材质发生变化时,可以相应地动态调节物体的颜色等效果,不需要重新进行渲染。另外,本技术实施例不需要大量的预计算,缩短了程序启动时间,减轻了图形处理器的负担,使程序在运行时更加流畅。
附图说明
49.通过结合附图对本技术实施例进行更详细的描述,本技术的上述以及其它目的、特征和优势将变得更加明显。附图用来提供对本技术实施例的进一步理解,并且构成说明书的一部分,与本技术实施例一起用于解释本技术,并不构成对本技术的限制。在附图中,相同的参考标号通常代表相同部件或步骤。
50.图1示出根据本技术实施例的车辆模型的渲染方法的示意性流程图;
51.图2示出根据本技术实施例的二维环境贴图的截图;
52.图3示出根据本技术实施例的图像渲染装置的示意性框图。
具体实施方式
53.为了使得本技术的目的、技术方案和优点更为明显,下面将参照附图详细描述根据本技术的示例实施例。显然,所描述的实施例仅仅是本技术的一部分实施例,而不是本技术的全部实施例,应理解,本技术不受这里描述的示例实施例的限制。基于本技术中描述的本技术实施例,本领域技术人员在没有付出创造性劳动的情况下所得到的所有其它实施例都应落入本技术的保护范围之内。
54.基于前述的技术问题,本技术提供了一种车辆模型的渲染方法,所述方法包括:获取待渲染车辆模型、环境光遮蔽贴图和三维立方体贴图;分别将所述环境光遮蔽贴图和三维立方体贴图的纹理绑定开放图形库的着色器;在所述着色器中计算所述待渲染车辆模型的世界空间法线坐标,并根据所述世界空间法线坐标计算反射向量;根据预设粗糙度、所述反射向量、所述环境光遮蔽贴图和所述三维立方体贴图对所述待渲染车辆模型进行渲染。本技术实施例,通过将所述环境光遮蔽贴图和三维立方体贴图的纹理绑定开放图形库的着色器,使待渲染车辆模型具有立体效果,在渲染阶段时,根据预设粗糙度、所述反射向量、所述环境光遮蔽贴图和所述三维立方体贴图对所述待渲染车辆模型进行渲染,使得在车载移动端性能有限的情况下,渲染后的待渲染车辆模型具有真实物体的质感。另外,本技术实施例当物体的颜色、粗糙度等材质发生变化时,可以相应地动态调节物体的颜色等效果,不需要重新进行渲染。另外,本技术实施例不需要大量的预计算,缩短了程序启动时间,减轻了
图形处理器的负担,使程序在运行时更加流畅。
55.下面结合附图来详细描述根据本技术实施例的车辆模型的渲染方法的方案。在不冲突的前提下,本技术的各个实施例的特征可以相互结合。
56.图1示出根据本技术实施例的车辆模型的渲染方法的示意性流程图;如图1所示,根据本技术实施例的车辆模型的渲染方法100可以包括如下步骤s101、步骤s102、步骤s103和步骤s104:
57.在步骤s101,获取待渲染车辆模型、环境光遮蔽贴图(ambient occlusion贴图,简称ao贴图)和三维立方体贴图。
58.本技术中车辆模型可以根据不同的建模软件导出不同格式的车辆模型文件,例如,可以为obj和fbx等格式文件。车辆模型文件中包含车辆模型的点、面、法线和纹理坐标等图像数据。这里的建模软件可以包括3dmax、blender等三维模型制作软件。
59.在一个示例中,获取待渲染车辆模型,包括:a1,获取建模软件生成的所述待渲染车辆模型对应的车辆模型文件和图像数据;a2,使用模型导入库(assimp库)和图像导入库将所述图像数据导入到开放图形库(opengl)的缓存中,然后将所述图像数据导入到所述开放图形库的着色器中;a3,设置所述待渲染车辆模型的材质,将所述材质导入到所述开放图形库的着色器中。
60.其中,所述图像数据包括:点、面、法线和纹理坐标信息。
61.其中,所述材质包括:颜色、反射率和粗糙度。
62.本技术实施例还可以在车辆模型文件中设置结构体来表示车辆模型的材质。结构体的代码如下:
63.structmaterial{
64.glm::vec3 color;
65.floatreflector;
66.floatroughness;
67.}
68.在一个示例中,获取三维立方体贴图,包括:获取二维环境贴图,通过投影映射的方式,将所述二维环境贴图转化为三维立方体贴图。
69.如图2所示,为二维环境贴图的截图。二维环境贴图获取的方式可以由各类图形设计软件的图库中获取,也可以由互联网的图形库中下载。在此不作限定。
70.进一步地,获取二维环境贴图,通过投影逆映射的方式,将所述二维环境贴图转化为三维立方体贴图,包括:b1,将所述三维立方体贴图的三维位置坐标归一化为三维单位向量;b2,根据所述三维单位向量计算单位球面对应的经度和纬度;b3,根据所述经度和所术纬度计算所述二维环境贴图的二维纹理坐标;b4,在初始化所述三维立方体贴图时根据所述二维纹理坐标渲染出三维立方体贴图。
71.其中,假设三维立方体贴图的三维位置坐标为n,将其归一化为三维单位向量n’,根据所述三维单位向量计算单位球面对应的经度和纬度的公式如下:
72.73.其中,u表示单位球面对应的经度,v表示单位球面对应的纬度,n’表示三维纹理坐标对应的三维单位向量。
74.根据经度和纬度可以计算出二维环境贴图中对应的二维纹理坐标。由于经纬度和二维纹理坐标的值域不同,可以采用缩入平移的方式将经纬度转换为二维纹理坐标。其中,根据所述经度和纬度计算采样二维纹理贴图的的二维纹理坐标的公式如下:
[0075][0076]
其中,(coord.x,coord.y)表示二维纹理坐标,u表示二维纹理坐标对应的经度,v表示二维纹理坐标对应的纬度。
[0077]
本技术实施例的二维环境贴图可以是等距柱状投影图,根据以上步骤可以实现等距柱状投影图转化为三维立方体贴图。
[0078]
在步骤s102,分别将所述环境光遮蔽贴图和三维立方体贴图的纹理绑定开放图形库的着色器。
[0079]
在一个示例中,将所述环境光遮蔽贴图的纹理导入开放图形库的着色器,包括:将所述待渲染车辆模型的颜色值与所述环境光遮蔽贴图的颜色值按照预设比例融合。融合公式如下:
[0080][0081]
其中,color为车漆的固有颜色,ao为采样ao贴图的纹理得到的颜色值,
ɑ
是融合系数。
[0082]
例如,车漆的固有颜色为白色,其颜色值rbg为(1.0,1.0,1.0)。而且
ɑ
可以根据需要的效果手动调节。
[0083]
在步骤s103,在所述着色器中计算所述待渲染车辆模型的世界空间法线坐标,并根据所述世界空间法线坐标计算反射向量。
[0084]
其中,所述着色器包括顶点着色器。
[0085]
在一个示例中,在所述着色器中计算所述待渲染车辆模型的世界空间法线坐标,包括:在所述顶点着色器中计算所述待渲染车辆模型的世界空间法线坐标。
[0086]
由于在车辆模型文件中包含了局部空间法线坐标,因此可以直接读取车辆模型文件中的局部空间法线坐标,将其转换为全局的所述世界空间法线坐标。
[0087]
具体地,在顶点着色器中计算所述待渲染车辆模型的世界空间法线坐标,包括:将车辆模型文件中的局部空间法线坐标转换为全局的所述世界空间法线坐标。
[0088]
其中,将车辆模型文件中的局部空间法线坐标转换为全局的所述世界空间法线坐标的转换公式如下:
[0089]
normal=mat3(transpose(inverse(model)))*anormal
[0090]
其中,anormal表示车辆模型文件的局部空间法线坐标,inverse表示求逆运算,transpose表示转置运算,mat3表示转换为3阶矩阵运算。
[0091]
其中,所述着色器还包括片段着色器。
[0092]
在一个示例中,根据所述世界空间法线坐标计算反射向量,包括:在所述片段着色
器中根据所述世界空间法线坐标计算反射向量。计算反射向量的公式如下:
[0093]
reflectdirection=reflect(normal,viewdirection)
[0094]
其中,normal表示归一化后的世界空间法线坐标,viewdirection表示视线方向,reflect表示着色器内置的计算反射向量的函数。
[0095]
在步骤s104,根据预设粗糙度、所述反射向量、所述环境光遮蔽贴图和所述三维立方体贴图对所述待渲染车辆模型进行渲染。
[0096]
在一个示例中,根据预设粗糙度、所述反射向量、所述环境光遮蔽贴图和所述三维立方体贴图对所述待渲染车辆模型进行渲染,包括:根据所述反射向量,分别将所述环境光遮蔽贴图和所述三维立方体贴图的采样纹理的颜色与所述待渲染车辆模型的材质进行融合。
[0097]
具体地,将所述环境光遮蔽贴图的材质与所述待渲染车辆模型的材质进行融合,还包括:d1,对所述环境光遮蔽贴图的纹理坐标处的颜色进行采样;d2,将所述采样后的颜色与所述待渲染车辆模型的颜色进行融合。
[0098]
其中,对所述环境光遮蔽贴图的纹理坐标处的颜色进行采样的公式如下:
[0099]
aocolor=texture(aotexture,texcoord),
[0100]
其中,aotexture表示纹理,texcoord表示纹理坐标。
[0101]
其中,将所述采样后的颜色与所述环境光遮蔽贴图的纹理坐标对应的所述待渲染车辆模型的纹理坐标处的颜色进行融合的公式如下:
[0102]
color=mix(material.color,aocolor,α),
[0103]
其中,mix表示着色器内置的融合函数,α表示融合系数。
[0104]
在一个示例中,可以根据反射向量计算待渲染车辆模型的纹理坐标,并对待渲染车辆模型的纹理坐标处的颜色进行采样,然后将所述采样后的颜色与所述环境光遮蔽贴图的纹理坐标对应的所述待渲染车辆模型的纹理坐标处的颜色进行融合,融合公式如下:
[0105]
final_color=(1-a)*result_color+a*reflect_color
[0106]
其中,a表示反射率(或者融合比例),result_color表示环境光遮蔽贴图的纹理坐标处的颜色,reflect_color表示所述待渲染车辆模型的纹理坐标处的颜色。
[0107]
不同的待渲染车辆模型具有不同的反射率,可根据实际需要设置a的值,以在车载移动端性能有限的情况下,使待渲染车辆模型具有更加接近真实材质的效果。
[0108]
在其中一个示例中,可以在执行将所述环境光遮蔽贴图的材质与所述待渲染车辆模型的材质进行融合之后,将所述三维立方体贴图的材质与所述待渲染车辆模型的材质进行融合。具体地,将所述三维立方体贴图的材质与所述待渲染车辆模型的材质进行融合,还包括:e1,根据所述预设粗糙度计算多级渐远纹理级数;e2,根据所述多级渐远纹理级数采样对应级别的所述三维立方体贴图的纹理,将所述待渲染车辆模型的颜色与所述多级渐远纹理级数对应的所述三维立方体贴图的采样纹理的颜色融合。
[0109]
其中,车辆模型的粗糙度与多级渐远纹理级数相对应,可以通过调整多级渐远纹理级数来调整粗糙度。一般来说,多级渐远纹理级数越高,粗糙度越大。多级渐远纹理级数的最大级数的计算公式如下:
[0110]
cubesize=2
maxlevel
[0111]
其中,cubesize表示三维立方体贴图的尺寸,maxlevel表示最大级数。
[0112]
例如,如我们设置三维立方体贴图的每个面的尺寸为128*128,那么立方体贴图的最大级数maxlevel=7。可以在最大级数范围内来调整车辆模型的粗糙度。
[0113]
本技术实施例中,不同材质的车辆模型具有不同的粗糙度,例如,白色车漆的粗糙度较高,其反射出来周围场景比较模糊,而黑色车漆的粗糙度较低,其反射出来的周围场景比较清晰。为了使待渲染车辆模型具有真实场景的反射效果,可以根据三维立方体贴图的不同程度的粗糙度生成具有不同级别的纹理三维立方体贴图,然后根据不同的粗糙度采样具有不同纹理的三维立方体贴图,将三维立方体的纹理与车辆模型进行融合。对于通过opengl渲染的车辆模型,可以在生成三维立方体贴图时,直接生成具有多级渐远纹理,及具有不同粗糙程度的三维立方体贴图。然后在取样时,可以直接设置不同的粗糙度参数在着色器中取样不同级别的纹理,模拟出不同粗糙度下的车漆材质效果。
[0114]
本技术实施例在生成三维立方体贴图的同时,还可以同时生成三维立方体贴图对应的纹理,纹理可以文件的形式存在,例如生成纹理文件,并将其命名为cubemap,然后将该纹理文件导入着色器中。
[0115]
在本技术的一个实施例中,根据预设粗糙度、所述反射向量、所述环境光遮蔽贴图和所述三维立方体贴图对所述待渲染车辆模型进行渲染之后,所述方法还包括:f1,在顶点着色器中计算所述待渲染车辆模型对应的屏幕坐标;f2,将所述屏幕坐标发送至显示屏,以使所述显示屏显示所述待渲染车辆模型。
[0116]
其中,计算所述待渲染车辆模型对应的屏幕坐标的公式如下:
[0117]
gl_position=projection*view*model*(apos,1.0)
[0118]
其中,model表示从局部空间到全局的世界空间的模型矩阵,view表示从世界空间变换到摄像机空间的摄像机矩阵,projection表示透视投影矩阵,apos表示车辆模型的顶点坐标。
[0119]
值得注意的是,计算所述待渲染车辆模型对应的屏幕坐标不必然在对所述待渲染车辆模型进行渲染之后进行,而是当获取到待渲染车辆模型之后,就可以在顶点着色器中计算所述待渲染车辆模型对应的屏幕坐标,从而在显示屏中显示所述待渲染车辆模型。并在显示的同时,继续对待渲染车辆模型进行进一步地渲染及调整。
[0120]
在本技术其他实施例中,根据预设粗糙度和环境贴图对所述待渲染车辆模型进行渲染之后,所述方法还包括:当获取到所述车辆模型的材质的调整参数值时,根据所述材质的调整参数值对所述待渲染车辆模型进行渲染。
[0121]
这里所述材质的参数值包括颜色、反射率和粗糙度等各项参数的值。通过调整这些参数的值,可以改变车辆模型的渲染效果。
[0122]
本技术实施例在具体实施时可以在用户界面中设置粗糙度参数来调节不同的粗糙度。
[0123]
本技术实施例中,当待渲染车辆模型的颜色、反射率和粗糙度等材质发生变化时,可以相应地动态调节材质的参数值来调节待渲染车辆模型的显示效果,不需要重新进行渲染。而且,本技术实施例不需要大量的预计算,缩短了程序启动时间,减轻了图形处理器的负担,使程序在运行时更加流畅。
[0124]
本技术实施例通过将所述环境光遮蔽贴图和三维立方体贴图的纹理导入开放图形库的着色器,使待渲染车辆模型具有立体效果,在渲染阶段时,根据预设粗糙度、所述反
射向量、所述环境光遮蔽贴图和所述三维立方体贴图对所述待渲染车辆模型进行渲染,使得渲染后的待渲染车辆模型具有真实物体的质感。
[0125]
下面结合图3对本技术的车辆模型的渲染装置进行描述,其中,图3示出根据本技术实施例的车辆模型的渲染装置的示意性框图。
[0126]
如图3所示,车辆模型的渲染装置300包括:一个或多个存储器301和一个或多个处理器302,所述存储器301上存储有由所述处理器302运行的计算机程序,所述计算机程序在被所述处理器302运行时,使得所述处理器302执行前文所述的轨道交通信息数据的方法。
[0127]
车辆模型的渲染装置300可以是可以通过软件、硬件或者软硬件结合的方式实现轨道交通信息数据的方法的计算机设备的部分或者全部。
[0128]
如图3所示,车辆模型的渲染装置300包括一个或多个存储器301、一个或多个处理器302、显示屏(未示出)和通信接口等,这些组件通过总线系统和/或其它形式的连接机构(未示出)互连。应当注意,图3所示的车辆模型的渲染装置300的组件和结构只是示例性的,而非限制性的,根据需要,车辆模型的渲染装置300也可以具有其他组件和结构。
[0129]
存储器301用于存储相关列车运行过程中产生的各种数据和可执行程序指令,例如用于存储各种应用程序或实现各种具体功能的算法。可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(ra m)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(rom)、硬盘、闪存等。
[0130]
处理器302可以是中央处理单元(cpu)、图像处理单元(gp u)、专用集成电路(asic)、现场可编程门阵列(fpga)或者具有数据处理能力和/或指令执行能力的其它形式的处理单元,并且可以控制车辆模型的渲染装置300中的其它组件以执行期望的功能。
[0131]
在一个示例中,车辆模型的渲染装置300还包括输出装置可以向外部(例如用户)输出各种信息(例如图像或声音),并且可以包括显示装置、扬声器等中的一个或多个。
[0132]
通信接口是可以是目前已知的任意通信协议的接口,例如有线接口或无线接口,其中,通信接口可以包括一个或者多个串口、usb接口、以太网端口、wifi、有线网络、dvi接口,设备集成互联模块或其他适合的各种端口、接口,或者连接。
[0133]
此外,根据本技术实施例,还提供了一种存储介质,在所述存储介质上存储了程序指令,在所述程序指令被计算机或处理器运行时用于执行本技术实施例的轨道交通信息数据的方法的相应步骤。所述存储介质例如可以包括智能电话的存储卡、平板电脑的存储部件、个人计算机的硬盘、只读存储器(rom)、可擦除可编程只读存储器(eprom)、便携式紧致盘只读存储器(cd-rom)、usb存储器、或者上述存储介质的任意组合。
[0134]
此外,根据本技术实施例,还提供了一种车辆,包括如上所述的图像渲染装置;所述车辆还包括显示屏,所述显示屏用于显示车辆模型。
[0135]
本技术实施例的车辆模型的渲染装置、车辆和存储介质,由于能够实现前述的图像渲染方法,因此具有和前述的图像渲染方法相同的优点。
[0136]
尽管这里已经参考附图描述了示例实施例,应理解上述示例实施例仅仅是示例性的,并且不意图将本技术的范围限制于此。本领域普通技术人员可以在其中进行各种改变和修改,而不偏离本技术的范围和精神。所有这些改变和修改意在被包括在所附权利要求所要求的本技术的范围之内。
[0137]
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
[0138]
在本技术所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个设备,或一些特征可以忽略,或不执行。
[0139]
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本技术的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
[0140]
类似地,应当理解,为了精简本技术并帮助理解各个发明方面中的一个或多个,在对本技术的示例性实施例的描述中,本技术的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该本技术的方法解释成反映如下意图:即所要求保护的本技术要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如相应的权利要求书所反映的那样,其发明点在于可以用少于某个公开的单个实施例的所有特征的特征来解决相应的技术问题。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本技术的单独实施例。
[0141]
本领域的技术人员可以理解,除了特征之间相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
[0142]
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本技术的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
[0143]
本技术的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(dsp)来实现根据本技术实施例的一些模块的一些或者全部功能。本技术还可以实现为用于执行这里所描述的方法的一部分或者全部的装置程序(例如,计算机程序和计算机程序产品)。这样的实现本技术的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
[0144]
应该注意的是上述实施例对本技术进行说明而不是对本技术进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本技术可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实
现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
[0145]
以上所述,仅为本技术的具体实施方式或对具体实施方式的说明,本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。本技术的保护范围应以权利要求的保护范围为准。
技术特征:
1.一种车辆模型的渲染方法,其特征在于,所述方法包括:获取待渲染车辆模型、环境光遮蔽贴图和三维立方体贴图;分别将所述环境光遮蔽贴图和三维立方体贴图的纹理绑定开放图形库的着色器;在所述着色器中计算所述待渲染车辆模型的世界空间法线坐标,并根据所述世界空间法线坐标计算反射向量;根据预设粗糙度、所述反射向量、所述环境光遮蔽贴图和所述三维立方体贴图对所述待渲染车辆模型进行渲染。2.如权利要求1所述的方法,其特征在于,获取待渲染车辆模型,包括:获取建模软件生成的所述待渲染车辆模型对应的车辆模型文件和图像数据;使用模型导入库和图像导入库将所述图像数据导入到开放图形库的缓存中,然后将所述图像数据导入到所述开放图形库的着色器中;设置所述待渲染车辆模型的材质,将所述材质绑定到所述开放图形库的着色器中。3.如权利要求1所述的方法,其特征在于,获取三维立方体贴图,包括:获取二维环境贴图,通过投影逆映射的方式,将所述二维环境贴图转化为三维立方体贴图。4.如权利要求3所述的方法,其特征在于,获取二维环境贴图,通过投影逆映射的方式,将所述二维环境贴图转化为三维立方体贴图,包括:将所述三维立方体贴图的三维位置坐标归一化为三维单位向量;根据所述三维单位向量计算单位球面对应的经度和纬度;根据所述经度和所术纬度计算所述二维环境贴图的二维纹理坐标;在初始化所述三维立方体贴图时根据所述二维纹理坐标渲染出三维立方体贴图。5.如权利要求1所述的方法,其特征在于,将所述环境光遮蔽贴图的纹理绑定开放图形库的着色器,包括:将所述待渲染车辆模型的颜色值与所述环境光遮蔽贴图的颜色值按照预设比例融合。6.如权利要求1所述的方法,其特征在于,所述着色器包括顶点着色器;在所述着色器中计算所述待渲染车辆模型的世界空间法线坐标,包括:在所述顶点着色器中计算所述待渲染车辆模型的世界空间法线坐标。7.如权利要求6所述的方法,其特征在于,在顶点着色器中计算所述待渲染车辆模型的世界空间法线坐标,包括:将车辆模型文件中的局部空间法线坐标转换为全局的所述世界空间法线坐标。8.如权利要求1所述的方法,其特征在于,所述着色器还包括片段着色器;根据所述世界空间法线坐标计算反射向量,包括:在所述片段着色器中根据所述世界空间法线坐标计算所述反射向量。9.如权利要求1所述的方法,其特征在于,根据预设粗糙度、所述反射向量、所述环境光遮蔽贴图和所述三维立方体贴图对所述待渲染车辆模型进行渲染,包括:根据所述反射向量,分别将所述环境光遮蔽贴图和所述三维立方体贴图的采样纹理的颜色与所述待渲染车辆模型的材质进行融合。10.如权利要求9所述的方法,其特征在于,将所述环境光遮蔽贴图的材质与所述待渲染车辆模型的材质进行融合,包括:
对所述环境光遮蔽贴图的纹理坐标处的颜色进行采样;将所述采样后的颜色与所述待渲染车辆模型的颜色进行融合。11.如权利要求10所述的方法,其特征在于,将所述三维立方体贴图的材质与所述待渲染车辆模型的材质进行融合,还包括:根据所述预设粗糙度计算多级渐远纹理级数;根据所述多级渐远纹理级数采样对应级别的所述三维立方体贴图的纹理,将所述待渲染车辆模型的颜色与所述多级渐远纹理级数对应的所述三维立方体贴图的采样纹理的颜色融合。12.如权利要求6所述的方法,其特征在于,根据预设粗糙度、所述反射向量、所述环境光遮蔽贴图和所述三维立方体贴图对所述待渲染车辆模型进行渲染之后,所述方法还包括:在顶点着色器中计算所述待渲染车辆模型对应的屏幕坐标;将所述屏幕坐标发送至显示屏,以使所述显示屏显示所述待渲染车辆模型。13.如权利要求1所述的方法,其特征在于,根据预设粗糙度、所述反射向量、所述环境光遮蔽贴图和所述三维立方体贴图对所述待渲染车辆模型进行渲染之后,所述方法还包括:当获取到所述车辆模型的材质的调整参数值时,根据所述材质的调整参数值对所述待渲染车辆模型进行渲染。14.如权利要求2所述的方法,其特征在于,所述图像数据包括:点、面、法线和纹理坐标信息。15.如权利要求2所述的方法,其特征在于,所述材质包括:颜色、反射率和粗糙度。16.一种图像渲染装置,其特征在于,所述图像渲染装置包括:存储器和处理器,所述存储器上存储有由所述处理器运行的计算机程序,所述计算机程序在被所述处理器运行时,使得所述处理器执行如权利要求1至15任一项所述的车辆模型的渲染方法。17.一种车辆,所述车辆包括如权利要求16所述的图像渲染装置,所述车辆还包括显示屏,所述显示屏用于显示车辆模型。18.一种存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序在被处理器运行时使得所述处理器执行如权利要求1至15任一项所述的车辆模型的渲染方法。
技术总结
本申请提供一种车辆模型的渲染方法、装置、车辆和存储介质,所述方法包括:获取待渲染车辆模型、环境光遮蔽贴图和三维立方体贴图;分别将所述环境光遮蔽贴图和三维立方体贴图的纹理绑定开放图形库的着色器;在所述着色器中计算所述待渲染车辆模型的世界空间法线坐标,并根据所述世界空间法线坐标计算反射向量;根据预设粗糙度、所述反射向量、所述环境光遮蔽贴图和所述三维立方体贴图对所述待渲染车辆模型进行渲染。通过本申请的方案,可以使得在车载移动端性能有限的情况下,渲染后的待渲染车辆模型具有真实物体的质感。另外,本申请实施例当物体的颜色、粗糙度等材质发生变化时,可以相应地动态调节物体的颜色等效果,不需要重新进行渲染。需要重新进行渲染。需要重新进行渲染。
技术研发人员:于丽
受保护的技术使用者:比亚迪股份有限公司
技术研发日:2021.12.30
技术公布日:2023/7/13
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
上一篇:一种电子烟的控制方法及电子烟与流程 下一篇:一种新型钢混建筑组合结构的制作方法
