CN115830202A - 一种三维模型渲染方法和装置 - Google Patents

一种三维模型渲染方法和装置 Download PDF

Info

Publication number
CN115830202A
CN115830202A CN202211494444.6A CN202211494444A CN115830202A CN 115830202 A CN115830202 A CN 115830202A CN 202211494444 A CN202211494444 A CN 202211494444A CN 115830202 A CN115830202 A CN 115830202A
Authority
CN
China
Prior art keywords
camera
texture
determining
rendering
rgb
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202211494444.6A
Other languages
English (en)
Inventor
于迅博
杨泽元
桑新柱
颜玢玢
陈铎
王鹏
陈硕
李静雯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing University of Posts and Telecommunications
Original Assignee
Beijing University of Posts and Telecommunications
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing University of Posts and Telecommunications filed Critical Beijing University of Posts and Telecommunications
Priority to CN202211494444.6A priority Critical patent/CN115830202A/zh
Publication of CN115830202A publication Critical patent/CN115830202A/zh
Pending legal-status Critical Current

Links

Images

Abstract

本发明提供一种三维模型渲染方法,包括:S1、控制虚拟相机发出渲染光线,并确定出多个交点坐标;S2、基于虚拟相机的参数和多个交点坐标中的其中一个交点坐标,确定出虚拟相机发出的对应于其中一个交点坐标的一根渲染光线的方向向量;S3、基于每个RGB相机的坐标和所述其中一个交点坐标,确定出相机方向向量组;S4、基于一根渲染光线的方向向量和相机方向向量组的夹角关系,确定多个用于纹理计算的RGB相机;S5、基于多个RGB相机拍摄的多个图像,确定出其中一个交点坐标对应的纹理值;S6、继续执行S2‑S5步骤,直至分别确定出多个纹理值;S7、基于多个纹理值确定出虚拟相机对应的视点图像,从而实现三维模型的快速渲染。

Description

