一种实时渲染方法和移动终端的制作方法

文档序号:10513166阅读:136来源:国知局
一种实时渲染方法和移动终端的制作方法
【专利摘要】本发明提出了一种实时渲染方法和设备,该方法包括:对待渲染的三维户型空间进行切割,生成多个对应单个房间的子空间;为各子空间设置预设个数的光源,并基于各子空间的大小对所述光源的覆盖范围进行调整;针对各子空间,基于调整后的光源对所述子空间进行实时渲染。以此基于空间切割的各子空间来进行分别的渲染,减少了渲染的光照计算复杂度,提升了渲染的效率,以及提高了渲染的真实度,使得房间内物品存在漫反射以及高光的效果。
【专利说明】
一种实时渲染方法和移动终端
技术领域
[0001 ]本发明涉及计算机领域,特别涉及一种实时渲染方法和移动终端。
【背景技术】
[0002]现有家居设计类软件,主要分为两大类:
[0003]第一类是专业的三维建模软件,这类模型的工作过程是:首先通过三维模型的构 建,然后通过离线渲染,渲染出高清的效果图查看房间的效果,其优势是效果图可以达到照 片级别,但是,其工作过程是建立在已有的户型基础上,为表现真实的自然光照,其采用全 局光照模型进行烘培渲染,由于全局光照的光照信息被烘培到光照贴图中,所以每个户型 都对应一份光照贴图数据,所以一旦户型改变,就必须重新计算烘培的光照信息,否则将出 现错误的光照信息,由于全局光照的计算方法既计算直接照明也计算间接照明,当光从光 源被发射出来后,碰到障碍物就反射和折射,经过多次的反射和折射,来模拟光的互动和反 弹等复杂行为。正是由于这种复杂的算法,其占用的内存较高,渲染时间长,因此这类方法 不适用于移动端可编辑的家居设计软件。另外,其在进行染后无法对模型进行实时编辑。
[0004] 第二类是移动端家居设计类软件,这类软件不采用全局光照的计算方法,而采用 不计算光照,使用色彩贴图的方式保持整个场景的亮度,这种方法无层次过度效果。一些方 法结合了平行光的方式给予场景光照,但是因为没有反射光源的计算,只有投射方向范围 内的对象表面才有光源影响,由于房间的空间均为封闭空间平行光只能从窗照进房间,因 此,平行光除模拟光照进入窗口的阴影效果外,对房间墙体、屋内物品均无影响。用这种软 件在构建户型后可直接查看其户型家居的三维效果,但其几乎没有光照运算效果,不能反 映出房间和房间中物品的受光效果。
[0005] 可见,在现有技术中的家居设计类软件中,针对移动端可编辑的三维户型空间,平 行光由窗体进入空间光线不能模拟空间光线过渡效果,还存在效率低下问题,以及在进行 实时渲染时,墙体无漫反射、物品无漫反射、无高光效果的缺陷。

【发明内容】

