首页> 中国专利> 三维模型的纹理贴图生成方法、装置、设备及存储介质

三维模型的纹理贴图生成方法、装置、设备及存储介质

摘要

本申请提供一种三维模型的纹理贴图生成方法、装置、设备及存储介质,其中,方法包括:获取目标场景的全景图和目标场景的三维模型、目标场景的第一距离场贴图、目标场景的第一颜色贴图;根据坐标转换矩阵将三维模型的三维顶点坐标转换为二维顶点坐标;根据二维顶点坐标从全景图中读取二维顶点坐标关联的颜色信息并生成第二颜色贴图;根据二维顶点坐标从全景图中读取二维顶点坐标关联的距离场信息并生成第二距离场图;将第二颜色贴图与第一颜色贴图融合并得到目标颜色贴图;将第一距离场贴图与第一距离场贴图融合并得目标距离场贴图。本申请能够降低三维模型的着色过程的性能消耗。

著录项

  • 公开/公告号CN113112581A

    专利类型发明专利

  • 公开/公告日2021-07-13

    原文格式PDF

  • 申请/专利权人 广东三维家信息科技有限公司;

    申请/专利号CN202110524823.4

  • 发明设计人 刘玉丹;王士玮;

    申请日2021-05-13

  • 分类号G06T15/00(20110101);G06T15/04(20110101);G06T15/06(20110101);

  • 代理机构11463 北京超凡宏宇专利代理事务所(特殊普通合伙);

  • 代理人王丽莎

  • 地址 510000 广东省广州市天河区天河软件园软件路15号(孵化二期F栋)9楼902室(仅限办公用途)

  • 入库时间 2023-06-19 11:49:09

说明书

技术领域

本申请涉及计算机图形领域,具体而言,涉及一种三维模型的纹理贴图生成方法、装置、设备及存储介质。

背景技术

目前,在VR漫游场景中,需要模拟现实世界的三维空间感,现有技术中模拟现实世界的三维空间的方式主要有两种,第一种是根据场景的全景图构建三维场景,但是这只方式只能构建少量可旋转点位,而无法实现整个场景的三维空间化,例如贝壳网提供的VR看房功能,只能在特定点点进行旋转且旋转方向有限。第二种是通过场景进行三维建模,然后通过光线追踪技术对三维模型进行渲染,这种方式具有空间感更好、颜色更接近真实场景、用户通过选择可从多视角观察等有点,然而由于这种方式需要对海量的点位进行渲染,进而具有计算耗时高的缺点。

发明内容

本申请实施例的目的在于提供一种三维模型的纹理贴图生成方法、装置、设备及存储介质,用以降低三维模型的着色过程的性能消耗。

为此本申请第一方面公开一种三维模型的纹理贴图生成方法,所述方法包括:

获取目标场景的全景图和所述目标场景的三维模型、所述目标场景的第一距离场贴图、所述目标场景的第一颜色贴图;

根据坐标转换矩阵将所述三维模型的三维顶点坐标转换为二维顶点坐标;

根据所述二维顶点坐标从所述全景图中读取所述二维顶点坐标关联的颜色信息并生成第二颜色贴图;

根据所述二维顶点坐标从所述全景图中读取所述二维顶点坐标关联的距离场信息并生成第二距离场图;

将所述第二颜色贴图与所述第一颜色贴图融合并得到目标颜色贴图;

将所述第一距离场贴图与所述第一距离场贴图融合并得目标距离场贴图。

本申请第一方面的方法能够降低三维模型的着色过程的性能消耗,其中,由于全景图中包括了很多三维模型的纹理信息,进而通过将全景图与三维模型的原有距离场贴图和颜色贴图进行融合,能够减少为了得到距离场贴图和颜色贴图而进行的光线追踪次数,进而降低性能消耗。

在本申请第一方面中,作为一种可选的实施方式,所述根据坐标转换矩阵将所述三维模型的三维顶点坐标转换为二维顶点坐标,包括:

根据所述坐标转换矩阵将三维模型的三维顶点坐标转换为渲染相机坐标系坐标;

将所述渲染相机坐标系坐标转换为所述二维顶点坐标。