一种三维模型渲染方法和装置
技术领域
本发明涉及三维成像技术领域,尤其涉及一种三维模型渲染方法和装置。
背景技术
近年来,随着计算机视觉和计算机图形学的发展,基于多视点图片对三维模型进行三维重建及纹理映射,从而进行多视点渲染及三维显示,在教育、医疗、增强现实等领域得到了越来越广泛地应用。基于多视点图像的纹理映射包含着场景中必要的光照信息和物体纹理信息,和传统的二维纹理图映射相比能够更加真实生动地还原真实场景,可实现细节丰富的多视点渲染效果。因此,适用于真实场景的三维模型纹理映射和多视点渲染方法得到了越来越多的关注。
但对于三维模型的纹理映射和多视点渲染方法,仍然存在着纹理混叠,纹理索引错误、纹理映射及渲染速度慢的现象。在实际应用中,三维空间中的RGB相机阵列往往是任意排布的,其位置并不遵循某种严格的均匀分布,且相机光心的方向也很难汇聚到三维场景中的同一点。同时,RGB相机阵列所拍摄的三维模型的位置也是任意的,即三维模型往往并不处于被采集的三维场景的中心。基于深度信息的纹理映射方法,可以根据每个相机采集到的深度图来实时计算三维模型每个三维点的纹理,但不能适用于基于RGB相机阵列的应用场景。RGB相机阵列很难通过匹配或深度估计来获取三维模型每一点的深度图。其次,即使获取到深度图,因为RGB相机及三维模型的任意分布,也不能通过单一相机的深度图来获取整个三维场景的分布及遮挡关系,如此会导致纹理混叠。
因此,在实际应用中,如何利用复杂场景中RGB相机阵列采集的多视点信息,快速准确的对三维模型进行纹理映射及多视点渲染,是亟待解决的问题。
发明内容
本发明提供一种三维模型渲染方法和装置,用以解决现有技术中三维模型映射和渲染中的纹理混叠、渲染速度慢的问题。
本发明提供一种三维模型渲染方法和装置,包括:S1、控制虚拟相机发出渲染光线,所述渲染光线与待计算纹理的三维模型相交,并确定出多个交点坐标;S2、基于虚拟相机的参数和多个交点坐标中的其中一个交点坐标,确定出虚拟相机发出的对应于所述其中一个交点坐标的一根渲染光线和所述一根渲染光线的方向向量;S3、基于RGB相机阵列中每个RGB相机的坐标和所述其中一个交点坐标,确定出相机方向向量组,所述相机方向向量组包括每个RGB相机到所述其中一个交点坐标的相机方向向量;S4、基于所述一根渲染光线的方向向量和所述相机方向向量组的夹角关系,确定多个用于纹理计算的RGB相机;S5、基于所述多个用于纹理计算的RGB相机拍摄的多个图像,确定出所述其中一个交点坐标对应的纹理值;S6、继续执行所述S2-S5步骤,直至分别确定出所述多个交点坐标对应的多个纹理值;S7、基于所述多个交点坐标对应的多个纹理值确定出所述虚拟相机对应的视点图像。
在一些实施例中,所述基于一根渲染光线的方向向量和所述相机方向向量组的夹角关系,确定多个用于纹理计算的RGB相机,包括:确定出所述相机方向向量组中与一根渲染光线的方向向量夹角最小的相机方向向量所对应的最小夹角RGB相机,基于所述最小夹角RGB相机,确定多个用于纹理计算的RGB相机。
在一些实施例中,所述基于所述最小夹角RGB相机,确定多个用于纹理计算的RGB相机,包括:确定出位于所述最小夹角RGB相机一侧的距离所述最小夹角RGB相机临近的a个RGB相机,确定出位于所述最小夹角RGB相机另一侧的距离所述最小夹角RGB相机临近的a个RGB相机,将所述最小夹角RGB相机、一侧临近的a个RGB相机与另一侧临近的a个RGB相机作为多个用于纹理计算的RGB相机。
在一些实施例中,所述确定出所述相机方向向量组中与所述一根渲染光线的方向向量夹角最小的相机方向向量所对应的最小夹角RGB相机,包括:基于公式
Figure SMS_1
确定出所述最小夹角RGB相机,其中ns表示所述最小夹角RGB相机的索引,P0表示所述其中一个交点坐标,
Figure SMS_2
表示所述虚拟相机发出的对应于所述一个交点坐标的一根渲染光线的、指向P0的方向向量,
Figure SMS_3
表示第n个真实相机在三维坐标中的位置,N表示有N个真实相机,
Figure SMS_4
表示求取单位向量的函数。
在一些实施例中,所述基于所述多个用于纹理计算的RGB相机拍摄的多个图像,确定出所述其中一个交点坐标对应的纹理值,包括:将所述其中一个交点透视投影到所述多个用于纹理计算的RGB相机拍摄的多个图像中,得到所述多个用于纹理计算的RGB相机观测所述其中一个交点得到的多个初始纹理值,基于所述多个初始纹理值得到所述其中一个交点坐标对应的纹理值。
在一些实施例中,所述基于所述多个初始纹理值得到所述其中一个交点坐标对应的纹理值,包括:对所述多个初始纹理值分别赋予不同的权重,其中所述最小夹角RGB相机对应的初始纹理值权重最高,所述多个初始纹理值的不同权重的和为1,基于所述多个初始纹理值和所述多个初始纹理值对应的权重,加权求和得到所述其中一个交点坐标对应的纹理值。
一种三维光场渲染装置,包括:控制模块,用于控制虚拟相机发出渲染光线,所述渲染光线与待计算纹理的三维模型相交,并确定出多个交点坐标;确定模块,用于基于虚拟相机的参数和所述多个交点坐标中的其中一个交点坐标,确定出虚拟相机发出的对应于所述其中一个交点坐标的一根渲染光线和所述一根渲染光线的方向向量;还用于基于RGB相机阵列中每个RGB相机的坐标和所述其中一个交点坐标,确定出相机方向向量组,所述相机方向向量组包括每个RGB相机到所述其中一个交点坐标的相机方向向量;还用于基于所述一根渲染光线的方向向量和所述相机方向向量组的夹角关系,确定多个用于纹理计算的RGB相机;还用于基于所述多个用于纹理计算的RGB相机拍摄的多个图像,确定出所述其中一个交点坐标对应的纹理值;还用于继续执行所述确定模块的上述步骤,直至分别确定出所述多个交点坐标对应的多个纹理值;图像模块,用于基于所述多个交点坐标对应的多个纹理值确定出所述虚拟相机对应的视点图像。
本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述三维模型渲染方法的步骤。
本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述三维模型渲染方法的步骤。
本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述三维模型渲染方法的步骤。
本发明提供的一种三维模型渲染方法和装置,通过使用筛选出的多个用于纹理计算的RGB相机,来计算渲染光线与三维模型交点坐标所对应的纹理值,而不是基于全部的相机来计算渲染光线与三维模型交点坐标所对应的纹理值,从而快速或实时地渲染目标场景,实现了多视点图像的生成,节约了时间和计算成本,且由于筛选出的多个用于纹理计算的RGB相机与虚拟相机的视角接近,所采集的纹理接近虚拟相机视角的纹理,可以实现正确的纹理筛选及计算,避免了纹理混叠。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明中OpenGL坐标系和OpenCV坐标系的示意图;
图2是本发明提供的一种三维模型渲染方法的流程示意图;
图3是本发明虚拟相机、RGB相机阵列及三维模型排列的示意图;
图4为本发明提供的GPU多线程计算流程的示意图;
图5是本发明提供的一种三维光场渲染装置的结构示意图;
图6是本发明提供的电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在执行本发明方法之前,需要统一三维坐标系,例如在三维重建技术领域中,由于OpenGL(Open Graphics Library,开放图形库)坐标系用于三维模型的渲染,OpenCV(OpenSource Computer Vision Library,开源计算机视觉库)坐标系用于三维模型的重建,统一三维坐标系用于避免坐标系不同出现渲染结果与三维模型镜像对称、翻转无渲染画面等情况。图1为本发明中OpenGL坐标系和OpenCV坐标系的示意图。由于OpenGL坐标系和OpenCV坐标系的定义方式的不同,需要将两种坐标系统一起来,将OpenGL坐标系通过转换矩阵转化为OpenCV坐标系,其中转换矩阵为:
Figure SMS_5
本发明的后续渲染方法中虚拟相机坐标、RGB相机阵列坐标等都基于统一后的OpenCV坐标系进行。
下面结合图2-图4描述本发明的一种三维模型渲染方法。
图2是本发明提供的一种三维模型渲染方法的流程示意图,包括步骤S1~S7:
步骤S1,控制虚拟相机发出渲染光线,所述渲染光线与待计算纹理的三维模型,并确定出多个交点坐标。
虚拟相机可以发出多条渲染光线,可以基于碰撞检测方法确定多条渲染光线与待计算纹理的三维模型相交的多个交点坐标。碰撞检测方法可使用BVTree(Bounding Volumetree)及其衍生技术,其BVTree可以基于AABB(Axis Aligned Bounding Box,轴对齐边界框)、OBB(Oriented Bounding Box,方向包围盒)、包围球等碰撞检测方法实现,例如可使用动态层次AABB包围盒树(Dynamic Bounding Volume Hierarchy Based On AABB Tree)实现动态碰撞检测。
步骤S2,基于虚拟相机的参数和多个交点坐标中的其中一个交点坐标,确定出虚拟相机发出的对应于所述其中一个交点坐标的一根渲染光线和所述一根渲染光线的方向向量。
所述一根渲染光线的方向向量表示从虚拟相机位置坐标发出的到所述其中一个交点坐标的渲染光线的方向向量,其方向为虚拟相机位置指向所述其中一个交点。
步骤S3,基于RGB相机阵列中每个RGB相机的坐标和所述其中一个交点坐标,确定出相机方向向量组,所述相机方向向量组包括每个RGB相机到所述其中一个交点坐标的相机方向向量。
RGB相机是一种工业相机,以三原色为系统,具有数字成像功能。RGB相机阵列在三维空间的位置和朝向均为任意分布。在一些实施例中,RGB相机阵列中的多个相机具有不同的内参和外参,内参是与相机自身特性相关的参数,比如相机的焦距、光学中心等。外参为相机在世界坐标系中的外部参数,比如相机的位置、旋转方向、平移方向等。
在一些实施例中,可以通过如下所示的公式(1)来确定第n个RGB相机在三维坐标系中的坐标
Figure SMS_6
其中第n个
Figure SMS_7
为相机外参的旋转矩阵,Tn为第n个相机外参的平移矩阵,N表示有N个RGB相机。
Figure SMS_8
相机方向向量组包括每个RGB相机的坐标到所述其中一个交点坐标的相机方向向量所组成的方向向量组。相机方向向量组中的真实相机方向向量为每个RGB相机坐标到所述其中一个交点坐标的方向向量,相机方向向量组包含的每个光线的方向由每个真实相机位置指向所述其中一个交点坐标。
步骤S4,基于所述一根渲染光线的方向向量和所述相机方向向量组的夹角关系,确定多个用于纹理计算的RGB相机。
由于RGB相机在三维空间中是任意分布的,且不规则的三维模型是有一定的厚度,在某一位置观测具有自身遮挡现象,且其位置不一定在三维空间的中心位置。在复杂场景下虚拟相机发射的渲染光线与三维模型形成的交点,在被RGB相机观测时,交点时常会因为RGB相机观测位置的不同而被三维模型本身遮挡。因此,在以上情况下,渲染光线要提取的、那些被三维模型本身遮挡的RGB相机所观测到的交点的颜色值会有错误,因此所有RGB相机所观测到的交点颜色值并不能全部用来求解。因此,对于三维模型的其中一个观测交点,本发明通过基于所述一根渲染光线的方向向量和所述相机方向向量组的夹角关系,筛选出多个用于纹理计算的RGB相机来计算三维模型的其中一个观测点的纹理。图3是本发明虚拟相机、RGB相机阵列及三维模型排列的示意图。
在一些实施例中,可以确定出所述相机方向向量组中与所述一根渲染光线的方向向量夹角最小的相机方向向量所对应的最小夹角RGB相机,基于所述最小夹角RGB相机,确定多个用于纹理计算的RGB相机。
在一些实施例中,可以基于如下所示的公式(2)确定出所述最小夹角RGB相机,其中ns表示所述最小夹角RGB相机的索引,P0表示所述其中一个交点坐标,
Figure SMS_9
表示所述虚拟相机发出的对应于所述一个交点坐标的一根渲染光线的、指向P0的方向向量,
Figure SMS_10
表示第n个真实相机在三维坐标中的位置,N表示有N个真实相机,
Figure SMS_11
表示求取单位向量的函数。可以理解的是所述一根渲染光线的向量夹角与某一RGB相机方向向量的夹角越小,则说明所述相机方向向量对应的RGB相机与虚拟相机的角度更加接近,在此渲染光线观测的一个模型交点情况下,对应的RGB相机的观测结果就不会被三维模型本身所遮挡。
Figure SMS_12
在一些实施例中,可以确定出位于所述最小夹角RGB相机一侧的距离所述最小夹角RGB相机临近的a个RGB相机,确定出位于所述最小夹角RGB相机另一侧的距离所述最小夹角RGB相机临近的a个RGB相机,将所述最小夹角RGB相机、一侧的a个RGB相机与另一侧的a个RGB相机作为多个用于纹理计算的RGB相机。例如,确定出最小夹角RGB相机后,将最小夹角RGB相机、靠近最小夹角RGB相机左侧的a个相机和靠近最小夹角RGB相机右侧的a个相机都作为所述多个用于纹理计算的RGB相机。可以理解的是,如果RGB相机越靠近最小夹角RGB相机,其观测角度就越不会被三维模型本身所遮挡。
可以理解的是使用由不同RGB相机拍摄的多个真实视点图像,可以减少虚拟视点在三维空间连续移动时,同一模型点的颜色跳变,通过多个RGB相机来确定所述其中一个交点坐标对应的纹理值,可以减小由单个RGB相机所产生的误差。其中一个交点坐标对应的纹理值表示其中一个交点坐标所对应的像素的颜色值。
步骤S5,基于所述多个用于纹理计算的RGB相机拍摄的多个图像,确定出所述其中一个交点坐标对应的纹理值。
在一些实施例中,可以将所述其中一个交点透视投影到所述多个用于纹理计算的RGB相机拍摄的多个图像中,得到所述多个用于纹理计算的RGB相机观测所述其中一个交点的多个初始纹理值,基于所述多个初始纹理值得到所述其中一个交点坐标对应的纹理值。
在一些实施例中,可以对所述多个初始纹理值分别赋予不同的权重,其中所述最小夹角RGB相机对应的初始纹理值权重最高,所述多个初始纹理值的不同权重的和为1,基于所述多个初始纹理值和所述多个初始纹理值对应的权重,加权求和得到所述其中一个交点坐标对应的纹理值。例如可以通过如下所示的公式(3)来确定所述其中一个交点坐标对应的纹理值,a为取出的最小夹角RGB相机左右两侧RGB相机的个数,ns为中心视点,Aq为第q个视点的权值,函数
Figure SMS_13
表示根据捕捉的第ns+q张图片
Figure SMS_14
和P0在此图片中的二维投影坐标
Figure SMS_15
取出对应的颜色值,i、j、k分别表示OpenCV坐标系中三个坐标轴的单位向量。
Figure SMS_16
在某一虚拟相机的观测下,三维模型交点坐标的纹理和虚拟相机渲染的图像的颜色是相同的,因为在RGB相机采集的过程中,已经记录了真实世界中的光照、模型材质和阴影等因素,所以不需要进一步设置虚拟光源和材质来调整纹理映射的结果。由于是将环境的光照、材质和阴影等因素真实的映射到三维模型上,所以最终显示的内容更加贴近真实,且基于透视投影和权值叠加的计算过程具有很强的鲁棒性。因此RGB相机采集的三维模型交点坐标的纹理值可以直接赋值给三维模型交点坐标对应的子像素,并将所述纹理值作为渲染结果中此像素对应的颜色值。
步骤S6,继续执行所述S2-S5步骤,直至分别确定出所述多个交点坐标对应的多个纹理值。
通过步骤S2-S5,可以生成一个交点坐标的纹理值。在一些实施例中,可以通过GPU多线程来继续执行所述S2-S5步骤生成多个交点坐标对应的多个纹理值。例如可以通过GPU多线程并行执行所述所述S2-S5步骤生成多个交点坐标对应的多个纹理值。每一个GPU线程负责承担一个交点坐标的计算任务,计算过程还使用CUDA(Compute Unified DeviceArchitecture,统一计算设备架构)并行加速,从而达到实时渲染三维模型。图4为本发明提供的GPU多线程连续计算流程的示意图。如图4所示,在开始计算后,先进行参数初始化并进行虚拟相机参数的更新,其中虚拟相机每项参数的更新可以通过键盘鼠标事件来触发,其虚拟相机每项参数可以按照实际需求更新虚拟相机的个数、虚拟相机的观察矩阵、位置、朝向等一切和虚拟相机相关的参数,再启动GPU核函数进行并行计算生成虚拟相机的渲染图(视点图像),如果渲染没有结束,则再继续更新虚拟相机参数,并再启动GPU核函数进行并行计算。所述并行计算包括:设定对应虚拟相机阵列,通过虚拟相机发射渲染光线,基于渲染光线得到多个交点的纹理值,并基于多个交点的纹理值生成渲染图。
步骤S7,基于所述多个交点坐标对应的纹理值确定出所述虚拟相机对应的视点图像。
当渲染光线与三维模型的所有交点的纹理值确定以后,则可以基于所有交点的纹理值得到所述虚拟相机对应的视点图像。
图5为本发明提供的三维光场渲染装置,三维光场渲染装置与上文描述的三维光场渲染方法可相互对应参照。
一种三维光场渲染装置,包括:控制模块51,用于控制虚拟相机发出渲染光线,所述渲染光线与待计算纹理的三维模型相交,并确定出多个交点坐标;确定模块52,用于基于虚拟相机的坐标和所述多个交点坐标中的其中一个交点坐标,确定出虚拟相机发出的对应于所述其中一个交点坐标的一根渲染光线和所述一根渲染光线的方向向量;还用于基于RGB相机阵列中每个RGB相机的坐标和所述其中一个交点坐标,确定出相机方向向量组,所述相机方向向量组包括每个RGB相机到所述其中一个交点坐标的相机方向向量;还用于基于所述一根渲染光线的方向向量和所述相机方向向量组的夹角关系,确定多个用于纹理计算的RGB相机;还用于基于所述多个用于纹理计算的RGB相机拍摄的多个图像,确定出所述其中一个交点坐标对应的纹理值;还用于继续执行所述确定模块的上述步骤,直至分别确定出所述多个交点坐标对应的多个纹理值;
图像模块53,用于基于所述多个交点坐标对应的纹理值确定出所述虚拟相机对应的视点图像。
进一步,根据本发明提供的一种三维光场渲染装置,所述确定模块52还用于:确定出所述相机方向向量组中与所述一根渲染光线的方向向量夹角最小的相机方向向量所对应的最小夹角RGB相机,基于所述最小夹角RGB相机,确定多个用于纹理计算的RGB相机。
进一步,根据本发明提供的一种三维光场渲染装置,所述确定模块52还用于:确定出位于所述最小夹角RGB相机一侧的距离所述最小夹角RGB相机临近的a个RGB相机,确定出位于所述最小夹角RGB相机另一侧的距离所述最小夹角RGB相机临近的a个RGB相机,将所述最小夹角RGB相机、一侧临近的a个RGB相机与所述另一侧临近的a个RGB相机作为多个用于纹理计算的RGB相机:
进一步,根据本发明提供的一种三维光场渲染装置,所述确定模块52还用于:基于公式
Figure SMS_17
确定出所述最小夹角RGB相机,其中ns表示所述最小夹角RGB相机的索引,P0表示所述其中一个交点坐标,
Figure SMS_18
表示所述虚拟相机发出的对应于所述一个交点坐标的一根渲染光线的、指向P0的方向向量,
Figure SMS_19
表示第n个真实相机在三维坐标中的位置,N表示有N个真实相机,
Figure SMS_20
表示求取单位向量的函数。
进一步,根据本发明提供的一种三维光场渲染装置,所述确定模块52还用于:将所述其中一个交点透视投影到所述多个用于纹理计算的RGB相机拍摄的多个图像中,得到所述多个用于纹理计算的RGB相机观测所述其中一个交点得到的多个初始纹理值,基于所述多个初始纹理值得到所述其中一个交点坐标对应的纹理值。
进一步,根据本发明提供的一种三维光场渲染装置,所述确定模块52还用于:对所述多个初始纹理值分别赋予不同的权重,其中所述最小夹角RGB相机对应的初始纹理值权重最高,所述多个初始纹理值的不同权重的和为1,基于所述多个初始纹理值和所述多个初始纹理值对应的权重,加权求和得到所述其中一个交点坐标对应的纹理值。
图6示例了一种电子设备的实体结构示意图,如图6所示,该电子设备可以包括:处理器(processor)610、通信接口(Communications Interface)620、存储器(memory)630和通信总线640,其中,处理器610,通信接口620,存储器630通过通信总线640完成相互间的通信。处理器610可以调用存储器630中的逻辑指令,以执行三维模型渲染方法,该方法包括:S1、控制虚拟相机发出渲染光线,所述渲染光线与待计算纹理的三维模型相交,并确定出多个交点坐标;S2、基于虚拟相机的参数和多个交点坐标中的其中一个交点坐标,确定出虚拟相机发出的对应于所述其中一个交点坐标的一根渲染光线和所述一根渲染光线的方向向量;S3、基于RGB相机阵列中每个RGB相机的坐标和所述其中一个交点坐标,确定出相机方向向量组,所述相机方向向量组包括每个RGB相机到所述其中一个交点坐标的相机方向向量;S4、基于所述一根渲染光线的方向向量和所述相机方向向量组的夹角关系,确定多个用于纹理计算的RGB相机;S5、基于所述多个用于纹理计算的RGB相机拍摄的多个图像,确定出所述其中一个交点坐标对应的纹理值;S6、继续执行所述S2-S5步骤,直至分别确定出所述多个交点坐标对应的多个纹理值;S7、基于所述多个交点坐标对应的多个纹理值确定出所述虚拟相机对应的视点图像。
此外,上述的存储器630中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述各方法所提供的三维模型渲染方法,该方法包括:S1、控制虚拟相机发出渲染光线,所述渲染光线与待计算纹理的三维模型相交,并确定出多个交点坐标;S2、基于虚拟相机的参数和多个交点坐标中的其中一个交点坐标,确定出虚拟相机发出的对应于所述其中一个交点坐标的一根渲染光线和所述一根渲染光线的方向向量;S3、基于RGB相机阵列中每个RGB相机的坐标和所述其中一个交点坐标,确定出相机方向向量组,所述相机方向向量组包括每个RGB相机到所述其中一个交点坐标的相机方向向量;S4、基于所述一根渲染光线的方向向量和所述相机方向向量组的夹角关系,确定多个用于纹理计算的RGB相机;
S5、基于所述多个用于纹理计算的RGB相机拍摄的多个图像,确定出所述其中一个交点坐标对应的纹理值;S6、继续执行所述S2-S5步骤,直至分别确定出所述多个交点坐标对应的多个纹理值;S7、基于所述多个交点坐标对应的多个纹理值确定出所述虚拟相机对应的视点图像。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各方法提供的三维模型渲染方法,该方法包括:S1、控制虚拟相机发出渲染光线,所述渲染光线与待计算纹理的三维模型相交,并确定出多个交点坐标;S2、基于虚拟相机的参数和多个交点坐标中的其中一个交点坐标,确定出虚拟相机发出的对应于所述其中一个交点坐标的一根渲染光线和所述一根渲染光线的方向向量;S3、基于RGB相机阵列中每个RGB相机的坐标和所述其中一个交点坐标,确定出相机方向向量组,所述相机方向向量组包括每个RGB相机到所述其中一个交点坐标的相机方向向量;S4、基于所述一根渲染光线的方向向量和所述相机方向向量组的夹角关系,确定多个用于纹理计算的RGB相机;S5、基于所述多个用于纹理计算的RGB相机拍摄的多个图像,确定出所述其中一个交点坐标对应的纹理值;S6、继续执行所述S2-S5步骤,直至分别确定出所述多个交点坐标对应的多个纹理值;S7、基于所述多个交点坐标对应的多个纹理值确定出所述虚拟相机对应的视点图像。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (10)