[0006] 针对现有技术中的缺陷,本发明提出了一种实时渲染方法和移动终端,解决了移 动端可编辑的三维户型空间渲染效率低,在进行实时渲染时墙体漫反射过度平滑、使得房 间内物品存在漫反射以及高光的效果,同时增强了移动端可编辑的三维户型空间实时渲染 的真实度,提高了效率。
[0007]为此,本发明实施例提出了一种实时渲染方法,包括:
[0008] 移动终端对待渲染的三维户型空间进行切割,生成多个对应单个房间的子空间;
[0009] 所述移动终端为各子空间设置预设个数的光源,并基于各子空间的大小对所述光 源的位置以及覆盖范围进行调整;
[0010] 所述移动终端针对各子空间,基于调整后的光源对所述子空间进行实时渲染。 [0011]优选的,所述移动终端对待渲染的三维户型空间进行切割,生成多个对应单个房 间的子空间,具体包括:
[0012] 所述移动终端确定待渲染的三维户型空间;
[0013] 所述移动终端将所述三维户型空间切割为多个房间,生成多个基于单个房间的切 割空间;
[0014] 所述移动终端基于预设的缩放参数对所述切割空间进行缩放,生成对应单个房间 的子空间。
[0015] 优选的,所述光源,具体为:聚光灯。
[0016] 优选的,该方法还包括:
[0017] 所述移动终端判断子空间中是否存在有平行光;
[0018] 若判断结果为是,则基于所述平行光的方向,调整对应所述方向的光源的强度。
[0019] 优选的,所述对存在有平行光内的光源的强度进行调整,具体是根据公式:PN=aPL 来进行的;
[0020] 其中,PN为调整后光源的强度;Pd周整前光源的强度;α为调整系数。
[0021] 本发明实施例还提出了一种移动终端,包括:
[0022] 切割模块,用于对待渲染的三维户型空间进行切割,生成多个对应单个房间的子 空间;
[0023] 第一调整模块,用于为各子空间设置预设个数的光源,并基于各子空间的大小对 所述光源的位置以及覆盖范围进行调整;
[0024] 渲染模块,用于针对各子空间,基于调整后的光源对所述子空间进行实时渲染。 [0025]优选的,所述切割模块,具体用于:
[0026]确定待渲染的三维户型空间;
[0027] 将所述三维户型空间切割为多个房间,生成多个基于单个房间的切割空间;
[0028] 基于预设的缩放参数对所述切割空间进行缩放,生成对应单个房间的子空间。 [0029]优选的,所述光源,具体为:聚光灯。
[0030] 优选的,该设备还包括:第二调整模块,用于判断子空间中是否存在有平行光;
[0031] 若判断结果为是,则基于所述平行光的方向,调整对应所述方向的光源的强度。
[0032] 优选的,所述第二调整模块对存在有平行光内的光源的强度进行调整,具体是根 据公式:ΡΝ=αΙ\来进行的;
[0033]其中,Pn为调整后光源的强度;Pl调整前光源的强度;a为调整系数。
[0034] 与现有技术相比,本发明实施例提出了一种实时渲染方法和移动终端,通过对待 渲染的三维户型空间进行切割,生成多个对应单个房间的子空间;为各子空间设置预设个 数的光源,并基于各子空间的大小对所述光源的覆盖范围进行调整;针对各子空间,基于调 整后的光源对所述子空间进行实时渲染。以此基于空间切割的各子空间来进行分别的实时 渲染,减少了实时渲染的光照计算复杂度,提升了实时渲染的效率,以及提高了实时渲染的 真实度,使得房间内物品存在漫反射以及高光的效果。
【附图说明】
[0035] 图1为本发明实施例提出的一种实时渲染方法的流程示意图;
[0036] 图2为本发明实施例提出的一种空间切割的示意图;
[0037] 图3为本发明实施例提出的一种墙体坐标示意图;
[0038] 图4为本发明实施例提出的一种墙体坐标不意图;
[0039] 图5为本发明实施例提出的一种墙体中心点的示意图;
[0040] 图6为本发明实施例提出的一种光源设置位置的示意图;
[0041 ]图7为本发明实施例提出的一种光源覆盖范围的示意图;
[0042] 图8为本发明实施例提出的一种光源覆盖范围的示意图;
[0043] 图9为本发明实施例提出的一种光源覆盖范围的示意图;
[0044] 图10为本发明实施例提出的两种光照计算复杂度的曲线示意图;
[0045] 图11为本发明实施例提出的一种移动终端的结构示意图。
【具体实施方式】
[0046] 针对现有技术中的缺陷,本发明实施例提出了一种实时渲染方法和移动终端,用 以克服现有技术中的缺陷,为此本发明提出了以下几个具体的实施例:
[0047] 实施例1
[0048] 本发明实施例提出了一种实时渲染方法,如图1所示,该方法包括以下步骤:
[0049] 步骤101、移动终端对待渲染的三维户型空间进行切割,生成多个对应单个房间的 子空间。
[0050] 具体的,待渲染的三维户型空间是可编辑的,例如图2中所述的户型空间包括两个 独立的房间空间(对应图2中的1和2),因此可以将户型空间拆分为两个房间空间。
[0051]而具体的,为保证移动端的处理效率,可以对空间进行缩放,具体的缩放过程可以 如下:
[0052]移动终端确定待渲染的三维户型空间;
[0053]移动终端将所述三维户型空间切割为多个房间,生成多个基于单个房间的切割空 间;
[0054] 移动终端基于预设的缩放参数对所述切割空间进行缩放,生成对应单个房间的子 空间。
[0055] 以下,在一个具体的实施例中,对缩放进行说明,具体的,房间空间由四面墙,一个 天棚,一个地板组成。为保证每个房间空间具有独立性,每个墙体由3个四方面构成分别是 前后面和顶面,组成尺寸可以为长1米,宽1米,高1米,每一个基本墙体单元的中心点如图3 所示,其中整个墙体位于X轴的正半轴,因此墙体的总长度由缩放因子决定。根据缩放矩阵 公式:
[0057]其中:Κχ,Κγ,Κζ为缩放因子;x,y,z为模型点坐标。
[0058]根据公式墙体变换的长宽高方程为:
[0060]其中,可以设置默认大小为(单位为米):
[0062]而具体的,天棚与地板为一个平面所构成,具体的尺寸可以为长1米,宽1米。同理 可以采用缩放的形式进行构建,因此其中心点如图4所示,由此,根据公式墙体变换的长宽 高方程为:
[0064]其中,可以设置默认大小为(单位为米):
[0066] 由此得到每个墙体及天棚地面的中心点,具体如图5所示。其中①点为下侧墙体, 左侧墙体,地板,天棚的中心点。②点为右侧墙体的中心点,③点为上侧墙体中心点,每一个 房间空间均由这样的组合方式构成。
[0067] 由此需要变换的横向长度为W,纵向长度Η,则每个房间的各个墙体的缩放因子如 下:
[0068]左侧墙体,右侧墙体:
[0070]上侧墙体,下侧墙体:
[0074] 步骤102、移动终端为各子空间设置预设个数的光源,并基于各子空间的大小对所 述光源的位置以及覆盖范围进行调整。
[0075] 具体光源可以为:聚光灯。如此,由于聚光灯边缘的衰减性,因此墙面将产生光线 过渡效果,且物体的也同样受到光源的作用,而具体的光源的位置,以及各光源的覆盖范围 的设置则是基于对子空间范围的全覆盖需要而进行设置的。具体的,一般而言,房间的空间 是长方体,因此光源可以设置为均匀分布的,当然也可以设置为别的实施例方式,例如对房 间进行划分区域后,按照各光源的覆盖范围进行分配,总之,只要以保障对房间内空间的全 覆盖,同时重叠率处于预设范围内即可。
[0076] 在一个具体的实施例中,可以设置5个光源,对应的位置如图6所示,其中聚光灯1、 2、3、4的方向均为向Z轴负方向,目的是照亮墙面及空间,而聚光灯5的方向为Z轴正方向,目 的是照亮天棚,其5个光源的放射角度均为90度。
[0077]由此可以根据房间的长宽动态调整五个光源的位置及照射强度。其位置坐标动 态变化公式如下:
[0088] 其中:Xr_,Yr_为房间所在的世界坐标;
[0089] Zroof为天棚的世界高度坐标,为地面的世界高度坐标。
[0090] 随着房间大小的变化,光源的覆盖范围也随之变化,为保证每个光源之间的过渡 柔和,光源的覆盖范围即考虑空间的覆盖性也要考虑光源的重叠性,如图7所示,为聚光灯 1、2、3、4的覆盖范围,刚好全部覆盖住房间,但重叠部分又最小。
[0091] 由此以上每个光源的影响半径计算公式为:
[0093] 其中:Xiight,Yiight为光源的世界坐标;
[0094] Χ1;Υ^房间的四个角点坐标,光源1取左上角点坐标,光源2取右上角点坐标,光源 3取左下角点坐标,光源4取右下角点坐标,光源5取任意一个角点坐标。而具体的,光源5的 覆盖性如图8所示。
[0095] 具体的,每个光源的影响范围是不同的,以上述实施例来进行说明,光源1,光源2, 光源3,光源4影响墙面、地面、房间物品。光源5仅影响天棚,这样的设置的目标性实时渲染 可以有效的减少光的计算,同时保证柔和的光线过渡及绚丽的高光效果。
[0096] 由于房间可能会在墙体上开窗,从而平行光将从窗的位置入射到房间内,而移动 端实时渲染的支持弹射和散射效果需要消耗大量的效率,为使得房间在有平行光进入的情 况更加真实,该方法将对光源的强度根据平行光的方向进行调整,具体的过程如下
[0097] 移动终端判断子空间中是否存在有平行光;
[0098] 若判断结果为是,则基于所述平行光的方向,调整对应所述方向的光源的强度。
[0099] 优选的,所述对存在有平行光内的光源的强度进行调整,具体是根据公式:PN=aPL 来进行的;
[0100]其中,Pn为调整后光源的强度;Pl调整前光源的强度;α为调整系数,α-般取值为 6.5~8.5〇
[0101]而具体的,可以通过如下公式判断窗体是否收到入射平行光:
[0103] 其中:δ为平行光的方向向量;
[0104] g为窗体指向房间内部的垂直于墙体的向量。
[0105] 如果其夹角大于0度小于90度,则说明窗体将有平行光入射。
[0106] 具体的,根据窗体所在墙的属性,当上侧墙开窗则调整光源1、2强度,当左侧墙开 窗则调整1、3光源强度,当右侧墙开窗则调整2、3光源强度,当下侧墙开窗则调整3、4光源强 度。
[0107] 步骤103、移动终端针对各子空间,基于调整后的光源对所述子空间进行实时渲 染。
[0108] 经过上述步骤,将空间切割,且为各个独立的空间分配专属的光源,并以此进行实 时渲染。以此,在多房间的空间中,由于每个墙由双面组成,因此可以完全的区分空间模型 网格和材质,每个房间的材质渲染信息光照只提取其内部的光照信息,对于房间内的物品, 物品放在哪个房间内,其就采集对应房间内的光照信息,这种分割式的渲染方式可以有效 的降低实时渲染成本,如图9所示。其中,左边光源的范围只影响小房间,右光源范围只影响 大房间,虽然光源范围有重合,但是由于小房间的材质不采集右边光源信息,且大房间的材 质不采集左边光源信息,因此相互无影响。
[0109] 从效率函数分析,基于区域分割的光照渲染计算复杂度如下:Co = 21N
[0110] 不基于区域分割的光照渲染计算复杂度如下:& = 24N2
[0111] 由此,其复杂度如图10所示,由图10中的曲线,可以明显的观察出随着户型数量的 增加,不基于区域分割的光照计算复杂度增长速度远大于基于区域分割的光照复杂度,如 此使得像移动终端这种性能不是很强的设备也可以很好地完成光照的实时渲染。
[0112] 实施例2
[0113] 为了对本发明进行进一步地说明,本发明实施例还提出了一种移动终端,如图11 所示,包括:
[0114] 切割模块110,用于对待渲染的三维户型空间进行切割,生成多个对应单个房间 的子空间;
[0115] 第一调整模块111,用于为各子空间设置预设个数的光源,并基于各子空间的大小 对所述光源的位置以及覆盖范围进行调整;
[0116] 渲染模块112,用于针对各子空间,基于调整后的光源对所述子空间进行实时渲 染。
[0117] 具体的,所述切割模块110,具体用于:
[0118] 确定待渲染的三维户型空间;
[0119] 将所述三维户型空间切割为多个房间,生成多个基于单个房间的切割空间;
[0120] 基于预设的缩放参数对所述切割空间进行缩放,生成对应单个房间的子空间。
[0121 ]具体的,所述光源,具体为:聚光灯。
[0122] 具体的,该移动终端还包括:第二调整模块,用于判断子空间中是否存在有平行 光;
[0123] 若判断结果为是,则基于所述平行光的方向,调整对应所述方向的光源的强度。
[0124] 具体的,所述第二调整模块对存在有平行光内的光源的强度进行调整,具体是根 据公式:ΡΝ=αΙ\来进行的;
[0125] 其中,PN为调整后光源的强度;
[0126] PL调整前光源的强度;
[0127] a为调整系数。
[0128] 现有技术相比,本发明实施例提出了一种实时渲染方法和移动终端,通过对待渲 染的三维户型空间进行切割,生成多个对应单个房间的子空间;为各子空间设置预设个数 的光源,并基于各子空间的大小对所述光源的覆盖范围进行调整;针对各子空间,基于调整 后的光源对所述子空间进行实时渲染。以此基于空间切割的各子空间来进行分别的实时渲 染,减少了实时渲染的光照计算复杂度,提升了实时渲染的效率,以及提高了实时渲染的真 实度,使得房间内物品存在漫反射以及高光的效果。
[0129] 本领域技术人员可以理解附图只是一个优选实施场景的示意图,附图中的模块或 流程并不一定是实施本发明所必须的。
[0130] 本领域技术人员可以理解实施场景中的装置中的模块可以按照实施场景描述进 行分布于实施场景的装置中,也可以进行相应变化位于不同于本实施场景的一个或多个装 置中。上述实施场景的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
[0131] 上述本发明序号仅仅为了描述,不代表实施场景的优劣。
[0132] 以上公开的仅为本发明的几个具体实施场景,但是,本发明并非局限于此,任何本 领域的技术人员能思之的变化都应落入本发明的保护范围。
【主权项】
1. 一种实时渲染方法,其特征在于,包括: 移动终端对待渲染的三维户型空间进行切割,生成多个对应单个房间的子空间; 所述移动终端为各子空间设置预设个数的光源,并基于各子空间的大小对所述光源的 位置以及覆盖范围进行调整; 所述移动终端针对各子空间,基于调整后的光源对所述子空间进行实时渲染。2. 如权利要求1所述的方法,其特征在于,所述移动终端对待渲染的三维户型空间进行 切割,生成多个对应单个房间的子空间,具体包括: 所述移动终端确定待渲染的三维户型空间; 所述移动终端将所述三维户型空间切割为多个房间,生成多个基于单个房间的切割空 间; 所述移动终端基于预设的缩放参数对所述切割空间进行缩放,生成对应单个房间的子 空间。3. 如权利要求1所述的方法,其特征在于,所述光源,具体为聚光灯。4. 如权利要求1所述的方法,其特征在于,还包括: 所述移动终端判断子空间中是否存在有平行光; 若判断结果为是,则基于所述平行光的方向,调整对应所述方向的光源的强度。5. 如权利要求4所述的方法,其特征在于,所述对存在有平行光内的光源的强度进行调 整,具体是根据公式:PN=aP L来进行的; 其中,Pn为调整后光源的强度; Pl调整前光源的强度; α为调整系数。6. -种移动终端,其特征在于,包括: 切割模块,用于对待渲染的三维户型空间进行切割,生成多个对应单个房间的子空间; 第一调整模块,用于为各子空间设置预设个数的光源,并基于各子空间的大小对所述 光源的位置以及覆盖范围进行调整; 渲染模块,用于针对各子空间,基于调整后的光源对所述子空间进行实时渲染。7. 如权利要求6所述的移动终端,其特征在于,所述切割模块,具体用于: 确定待渲染的三维户型空间; 将所述三维户型空间切割为多个房间,生成多个基于单个房间的切割空间; 基于预设的缩放参数对所述切割空间进行缩放,生成对应单个房间的子空间。8. 如权利要求6所述的移动终端,其特征在于,所述光源,具体为:聚光灯。9. 如权利要求6所述的移动终端,其特征在于,还包括:第二调整模块,用于判断子空间 中是否存在有平行光; 若判断结果为是,则基于所述平行光的方向,调整对应所述方向的光源的强度。10. 如权利要求9所述的移动终端,其特征在于,所述第二调整模块对存在有平行光内 的光源的强度进行调整,具体是根据公式:ΡΝ=α?\来进行的; 其中,Pn为调整后光源的强度; Pl调整前光源的强度; α为调整系数。
【文档编号】G06T15/20GK105869205SQ201610249182
【公开日】2016年8月17日
【申请日】2016年4月20日
【发明人】曹屹
【申请人】曹屹, 苏芮
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1