在本申请第一方面中,作为一种可选的实施方式,在所述根据所述坐标转换矩阵将三维模型的三维顶点坐标转换为渲染相机坐标系坐标之后,所述将所述渲染相机坐标系坐标转换为所述二维顶点坐标之前,所述方法还包括:

根据所述渲染相机坐标系坐标计算顶点深度值;

过滤所述顶点深度值不满足第一预设条件的顶点。

在本申请第一方面中,作为一种可选的实施方式,在所述将所述渲染相机坐标系坐标转换为所述二维顶点坐标之后,所述根据所述二维顶点坐标从所述全景图中读取所述二维顶点坐标关联的距离场信息并生成第二距离场图之前,所述方法还包括:

根据所述二维顶点坐标读取所述二维顶点坐标在所述第一距离场贴中的颜色值;

根据所述二维顶点坐标在所述第一距离场贴图中的颜色值计算得到第一距离值;

根据所述渲染相机的观察位置与所述三维模型的三维顶点之间的距离并作为第二距离值;

根据所述第一距离值、所述第二距离值从所述二维顶点坐标中过滤所述渲染相机不可见的二维顶点坐标。

5.如权利要求4所述的方法,其特征在于,所述将所述第二颜色贴图与所述第一颜色贴图融合并得到目标颜色贴图,包括:

计算所述二维顶点坐标在所述第一颜色贴图中的颜色值并作为第一颜色值;

计算所述二维顶点坐标在所述第二颜色贴图中的颜色值并作为第二颜色值;

计算所述二维顶点坐标在所述第一颜色贴图中的距离值并作为第三距离值;

计算所述二维顶点坐标在所述第二颜色贴图中的距离值并作为第四距离值;

当所述三距离值小于所述第四距离值时,将所述二维顶点坐标在所述目标颜色贴图的颜色值设置为所述第一颜色值。

在本申请第一方面中,作为一种可选的实施方式,所述将所述第一距离场贴图与所述第一距离场贴图融合并得目标距离场贴图,包括:

当所述三距离值小于所述第四距离值时,将所述二维顶点坐标在所述目标颜色贴图的距离值设置为所述第三距离值。

本申请第二方面公开一种三维模型的纹理贴图生成装置,所述装置包括:

获取模块,用于获取目标场景的全景图和所述目标场景的三维模型、所述目标场景的第一距离场贴图、所述目标场景的第一颜色贴图;

坐标转换模块,用于根据坐标转换矩阵将所述三维模型的三维顶点坐标转换为二维顶点坐标;

生成模块,用于根据所述二维顶点坐标从所述全景图中读取所述二维顶点坐标关联的颜色信息并生成第二颜色贴图;

读取模块,用于根据所述二维顶点坐标从所述全景图中读取所述二维顶点坐标关联的距离场信息并生成第二距离场图;

第一融合模块,用于将所述第二颜色贴图与所述第一颜色贴图融合并得到目标颜色贴图;

第二融合模块,用于将所述第一距离场贴图与所述第一距离场贴图融合并得目标距离场贴图。

8.如权利要求7所述的装置,其特征在于,所述坐标转换模块,包括:

第一转换子模块,用于根据所述坐标转换矩阵将三维模型的三维顶点坐标转换为渲染相机坐标系坐标;

第二转换子模块,用于将所述渲染相机坐标系坐标转换为所述二维顶点坐标。

在本申请实施例中,由于全景图中包括了很多三维模型的纹理信息,进而通过将全景图与三维模型的原有距离场贴图和颜色贴图进行融合,能够减少为了得到距离场贴图和颜色贴图而进行的光线追踪次数,进而降低性能消耗。

本申请第三方面公开一种三维模型的纹理贴图生成设备,所述设备包括:

存储有可执行程序代码的存储器;

与所述存储器耦合的处理器;

所述处理器调用所述存储器中存储的所述可执行程序代码,执行本申请第一方面的三维模型的纹理贴图生成方法。

本申请第三方面的三维模型的纹理贴图生成设备通过执行三维模型的纹理贴图生成方法,能够降低三维模型的着色过程的性能消耗,其中,由于全景图中包括了很多三维模型的纹理信息,进而通过将全景图与三维模型的原有距离场贴图和颜色贴图进行融合,能够减少为了得到距离场贴图和颜色贴图而进行的光线追踪次数,进而降低性能消耗。