1.一种三维模型渲染方法,其特征在于,包括:
S1、控制虚拟相机发出渲染光线,所述渲染光线与待计算纹理的三维模型相交,并确定出多个交点坐标;
S2、基于虚拟相机的参数和所述多个交点坐标中的其中一个交点坐标,确定出虚拟相机发出的对应于所述其中一个交点坐标的一根渲染光线和所述一根渲染光线的方向向量;
S3、基于RGB相机阵列中每个RGB相机的坐标和所述其中一个交点坐标,确定出相机方向向量组,所述相机方向向量组包括每个RGB相机到所述其中一个交点坐标的相机方向向量;
S4、基于所述一根渲染光线的方向向量和所述相机方向向量组的夹角关系,确定多个用于纹理计算的RGB相机;
S5、基于所述多个用于纹理计算的RGB相机拍摄的多个图像,确定出所述其中一个交点坐标对应的纹理值;
S6、继续执行所述S2-S5步骤,直至分别确定出所述多个交点坐标对应的多个纹理值;
S7、基于所述多个交点坐标对应的多个纹理值确定出所述虚拟相机对应的视点图像。
2.根据权利要求1所述的三维模型渲染方法,其特征在于,所述基于一根渲染光线的方向向量和所述相机方向向量组的夹角关系,确定多个用于纹理计算的RGB相机,包括:确定出所述相机方向向量组中与所述一根渲染光线的方向向量夹角最小的相机方向向量所对应的最小夹角RGB相机,基于所述最小夹角RGB相机,确定多个用于纹理计算的RGB相机。
3.根据权利要求2所述的三维模型渲染方法,其特征在于,所述基于所述最小夹角RGB相机,确定多个用于纹理计算的RGB相机,包括:确定出位于所述最小夹角RGB相机一侧的距离所述最小夹角RGB相机临近的a个RGB相机,确定出位于所述最小夹角RGB相机另一侧的距离所述最小夹角RGB相机临近的a个RGB相机,将所述最小夹角RGB相机、一侧临近的a个RGB相机与所述另一侧临近的a个RGB相机作为多个用于纹理计算的RGB相机。
4.根据权利要求2所述的三维模型渲染方法,其特征在于,所述确定出所述相机方向向量组中与所述一根渲染光线的方向向量夹角最小的相机方向向量所对应的最小夹角RGB相机,包括:基于公式
Figure FDA0003965007850000021
确定出所述最小夹角RGB相机,其中ns表示所述最小夹角RGB相机的索引,P0表示所述其中一个交点坐标,
Figure FDA0003965007850000022
表示所述虚拟相机发出的对应于所述一个交点坐标的一根渲染光线的、指向P0的方向向量,
Figure FDA0003965007850000023
表示第n个真实相机在三维坐标中的位置,N表示有N个真实相机,
Figure FDA0003965007850000024
表示求取单位向量的函数。
5.根据权利要求1所述的三维模型渲染方法,其特征在于,所述基于所述多个用于纹理计算的RGB相机拍摄的多个图像,确定出所述其中一个交点坐标对应的纹理值,包括:将所述其中一个交点透视投影到所述多个用于纹理计算的RGB相机拍摄的多个图像中,得到所述多个用于纹理计算的RGB相机观测所述其中一个交点得到的多个初始纹理值,基于所述多个初始纹理值得到所述其中一个交点坐标对应的纹理值。
6.根据权利要求5所述的三维模型渲染方法,其特征在于,所述基于所述多个初始纹理值得到所述其中一个交点坐标对应的纹理值,包括:对所述多个初始纹理值分别赋予不同的权重,其中所述最小夹角RGB相机对应的初始纹理值权重最高,所述多个初始纹理值的不同权重的和为1,基于所述多个初始纹理值和所述多个初始纹理值对应的权重,加权求和得到所述其中一个交点坐标对应的纹理值。
7.一种三维光场渲染装置,其特征在于,包括:
控制模块,用于控制虚拟相机发出渲染光线,所述渲染光线与待计算纹理的三维模型相交,并确定出多个交点坐标;
确定模块,用于基于虚拟相机的参数和所述多个交点坐标中的其中一个交点坐标,确定出虚拟相机发出的对应于所述其中一个交点坐标的一根渲染光线和所述一根渲染光线的方向向量;还用于基于RGB相机阵列中每个RGB相机的坐标和所述其中一个交点坐标,确定出相机方向向量组,所述相机方向向量组包括每个RGB相机到所述其中一个交点坐标的相机方向向量;还用于基于所述一根渲染光线的方向向量和所述相机方向向量组的夹角关系,确定多个用于纹理计算的RGB相机;还用于基于所述多个用于纹理计算的RGB相机拍摄的多个图像,确定出所述其中一个交点坐标对应的纹理值;还用于继续执行所述确定模块的上述步骤,直至分别确定出所述多个交点坐标对应的多个纹理值;
图像模块,用于基于所述多个交点坐标对应的多个纹理值确定出所述虚拟相机对应的视点图像。
8.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至7任一项所述三维模型渲染方法的步骤。
9.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述三维模型渲染方法的步骤。
10.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述三维模型渲染方法的步骤。
CN202211494444.6A 2022-11-25 2022-11-25 一种三维模型渲染方法和装置 Pending CN115830202A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211494444.6A CN115830202A (zh) 2022-11-25 2022-11-25 一种三维模型渲染方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211494444.6A CN115830202A (zh) 2022-11-25 2022-11-25 一种三维模型渲染方法和装置