本申请第四方面公开一种存储介质,所述存储介质存储有计算机指令,所述计算机指令被调用时,用于执行本申请第一方面的三维模型的纹理贴图生成方法。

本申请第四方面的三维模型的纹理贴图生成设备通过执行三维模型的纹理贴图生成方法,能够降低三维模型的着色过程的性能消耗,其中,由于全景图中包括了很多三维模型的纹理信息,进而通过将全景图与三维模型的原有距离场贴图和颜色贴图进行融合,能够减少为了得到距离场贴图和颜色贴图而进行的光线追踪次数,进而降低性能消耗。

附图说明

为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1是本申请实施例公开的一种三维模型的纹理贴图生成方法的流程示意图;

图2是本申请实施例公开的一种三维模型的纹理贴图生成装置的结构示意图;

图3是本申请实施例公开的一种三维模型的纹理贴图生成设备的结构示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。

实施例一

请参阅图1,图1是本申请实施例公开的一种三维模型的纹理贴图生成方法的流程示意图。如图1所示,本申请实施例的方法包括步骤:

101、获取目标场景的全景图和目标场景的三维模型、目标场景的第一距离场贴图、目标场景的第一颜色贴图;

102、根据坐标转换矩阵将三维模型的三维顶点坐标转换为二维顶点坐标;

103、根据二维顶点坐标从全景图中读取二维顶点坐标关联的颜色信息并生成第二颜色贴图;

104、根据二维顶点坐标从全景图中读取二维顶点坐标关联的距离场信息并生成第二距离场图;

105、将第二颜色贴图与第一颜色贴图融合并得到目标颜色贴图;

106、将第一距离场贴图与第一距离场贴图融合并得目标距离场贴图。

在本申请实施例中,作为一个示例..,假设有一个待着色的三维模型,此时,此时该三维模型会关联一个纹理映射,该纹理映射包括坐标转换矩阵关系,即通过坐标转换矩阵可将三维模型的三维顶点坐标转换为渲染相机坐标系坐标,其中,渲染相机坐标系坐标为二维坐标,例如将三维模型表面顶点p映射成平面坐标(u,v)。

进而当得到平面坐标(u,v)后,可以平面坐标(u,v)为寻找依据,在三维模型对应的场景的原始纹理贴图上找到与平面坐标(u,v)对应的像素点,并读取该像素点的颜色值、深度值作为三维模型的渲染信息并以此完成三维模型的渲染。需要说明的是,三维模型的纹理贴图包括距离场贴图和颜色贴图,其中,距离场贴图携带表示像素点的前后关系的深度值,在渲染过程中,依据距离场贴图能够明确模型中各个顶点的前后关系、遮挡关系。

进一步地,在三维模型的原始纹理贴图的每个像素点关联的信息是需要预先获取的,目前现有技术主要是通过光线追踪技术来获取原始纹理贴图的每个像素点关联的信息,然而原始纹理贴图有海量的像素点,如果都通过追踪技术来获取每个像素点关联的信息,则会导致计算机性能消耗严重,渲染效率低这一问题,针对这个问题,本申请实施例在步骤101、102之后,通过步骤103、104从目标场景的全景图中读取每个像素点关联的信息,这样一来,由于全景图本身就具备了像素点关联的信息,且全景图的像素点关联的信息均与一个二维坐标关联,因此,通过二维坐标可将全景图中像素点关联的信息作为纹理贴图中的像素点关联的信息,进而通过步骤105、106,可将纹理贴图上原有的像素点关联的信息和从全景图中获取的信息进行合并,从而避免使用光线追踪技术获取每个像素点关联的信息的同时,又能够得到完整的纹理贴图对三维模型进行渲染。

具体地,一个三维模型有六个面,为了对三维模型的六个面都进行渲染,可依次获取每个面对应的纹理贴图及该面对应的全景图依次六个面进行渲染。需要说明的是目标场景可以卧室、客厅、展厅等场景。

在本申请实施例中,第一距离场景贴图可以由GPU生成,其中,关于GPU具体如何生第一距离场贴图请参考现有技术。

在本申请实施例中,坐标转换矩阵可将三维模型的世界坐标系坐标转换为相机坐标系坐标,相应地,步骤102:根据坐标转换矩阵将三维模型的三维顶点坐标转换为二维顶点坐标具体为:

通过坐标转换矩阵将三维模型的世界坐标转换为相机坐标系坐标;

通过投影坐标转换方式将相机坐标系坐标转换为二维坐标。

在本申请实施例中,由于全景图中包括了很多三维模型的纹理信息,进而通过将全景图与三维模型的原有距离场贴图和颜色贴图进行融合,能够减少为了得到距离场贴图和颜色贴图而进行的光线追踪次数,进而降低性能消耗。

在本申请实施例中,作为一种可选的实施方式,步骤102:根据坐标转换矩阵将三维模型的三维顶点坐标转换为二维顶点坐标,包括子步骤:

根据坐标转换矩阵将三维模型的三维顶点坐标转换为渲染相机坐标系坐标;

将渲染相机坐标系坐标转换为二维顶点坐标。

在本申请实施例中,作为一种可选的实施方式,在步骤:根据坐标转换矩阵将三维模型的三维顶点坐标转换为渲染相机坐标系坐标之后,步骤:将渲染相机坐标系坐标转换为二维顶点坐标之前,本申请实施例的方法还包括:

根据渲染相机坐标系坐标计算顶点深度值;

过滤顶点深度值不满足第一预设条件的顶点。

在本可选的实施方式中,通过根据渲染相机坐标系坐标计算顶点深度值,进而能够过滤顶点深度值不满足第一预设条件的顶点。

在本可选的实施方式中,第一预设条件可以是深度值补位0,例如,并未被全景图着色到的顶点,该点颜色和距离场均为0,此时可过滤这个点,使得不需要从全景图中获取该点对应的信息。在本申请实施例中,作为一种可选的实施方式,在步骤:将渲染相机坐标系坐标转换为二维顶点坐标之后,步骤:根据二维顶点坐标从全景图中读取二维顶点坐标关联的距离场信息并生成第二距离场图之前,本申请实施例的方法还包括:

根据二维顶点坐标读取二维顶点坐标在第一距离场贴中的颜色值;

根据二维顶点坐标在第一距离场贴图中的颜色值计算得到第一距离值;

根据渲染相机的观察位置与三维模型的三维顶点之间的距离并作为第二距离值;

根据第一距离值、第二距离值从二维顶点坐标中过滤渲染相机不可见的二维顶点坐标。

在本申请实施例中,通过根据二维顶点坐标读取二维顶点坐标在第一距离场贴中的颜色值,进而能够根据二维顶点坐标在第一距离场贴图中的颜色值计算得到第一距离值,进而能够根据渲染相机的观察位置与三维模型的三维顶点之间的距离并作为第二距离值,进而能够根据第一距离值、第二距离值从二维顶点坐标中过滤渲染相机不可见的二维顶点坐标。

在本申请实施例中,作为一种可选的实施方式,步骤105:将第二颜色贴图与第一颜色贴图融合并得到目标颜色贴图,包括:

计算二维顶点坐标在第一颜色贴图中的颜色值并作为第一颜色值;

计算二维顶点坐标在第二颜色贴图中的颜色值并作为第二颜色值;

计算二维顶点坐标在第一颜色贴图中的距离值并作为第三距离值;

计算二维顶点坐标在第二颜色贴图中的距离值并作为第四距离值;

当三距离值小于第四距离值时,将二维顶点坐标在目标颜色贴图的颜色值设置为第一颜色值。

在本可选的实施方式中,通过计算二维顶点坐标在第一颜色贴图中的颜色值并作为第一颜色值、计算二维顶点坐标在第二颜色贴图中的颜色值并作为第二颜色值、计算二维顶点坐标在第一颜色贴图中的距离值并作为第三距离值、计算二维顶点坐标在第二颜色贴图中的距离值并作为第四距离值,进而能够在当三距离值小于第四距离值时,将二维顶点坐标在目标颜色贴图的颜色值设置为第一颜色值。

在本可选的实施方式中,计算颜色值和距离值,可以通过现有技术中的unpack实现,其中,由于图像上每个像素点用一个四维向量表示(r,g,b,a)。但其每一位的精度只有8bit位,即每一位取整型,只能取0~255之间的整数,而距离值是一个实数,即是一个浮点型,精度要求较高,因此需要将四维向量表示的(r,g,b,a)转换为浮点型数据,此时通过unpack就是将四维向量表示的(r,g,b,a)转换为浮点型数据。

在本申请实施例中,作为一种可选的实施方式,步骤106:将第一距离场贴图与第一距离场贴图融合并得目标距离场贴图,包括:

当三距离值小于第四距离值时,将二维顶点坐标在目标颜色贴图的距离值设置为第三距离值。

在本可选的实施方式中,当三距离值小于第四距离值时,可将将二维顶点坐标在目标颜色贴图的距离值设置为第三距离值。

实施例二

请参阅图2,图2是本申请实施例公开的一种三维模型的纹理贴图生成装置的流程示意图。如图2所示,本申请实施例的装置包括:

获取模块201,用于获取目标场景的全景图和目标场景的三维模型、目标场景的第一距离场贴图、目标场景的第一颜色贴图;

坐标转换模块202,用于根据坐标转换矩阵将三维模型的三维顶点坐标转换为二维顶点坐标;

生成模块203,用于根据二维顶点坐标从全景图中读取二维顶点坐标关联的颜色信息并生成第二颜色贴图;

读取模块204,用于根据二维顶点坐标从全景图中读取二维顶点坐标关联的距离场信息并生成第二距离场图;

第一融合模块205,用于将第二颜色贴图与第一颜色贴图融合并得到目标颜色贴图;

第二融合模块206,用于将第一距离场贴图与第一距离场贴图融合并得目标距离场贴图。

在本申请实施例中,作为一种可选的实施方式,坐标转换模块,包括:

第一转换子模块,用于根据坐标转换矩阵将三维模型的三维顶点坐标转换为渲染相机坐标系坐标;

第二转换子模块,用于将渲染相机坐标系坐标转换为二维顶点坐标。

在本申请实施例中,目标场景可以卧室、客厅、展厅等场景。

在本申请实施例中,第一距离场景贴图可以由GPU生成,其中,关于GPU具体如何生成第一距离场贴图请参考现有技术。

在本申请实施例中,坐标转换矩阵可将三维模型的世界坐标系坐标转换为相机坐标系坐标,相应地,步骤102:根据坐标转换矩阵将三维模型的三维顶点坐标转换为二维顶点坐标具体为:

通过坐标转换矩阵将三维模型的世界坐标转换为相机坐标系坐标;

通过投影坐标转换方式将相机坐标系坐标转换为二维坐标。

在本申请实施例中,由于全景图中包括了很多三维模型的纹理信息,进而通过将全景图与三维模型的原有距离场贴图和颜色贴图进行融合,能够减少为了得到距离场贴图和颜色贴图而进行的光线追踪次数,进而降低性能消耗。

实施例三

请参阅图3,图3是本申请实施例公开的一种三维模型的纹理贴图生成设备的流程示意图。如图3所示,本申请实施例的设备包括:

存储有可执行程序代码的存储器301;

与存储器耦合的处理器302;

处理器调用存储器中存储的可执行程序代码,执行本申请实施例一的三维模型的纹理贴图生成方法。

本申请实施例的设备通过执行三维模型的纹理贴图生成方法,能够降低三维模型的着色过程的性能消耗,其中,由于全景图中包括了很多三维模型的纹理信息,进而通过将全景图与三维模型的原有距离场贴图和颜色贴图进行融合,能够减少为了得到距离场贴图和颜色贴图而进行的光线追踪次数,进而降低性能消耗。

实施例四

本申请实施例公开一种存储介质,存储介质存储有计算机指令,计算机指令被调用时,用于执行本申请实施例一公开的三维模型的纹理贴图生成方法。

本申请实施例的存储介质通过执行三维模型的纹理贴图生成方法,能够降低三维模型的着色过程的性能消耗,其中,由于全景图中包括了很多三维模型的纹理信息,进而通过将全景图与三维模型的原有距离场贴图和颜色贴图进行融合,能够减少为了得到距离场贴图和颜色贴图而进行的光线追踪次数,进而降低性能消耗。在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

再者,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。

需要说明的是,功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。

以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号