Publications (1)

Publication Number Publication Date
CN115830202A true CN115830202A (zh) 2023-03-21

Family

ID=85531756

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211494444.6A Pending CN115830202A (zh) 2022-11-25 2022-11-25 一种三维模型渲染方法和装置

Country Status (1)

Country Link
CN (1) CN115830202A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116347003A (zh) * 2023-05-30 2023-06-27 湖南快乐阳光互动娱乐传媒有限公司 一种虚拟灯光实时渲染方法及装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116347003A (zh) * 2023-05-30 2023-06-27 湖南快乐阳光互动娱乐传媒有限公司 一种虚拟灯光实时渲染方法及装置
CN116347003B (zh) * 2023-05-30 2023-08-11 湖南快乐阳光互动娱乐传媒有限公司 一种虚拟灯光实时渲染方法及装置

Similar Documents

Publication Publication Date Title
GB2584176A (en) 3D object reconstruction using photometric mesh representation
US20170186219A1 (en) Method for 360-degree panoramic display, display module and mobile terminal
AU2017279678A1 (en) Fast rendering of quadrics
Lin et al. Deep multi depth panoramas for view synthesis
AU2017279679A1 (en) Fast rendering of quadrics and marking of silhouettes thereof
GB2406252A (en) Generation of texture maps for use in 3D computer graphics
CN110956695A (zh) 信息处理装置、信息处理方法和存储介质
US20230230311A1 (en) Rendering Method and Apparatus, and Device
JP2023532285A (ja) アモーダル中心予測のためのオブジェクト認識ニューラルネットワーク
CN111161398A (zh) 一种图像生成方法、装置、设备及存储介质
CN115187729B (zh) 三维模型生成方法、装置、设备和存储介质
JP2001126085A (ja) 画像生成システム、画像表示システム、画像生成プログラムを記録したコンピュータ読み取り可能な記録媒体および画像生成方法
CN115830202A (zh) 一种三维模型渲染方法和装置
JP6852224B2 (ja) 全視角方向の球体ライトフィールドレンダリング方法
CN116109803B (zh) 信息构建方法、装置、设备及存储介质
CN115841539A (zh) 一种基于可视外壳的三维光场生成方法和装置
CA3155612A1 (en) Method and system for providing at least a portion of content having six degrees of freedom motion
CN115409949A (zh) 模型训练方法、视角图像生成方法、装置、设备及介质
US11120606B1 (en) Systems and methods for image texture uniformization for multiview object capture
CN114419226A (zh) 全景渲染方法、装置、计算机设备和存储介质
JP2023527438A (ja) リアルタイム深度マップを用いたジオメトリ認識拡張現実効果
KR102332920B1 (ko) 6 자유도 가상현실의 렌더링 시스템 및 방법
Hall et al. Networked and multimodal 3d modeling of cities for collaborative virtual environments
CN113223144B (zh) 一种三维显示海量数据的处理方法及系统
CN116109756B (zh) 光线追踪方法、装置、设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination