CN112288873B - 渲染方法和装置、计算机可读存储介质、电子设备 - Google Patents
渲染方法和装置、计算机可读存储介质、电子设备 Download PDFInfo
- Publication number
- CN112288873B CN112288873B CN202011300794.5A CN202011300794A CN112288873B CN 112288873 B CN112288873 B CN 112288873B CN 202011300794 A CN202011300794 A CN 202011300794A CN 112288873 B CN112288873 B CN 112288873B
- Authority
- CN
- China
- Prior art keywords
- indoor space
- texture map
- view
- offset
- texture
- 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.)
- Active
Links
- 238000009877 rendering Methods 0.000 title claims abstract description 67
- 238000000034 method Methods 0.000 title claims abstract description 59
- 238000013507 mapping Methods 0.000 claims abstract description 132
- 239000013598 vector Substances 0.000 claims description 83
- 238000004590 computer program Methods 0.000 claims description 4
- 230000000694 effects Effects 0.000 description 17
- 238000010586 diagram Methods 0.000 description 16
- 230000003068 static effect Effects 0.000 description 12
- 230000000007 visual effect Effects 0.000 description 10
- 238000012545 processing Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 4
- 238000005286 illumination Methods 0.000 description 4
- 238000007654 immersion Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 3
- 238000004088 simulation Methods 0.000 description 3
- 238000005266 casting Methods 0.000 description 2
- 230000002708 enhancing effect Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000002834 transmittance Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/10—Constructive solid geometry [CSG] using solid primitives, e.g. cylinders, cubes
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/50—Controlling the output signals based on the game progress
- A63F13/52—Controlling the output signals based on the game progress involving aspects of the displayed game scene
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/04—Texture mapping
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/60—Methods for processing data by generating or executing the game program
- A63F2300/66—Methods for processing data by generating or executing the game program for rendering three dimensional images
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Graphics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Geometry (AREA)
- Multimedia (AREA)
- Software Systems (AREA)
- Image Generation (AREA)
Abstract
本发明实施例是关于一种渲染方法和装置、计算机可读存储介质以及电子设备,涉及空间渲染技术领域,该方法包括:确定待渲染的窗口模型以及与所述待渲染的窗口模型对应的室内空间纹理贴图;根据虚拟摄像机的朝向,确定观看所述窗口模型的第一视角方向;基于所述第一视角方向,确定所述窗口模型与所述室内空间纹理贴图之间的坐标映射关系;根据所述坐标映射关系,将所述室内空间纹理贴图中对应的纹理贴图映射至所述窗口模型,以使得在所述窗口模型上模拟显示透过所述窗口模型获得的室内空间视图。本发明增强了渲染的真实性,加快了渲染速度,减少了纹理占用的内存空间,降低了计算资源消耗。
Description
技术领域
本发明实施例涉及空间渲染技术领域,具体而言,涉及一种渲染方法、渲染装置、计算机可读存储介质以及电子设备。
背景技术
游戏中,实时渲染建筑物需要开发人员渲染出真实的窗户效果,其中真实的窗户效果包括玻璃表面、窗帘或者百叶窗以及房间内部空间。当建筑物立面上有许多窗户时,为了使建筑物更加真实,可以在窗户上放置静态照片,也可以用窗帘或者百叶窗完全挡住窗户,还可以选择做3D的室内空间。
但是,窗户上放置静态照片实现出来的效果非常有限,是一种没有沉浸感且非常静态的二维效果。3D的室内空间,会大大增加建筑物的顶点和面数,并且还需要更多的纹理以及烘焙或实时的光照,从而导致额外的纹理贴图内存和计算消耗。
因此,需要提供一种新的渲染方法。
需要说明的是,在上述背景技术部分发明的信息仅用于加强对本发明的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本发明的目的在于提供一种渲染方法、渲染装置、计算机可读存储介质以及电子设备,进而至少在一定程度上克服由于相关技术的限制和缺陷而导致的渲染效果不真实、贴图占用内存大以及计算资源消耗多的问题。
根据本公开的一个方面,提供一种渲染方法,其特征在于,包括:
确定待渲染的窗口模型以及与所述待渲染的窗口模型对应的室内空间纹理贴图;
根据虚拟摄像机的朝向,确定观看所述窗口模型的第一视角方向;
基于所述第一视角方向,确定所述窗口模型与所述室内空间纹理贴图之间的坐标映射关系;
根据所述坐标映射关系,将所述室内空间纹理贴图中对应的纹理贴图映射至所述窗口模型,以使得在所述窗口模型上模拟显示透过所述窗口模型获得的室内空间视图。
在本公开的一种示例性实施例中,所述基于所述第一视角方向,确定所述窗口模型与所述室内空间纹理贴图之间的坐标映射关系,还包括:
获取所述室内空间纹理贴图与所述窗口模型的初始坐标映射关系;
基于所述第一视角方向,确定视角偏移方向和坐标偏移量;
基于所述视角偏移方向以及所述坐标偏移量对所述初始坐标映射关系进行偏移调整,从而获得所述坐标映射关系。
在本公开的一种示例性实施例中,所述获取所述室内空间纹理贴图与所述窗口模型的初始坐标映射关系,包括:
对所述室内空间纹理贴图建立二维纹理坐标系,并将所述窗口模型映射到所述二维纹理坐标系中,以得到所述室内空间纹理贴图与所述窗口模型的初始坐标映射关系。
在本公开的一种示例性实施例中,所述基于所述第一视角方向,确定视角偏移方向和坐标偏移量,包括:
根据所述初始坐标映射关系,确定初始视角方向;
根据所述初始视角方向和所述第一视角方向,确定视角偏移方向;
根据所述视角偏移方向,确定与所述第一视角方向对应的室内空间纹理贴图相对于与所述初始视角方向对应的室内空间纹理贴图的偏移量。
在本公开的一种示例性实施例中,所述渲染方法还包括:
基于所述室内空间纹理贴图的二维纹理坐标系,建立所述室内空间纹理贴图的三维坐标系;
根据所述视角偏移方向和所述三维坐标系,计算与所述第一视角方向对应的室内空间纹理贴图相对于与所述初始视角方向对应的室内空间纹理贴图的偏移量。
在本公开的一种示例性实施例中,所述基于所述室内空间纹理贴图的二维纹理坐标系,建立所述室内空间纹理贴图的三维坐标系,包括:
确定与所述室内空间纹理贴图的二维纹理坐标系有垂直关系的法线向量;
确定与所述室内空间纹理贴图的二维纹理坐标系有平行关系的切线向量;
根据所述法线向量以及所述切线向量,得到所述室内空间纹理贴图的二维纹理坐标系的副法线向量;
根据所述法线向量、所述切线向量以及所述副法线向量构建所述室内空间纹理贴图的三维坐标系。
在本公开的一种示例性实施例中,所述根据所述视角偏移方向和所述三维坐标系,计算与所述第一视角方向对应的室内空间纹理贴图相对于与所述初始视角方向对应的室内空间纹理贴图的偏移量,包括:
根据所述第一视角方向,确定所述第一视角方向在水平方向上的第一视角向量;
计算所述第一视角向量与所述三维坐标系的切线向量之间的第一点积结果,并基于所述第一点积结果,得到所述室内空间纹理贴图在水平方向上的偏移量。
在本公开的一种示例性实施例中,所述根据所述视角偏移方向和所述三维坐标系,计算与所述第一视角方向对应的室内空间纹理贴图相对于与所述初始视角方向对应的室内空间纹理贴图的偏移量,还包括:
根据所述第一视角方向,确定所述第一视角方向在竖直方向上的第二视角向量;
计算所述第二视角向量与所述三维坐标系的副法线向量之间的第二点积结果,并基于所述第二点积结果,得到所述室内空间纹理贴图在竖直方向上的偏移量。
根据本公开的一个方面,提供一种渲染装置,用于对虚拟场景中的窗口模型进行渲染处理,其特征在于,包括:
空间纹理贴图确定模块,用于确定待渲染的窗口模型以及与所述待渲染的窗口模型对应的室内空间纹理贴图;
视角方向确定模块,用于根据虚拟摄像机的朝向,确定观看所述窗口模型的第一视角方向;
映射关系确定模块,用于基于所述第一视角方向,确定所述窗口模型与所述室内空间纹理贴图之间的坐标映射关系;
纹理贴图映射模块,用于根据所述坐标映射关系,将所述室内空间纹理贴图中对应的纹理贴图映射至所述窗口模型,以使得在所述窗口模型上模拟显示透过所述窗口模型获得的室内空间视图。
根据本公开的一个方面,提供一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现上述任意一项所述的渲染方法。
根据本公开的一个方面,提供一种电子设备,其特征在于,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行上述任意一项所述的视差渲染方法。
本发明实施例提供的一种渲染方法,一方面确定待渲染的窗口模型以及与所述待渲染的窗口模型对应的室内空间纹理贴图;根据虚拟摄像机的朝向,确定观看所述窗口模型的第一视角方向;基于所述第一视角方向,确定所述窗口模型与所述室内空间纹理贴图之间的坐标映射关系;根据所述坐标映射关系,将所述室内空间纹理贴图中对应的纹理贴图映射至所述窗口模型,以使得在所述窗口模型上模拟显示透过所述窗口模型获得的室内空间视图,由于在渲染过程中只使用了一个空间纹理贴图,加快了渲染速度,减少了纹理占用的内存空间,降低了计算资源消耗;另一方面,根据视角方向,将纹理贴图映射到窗口模型中,以使得通过窗口模型上就可以看到室内空间视图,渲染效果真实,具有沉浸感。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1A~图1C示意性示出纹理映射的场景示意图;图1A为默认状态下的3D模型,图1B为错误的纹理坐标映射后的3D模型,图1C为正确的纹理坐标映射后的3D模型。
图2示意性示出3D室内空间的场景示意图。
图3A~图3C示意性示出静态纹理的场景示意图;图3A为外立面的3D模型,图3B为窗户纹理,图3C为将窗户纹理映射到3D模型的效果图。
图4示意性示出着色器的应用场景图。
图5示意性示出使用空间贴图#1的效果示意图。
图6示意性示出使用空间贴图#2的效果示意图。
图7示意性示出根据本发明示例实施例的一种渲染方法的流程图。
图8A、8B示意性示出根据本发明示例实施例的一种纹理贴图的示意图;图8A为静态2D纹理贴图,图8B为待渲染的窗口模型对应的室内空间的纹理贴图。
图9示意性示出根据本发明实施例的一种根据视角方向确定窗口模型与室内空间纹理贴图之间的坐标映射关系。
图10A、10B示意性示出根据本发明示例实施例的一种二维纹理坐标映射的示意图;图10A为二维纹理坐标映射到整个室内空间纹理贴图的示意图,图10B为二维纹理坐标只映射一部分到室内空间纹理贴图的示意图。
图11A~图11D示意性示出根据本发明实施例的一种与正视方向对应的其他位置得到的空间场景示意图;图11A为基于与正视方向对应的右侧位置得到的空间场景,图11B为基于与正视方向对应的左侧位置得到的空间场景,图11C为基于与正视方向对应的上侧位置得到的空间场景,图11D为基于与正视方向对应的下侧位置得到的空间场景。
图12示意性示出根据本发明实施例的一种确定二维纹理坐标偏移量的方法框图。
图13示意性示出根据本发明实施例的一种构建室内空间纹理贴图的三维坐标系的示意图。
图14示意性示出根据本发明实施例的一种计算U轴上的偏移量的场景示意图。
图15示意性示出根据本发明实施例的一种计算V轴上的偏移量的场景示意图。
图16示意性示出根据本发明实施例的一种根据偏移量对窗口纹理坐标进行偏移,以实现对所述天花板、地板以及墙壁的渲染的场景示意图。
图17示意性示出根据本发明实施例的一种提升待渲染空间的视觉效果的场景示意图。
图18示意性示出根据本发明实施例的一种制作待渲染空间窗户所需的对象示意图。
图19示意性示出根据本发明实施例的一种提升渲染效果的纹理坐标映射场景图。
图20示意性示出根据本发明示例实施例的一种渲染装置的框图。
图21示意性示出根据本发明示例实施例的一种用于实现上述渲染方法的电子设备。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本发明将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本发明的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本发明的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知技术方案以避免喧宾夺主而使得本发明的各方面变得模糊。
此外,附图仅为本发明的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
在实时渲染中,通常会采用纹理贴图来给3D模型加上无法用几何体表现的高频细节,在常规的渲染管线中因为高频细节会给图形管道和内存带宽增加很多额外的工作量,因此,无法将3D模型做出高频细节。其中,3D模型是指物体表面在三个维度的数学表现。表1体现了处理的顶点数量与导致的性能之间的间接比例关系,其中,顶点为3D空间中的一个点,包含关于法线方向、纹理坐标和其他网格属性的信息。网格是一组用来描述3D模型的顶点数据和三角面指标的术语,其中,三角面是由一组三个顶点组成的一个3D面。
表1
表1中的数据在Unity 2019.3.3f1版本中使用通用渲染管道(URP)7.2版本测试的,渲染了每个3D模型的100,000(1e5)个副本。表1的数据表明了,要想达到没有卡顿、合理的帧率(30帧/秒以上),在单个模型中实时渲染数百万个顶点是不可行的,其中,帧率为每秒显示的图像(帧)数量。
纹理映射,是一种将2D图像投影到3D模型上的技术,该过程要求3D模型具有可创建3D模型的2D表现的纹理坐标,其中,纹理用于存储高频细节和表面信息,例如:颜色、透光度和光照信息等。参照图1A~图1C所示,图1A为默认状态下的3D模型,图1B为错误的纹理坐标映射后的3D模型,图1C为正确的纹理坐标映射后的3D模型。
Unity 3D,Unreal,CryEngine,Lumberyard等游戏引擎都没有在引擎内提供用于渲染窗户中室内物体的解决方案。技术人员或者可以使用建模软件来制作需要大量渲染且内存很大的3D模型,或者可以在窗户表面上放平的二维纹理贴图。针对二维纹理贴图,最佳的解决方案是通过shader(着色器)模拟显示室内空间,让室内空间既有立体感又无需增加任何模型,有助于优化内存和性能。
制作3D室内空间模型,需要技术人员仔细规划室内房间,以确保模型不会有重叠或者相交的地方,且模型需要展开创建纹理坐标、纹理贴图和光照。如果要创建大量的变体,技术人员则需要对各房间进行建模并将其放置在建筑模型内,具体可以参考图2所示。但是,用面和顶点创建3D室内房间模型会给图形处理管线增加很多额外的负担,除此之外,城市办公楼和公寓楼通常都有很多窗户,因此也需要创建的很多的室内房间,每个房间都需要制作模型、纹理和光照,从而导致额外的贴图内存和工作量。对于低端硬件设备,例如手机来说,这种方案并不可行。
为了解决上述问题,目前有三种已知的方法可以通过着色器模拟显示室内空间,分别为静态纹理、室内空间贴图#1以及室内空间贴图#2。其中:
静态纹理:通常做法是,在窗户模型上放置静态纹理贴图,可选地,静态纹理贴图为照片,照片可以是从街道某一固定角度(例如,沿水平面偏斜预设角度)拍摄的窗户内部的空间。当采用静态纹理时,从不同角度看向窗户,都不会有任何变化,即呈现效果是静态不变的。因此,技术人员往往会采用窗帘或者百叶窗遮挡住整个房间内部,这样做出来的效果并不真实。参照图3A~图3C所示,图3A为外立面的3D模型,图3B为窗户纹理,图3C为将窗户纹理映射到3D模型的效果图。
室内空间贴图#1是一种基于着色器的室内空间映射技术,原理是在不需要任何几何体的情况下,定义一个虚拟三维室内空间,可以基于视角(即摄像机从哪个方向看窗户)来确定天花板、地板或墙壁等各个室内空间所在面是否可见。通过在3D空间中模拟显示墙壁、地板和天花板等场景,将3D空间细分为以房间为单位。在着色器中,可以通过在像素上进行光线投射运算来确定摄像机可以看到哪个3D位置,参考图4所示。着色器会将该像素的位置向下取整到最近的面并将使用结果坐标来进行纹理查找,其中,着色器是运行在显卡上的一个程序,可以对应用对象进行逐像素的计算。这种解决方案需要着色器执行多次光线投射的运算,并且,需要使用3-5种单独的纹理映射到虚拟室内空间的地板、天花板和一个或多个墙壁上,其产生的效果是动态的,能够打造出真实的、有沉浸感的3D室内效果,参考图5所示。
室内空间贴图#2与室内空间贴图#1技术相似,但不是给每个面使用单独的纹理,而是使用立方体贴图纹理来代替,其中,立方体贴图由6个纹理组成,能够360度捕捉环境,参考图6所示。使用立方体贴图能够简化着色器在还原哪些部分应该展示出来时对纹理的读取和计算,但由于立方体贴图总是包含有6个纹理,会占用更多的内存,因此能够创建的变体数减少。
室内空间贴图#1和室内空间贴图#2都可以产生动态且逼真的结果,但代价是每个房间需要用到3-6个额外的纹理贴图。由于需要额外的纹理贴图,限制了可以存在的不同室内空间类型的数量,并且计算哪些面可以被摄像机看到也是一笔较大的消耗,屏幕上窗户越多,消耗越大,最终甚至会超过渲染3D室内空间的消耗。
基于上述一个或多个问题,本示例实施方式中首先提供了一种渲染方法,该方法可以运行于服务器、服务器集群或云服务器等;当然,本领域技术人员也可以根据需求在其他平台运行本发明的方法,本示例性实施例中对此不做特殊限定。参考图7所示,该渲染方法可以包括以下步骤:
步骤S710.确定待渲染的窗口模型以及与所述待渲染的窗口模型对应的室内空间纹理贴图;
步骤S720.根据虚拟摄像机的朝向,确定观看所述窗口模型的第一视角方向;
步骤S730.基于所述第一视角方向,确定所述窗口模型与所述室内空间纹理贴图之间的坐标映射关系;
步骤S740.根据所述坐标映射关系,将所述室内空间纹理贴图中对应的纹理贴图映射至所述窗口模型,以使得在所述窗口模型上模拟显示透过所述窗口模型获得的室内空间视图。
上述渲染方法,一方面确定待渲染的窗口模型以及与所述待渲染的窗口模型对应的室内空间纹理贴图;根据虚拟摄像机的朝向,确定观看所述窗口模型的第一视角方向;基于所述第一视角方向,确定所述窗口模型与所述室内空间纹理贴图之间的坐标映射关系;根据所述坐标映射关系,将所述室内空间纹理贴图中对应的纹理贴图映射至所述窗口模型,以使得在所述窗口模型上模拟显示透过所述窗口模型获得的室内空间视图,由于在渲染过程中只使用了一个空间纹理贴图,加快了渲染速度,减少了纹理占用的内存空间,降低了计算资源消耗;另一方面,根据视角方向,将纹理贴图映射到窗口模型中,以使得通过窗口模型上就可以看到室内空间视图,渲染效果真实,具有沉浸感。
以下,对步骤S710-步骤S740进行解释以及说明。
在步骤S710中,确定待渲染的窗口模型以及与所述待渲染的窗口模型对应的室内空间纹理贴图。
在本示例实施例中,窗口模型为虚拟摄像机得到室内空间视图时所通过的模型,其中,窗口可以为通用的窗口,也可以为洞口视角查看时的洞口,还可以为门口视角的查看时的门框,在本示例实施例中对窗口不做具体限定;窗口模型的形状可以为规则的几何形,也可以为不规则的几何形,在本示例实施例中,对窗口模型的形状不做特殊限定。待渲染的窗口模型对应的室内空间纹理贴图包括待渲染空间的天花板、地板以及墙壁,为了更方便的在窗口模型中模拟显示透过窗口模型获得的室内空间视图,优选地,天花板、地板以及墙壁相交于待渲染的窗口模型对应的室内空间纹理贴图的的中间位置。
在本示例实施例中,待渲染空间是由三个相互垂直的向量(X,Y,Z)组成的空间坐标。空间纹理是在实时渲染中,投射到3D模型表面的一组二维纹理像素,其中,3D模型是物体表面在三个维度的数学表现。待渲染空间的空间纹理相比于静态2D纹理贴图,具有视图或者深度,参考图8A、图8B所示,其中图8A为静态2D纹理贴图,图8B为待渲染的窗口模型对应的室内空间的纹理贴图。
在步骤S720中,根据虚拟摄像机的朝向,确定观看所述窗口模型的第一视角方向。
在本示例实施例中,虚拟摄像机的朝向即为用户透过窗口模型观看的方向,根据虚拟摄像机的朝向,即可确定观看窗口模型的视角方向。
在步骤S730中,基于所述第一视角方向,确定所述窗口模型与所述室内空间纹理贴图之间的坐标映射关系。
在本示例实施例中,参考图9所示,基于所述第一视角方向,确定所述窗口模型与所述室内空间纹理贴图之间的坐标映射关系,还包括:
S910.获取所述室内空间纹理贴图与所述窗口模型的初始坐标映射关系;
S920.基于所述第一视角方向,确定视角偏移方向和坐标偏移量;
S930.基于所述视角偏移方向以及所述坐标偏移量对所述初始坐标映射关系进行偏移调整,从而获得所述坐标映射关系。
在步骤S910中,获取所述室内空间纹理贴图与所述窗口模型的初始坐标映射关系。
在本示例实施例中,所述获取所述室内空间纹理贴图与所述窗口模型的初始坐标映射关系,包括:
对所述室内空间纹理贴图建立二维纹理坐标系,并将所述窗口模型映射到所述二维纹理坐标系中,以得到所述室内空间纹理贴图与所述窗口模型的初始坐标映射关系。
其中,参考图10A、图10B所示,图10A为二维纹理坐标映射到整个室内空间纹理贴图上,图10B为二维纹理坐标只映射一部分到室内空间纹理贴图上。二维纹理坐标只存在X(U)和Y(V)两个维度,建立二维纹理坐标系时,坐标只占室内空间纹理贴图的一部分,即,只对室内空间纹理贴图的一部分建立纹理坐标系,优选地,二维纹理坐标系位于室内空间纹理贴图的中心位置,本示例实施例不对此做特殊限定,本领域技术人员可以根据需要在纹理贴图的不同部分创建二维坐标系。优选地,当二维坐标系位于室内空间纹理贴图的中心位置时,窗口模型模拟展示的是正视窗口模型时看到的室内空间场景。当虚拟摄像机的方向发生变化时,着色器会根据虚拟视角偏移二维纹理坐标,从而展示室内空间的不同空间场景。
在一种可选的实施用例中,参考图11A-图11D所示,分别为:基于与正视方向对应的右侧位置得到的空间场景为待渲染空间中左侧的墙;基于与正视方向对应的左侧位置得到的空间场景为待渲染空间中右边的墙;基于与正视方向对应的上侧位置得到的空间场景为待渲染空间中的地板;基于与正视方向对应的下侧位置得到的空间场景为待渲染空间的天花板。可以得到,当虚拟摄像机的视角发生变化时,会得到不同视角下的空间场景,且待渲染空间中可视部分的偏移只是窗口纹理坐标的左、右、下、上的偏移。
在步骤S920中,基于所述第一视角方向,确定视角偏移方向和坐标偏移量。
在本示例实施例中,基于所述第一视角方向,确定视角偏移方向和坐标偏移量,包括:
根据所述初始坐标映射关系,确定初始视角方向;
根据所述初始视角方向和所述第一视角方向,确定视角偏移方向;
根据所述视角偏移方向,确定与所述第一视角方向对应的室内空间纹理贴图相对于与所述初始视角方向对应的室内空间纹理贴图的偏移量。
其中,初始视角方向为二维纹理坐标系位于室内空间纹理贴图中心位置时,正视窗口模型时的方向。
具体的,当虚拟摄像机的朝向发生改变时,根据正视窗口时的方向与当前虚拟摄像机的朝向,确定虚拟摄像机视角偏移方向,根据虚拟摄像机的视角偏移方向,确定通过当前虚拟摄像机得到的室内空间场景与正视窗口模型时得到的室内空间场景之间的偏移量。
其中,参照图12所示,室内空间纹理坐标的偏移量还可以包括:
步骤S1210.基于所述室内空间纹理贴图的二维纹理坐标系,建立所述室内空间纹理贴图的三维坐标系;
步骤S1220.根据所述视角偏移方向和所述三维坐标系,计算与所述第一视角方向对应的室内空间纹理贴图相对于与所述初始视角方向对应的室内空间纹理贴图的偏移量。
在步骤S1210中,基于所述室内空间纹理贴图的二维纹理坐标系,建立所述室内空间纹理贴图的三维坐标系。
在本示例实施例中,基于所述室内空间纹理贴图的二维纹理坐标系,建立所述室内空间纹理贴图的三维坐标系,包括:
确定与所述室内空间纹理贴图的二维纹理坐标系有垂直关系的法线向量;
确定与所述室内空间纹理贴图的二维纹理坐标系有平行关系的切线向量;
根据所述法线向量以及所述切线向量,得到所述室内空间纹理贴图的二维纹理坐标系的副法线向量;
根据所述法线向量、所述切线向量以及所述副法线向量构建所述室内空间纹理贴图的三维坐标系。
具体的,参照图13所示,首先,确定与窗口纹理坐标表面垂直的法线向量N;其次,确定与窗口纹理坐标U向量具有平行关系的切线向量T;再次,计算法线向量N和切线向量T之间的点积,根据法线向量N和切线向量T之间的点积计算目标坐标系的副法线向量B;最后,根据法线向量N、切线向量T、副法线向量B以及待渲染空间对应的虚拟相机视角的三维坐标构建目标坐标系。
在步骤S1220中,根据所述视角偏移方向和所述三维坐标系,计算与所述第一视角方向对应的室内空间纹理贴图相对于与所述初始视角方向对应的室内空间纹理贴图的偏移量。
在本示例实施例中,根据所述视角偏移方向和所述三维坐标系,计算与所述第一视角方向对应的室内空间纹理贴图相对于与所述初始视角方向对应的室内空间纹理贴图的偏移量,包括:
根据所述第一视角方向,确定所述第一视角方向在水平方向上的第一视角向量;
计算所述第一视角向量与所述三维坐标系的切线向量之间的第一点积结果,并基于所述第一点积结果,得到所述室内空间纹理贴图在水平方向上的偏移量。
具体的,参考图14所示,窗口纹理坐标在水平方向上的第一偏移量即为二维纹理坐标在U轴方向上的偏移量。首先,根据虚拟摄像机的视角方向,确定虚拟摄像机视角方向在水平方向上的视角向量C.XZ;然后,根据视角向量C.XZ和三维坐标系的切线向量T.XZ,得到两个向量之间的第一点积结果;最后,根据第一点积结果和点积结果因数的乘积,得到二维纹理坐标在水平方向上的第一偏移量。计算二维纹理坐标在U轴上的偏移量时,不需考虑二维坐标系的V轴。水平方向上偏移量的计算公式为:floatu=dot(C.xz,T.xz)*_ScaleU,其中dot()用来计算向量之间的点积,dot(C.xz,T.xz)的值属于[-1.0,+1.0],_ScaleU为点积结果因数,用于匹配二维纹理坐标和待渲染空间的空间纹理贴图的大小,保证二维纹理坐标的偏移永远在空间纹理贴图内。
二维纹理坐标的偏移量包括在水平方向上的偏移量以及在竖直方向上的偏移量。其中,所述根据所述视角偏移方向和所述三维坐标系,计算与所述第一视角方向对应的室内空间纹理贴图相对于与所述初始视角方向对应的室内空间纹理贴图的偏移量,还包括:
根据所述第一视角方向,确定所述第一视角方向在竖直方向上的第二视角向量;
计算所述第二视角向量与所述三维坐标系的副法线向量之间的第二点积结果,并基于所述第二点积结果,得到所述室内空间纹理贴图在竖直方向上的偏移量。
具体的,参考图15所示,窗口纹理坐标在竖直方向上的偏移量即为二维纹理坐标在V轴方向上的偏移量。首先,根据虚拟摄像机的视角方向,确定虚拟摄像机视角方向在竖直方向上的视角向量C.Y;然后,根据视角向量C.Y和三维坐标系中垂直向上的向量U,得到两个向量之间的第二点积结果,还可以计算虚拟相机视角向量C.Y和三维坐标系的副法线向量B之间的点积,其中向量U与副法线向量B处于平行位置;最后,根据第二点积结果和点积结果因数的乘积,得到二维纹理坐标在竖直方向上的偏移量。其中,竖直方向上偏移量的具体计算公式为:float v=dot(C.Y,1.0)*_ScaleV,其中dot()用来计算向量之间的点积,dot(C.Y,1.0)的值属于[-1.0,+1.0],1.0为与Y轴方向平行的长度为1的向量,_ScaleV为点积结果因数,用于匹配二维纹理坐标和室内空间纹理贴图的大小,保证二维纹理坐标的偏移永远在室内空间纹理贴图内。
通过构建室内空间纹理贴图的三维坐标系,并基于该三维坐标系确定空间纹理贴图在不同方向的偏移量,提高了空间纹理贴图偏移的准确率。
在步骤S930中,基于所述视角偏移方向以及所述坐标偏移量对所述初始坐标映射关系进行偏移调整,从而获得所述坐标映射关系。
在本示例实施例中,基于虚拟摄像机的视角方向,以及相对于正视时,虚拟摄像机相视角发生偏移后产生的二维纹理坐标在水平方向上的偏移量以及竖直方向上的偏移量,对坐标映射关系进行调整。
在获取室内空间纹理贴图与窗口模型的初始坐标映射关系的基础上,根据视角的偏移方向对空间纹理贴图的坐标映射关系进行偏移,提高了空间纹理贴图偏移的效率。
在步骤S740中,根据所述坐标映射关系,将所述室内空间纹理贴图中对应的纹理贴图映射至所述窗口模型,以使得在所述窗口模型上模拟显示透过所述窗口模型获得的室内空间视图。
在本示例实施例中,参照图16所示,当虚拟摄像机的视角方向发生改变时,着色器根据计算虚拟摄像机的视角方向以及随着视角的变化二维纹理坐标在水平方向上以及竖直方向上的偏移量对二维纹理坐标进行映射。
此外,也可以将多个待渲染空间的空间纹理贴图打包到一个纹理贴图中,既节省了内存,又能提高着色器的性能。以图17为例,当要提升待渲染空间的视觉效果时,可以将窗帘或者百叶窗的纹理贴图直接映射到窗户模型上,在图17中1为窗户模型,2为包含窗帘或者百叶窗纹理贴图,3为待渲染空间的空间纹理贴图。
具体的,参考图18所示,制作待渲染空间的窗户需要两个对象,包括窗框和窗户模型。上述窗户模型需要两组纹理贴图来实现带百叶窗或者窗帘图层的视觉效果,包含待渲染空间的室内空间纹理贴图和百叶窗或者窗帘的纹理贴图。参照图19所示,第一组纹理坐标UV1为待渲染空间的室内空间纹理贴图的二维坐标,将其映射到室内空间纹理贴图的中心位置。第二组纹理坐标UV2为百叶窗或者窗帘的纹理坐标,将其直接映射到百叶窗或者窗帘的纹理贴图上,不需留额外的空间。
此外,需要补充说明的是,本发明示例实施例提供的渲染方法,可以支持各种不同的房间类型,不同形状以及不同大小的窗户,从而使建筑物的外墙看起来独特且丰富。举例而言,可以将建筑物需要体现的窗户都打包到一个纹理贴图中,通过将该纹理贴图映射到与建筑物对应的建筑物模型中,以实现对建筑物上不同类型、不同大小的窗户的模拟显示。
本发明示例实施例提供的渲染方法至少具有以下优点:
一方面,由于在渲染过程中只使用了一个空间纹理贴图,加快了渲染速度,减少了纹理占用的内存空间,降低了计算资源消耗;
另一方面,根据视角方向,将纹理贴图映射到窗口模型中,以使得通过窗口模型上就可以看到室内空间视图,渲染效果真实,具有沉浸感;
再一方面,可以将多个房间组合放在一个纹理集上,且纹理坐标的映射不受正方形(1:1)贴图格式的限制,可以用最合适窗户的任何矩形形状。本发明示例实施例还提供了一种渲染装置,参考图20示,包括:
空间纹理贴图确定模块2010,用于确定待渲染的窗口模型以及与所述待渲染的窗口模型对应的室内空间纹理贴图;
视角方向确定模块2020,用于根据虚拟摄像机的朝向,确定观看所述窗口模型的第一视角方向;
映射关系确定模块2030,用于基于所述第一视角方向,确定所述窗口模型与所述室内空间纹理贴图之间的坐标映射关系;
纹理贴图映射模块2040,用于根据所述坐标映射关系,将所述室内空间纹理贴图中对应的纹理贴图映射至所述窗口模型,以使得在所述窗口模型上模拟显示透过所述窗口模型获得的室内空间视图。
在本公开的一种示例性实施例中,所述基于所述第一视角方向,确定所述窗口模型与所述室内空间纹理贴图之间的坐标映射关系,还包括:
获取所述室内空间纹理贴图与所述窗口模型的初始坐标映射关系;
基于所述第一视角方向,确定视角偏移方向和坐标偏移量;
基于所述视角偏移方向以及所述坐标偏移量对所述初始坐标映射关系进行偏移调整,从而获得所述坐标映射关系。
在本公开的一种示例性实施例中,所述获取所述室内空间纹理贴图与所述窗口模型的初始坐标映射关系,包括:
对所述室内空间纹理贴图建立二维纹理坐标系,并将所述窗口模型映射到所述二维纹理坐标系中,以得到所述室内空间纹理贴图与所述窗口模型的初始坐标映射关系。
在本公开的一种示例性实施例中,所述基于所述第一视角方向,确定视角偏移方向和坐标偏移量,包括:
根据所述初始坐标映射关系,确定初始视角方向;
根据所述初始视角方向和所述第一视角方向,确定视角偏移方向;
根据所述视角偏移方向,确定与所述第一视角方向对应的室内空间纹理贴图相对于与所述初始视角方向对应的室内空间纹理贴图的偏移量。
在本公开的一种示例性实施例中,所述渲染方法还包括:
基于所述室内空间纹理贴图的二维纹理坐标系,建立所述室内空间纹理贴图的三维坐标系;
根据所述视角偏移方向和所述三维坐标系,计算与所述第一视角方向对应的室内空间纹理贴图相对于与所述初始视角方向对应的室内空间纹理贴图的偏移量。
在本公开的一种示例性实施例中,所述基于所述室内空间纹理贴图的二维纹理坐标系,建立所述室内空间纹理贴图的三维坐标系,包括:
确定与所述室内空间纹理贴图的二维纹理坐标系有垂直关系的法线向量;
确定与所述室内空间纹理贴图的二维纹理坐标系有平行关系的切线向量;
根据所述法线向量以及所述切线向量,得到所述室内空间纹理贴图的二维纹理坐标系的副法线向量;
根据所述法线向量、所述切线向量以及所述副法线向量构建所述室内空间纹理贴图的三维坐标系。
在本公开的一种示例性实施例中,所述根据所述视角偏移方向和所述三维坐标系,计算与所述第一视角方向对应的室内空间纹理贴图相对于与所述初始视角方向对应的室内空间纹理贴图的偏移量,包括:
根据所述第一视角方向,确定所述第一视角方向在水平方向上的第一视角向量;
计算所述第一视角向量与所述三维坐标系的切线向量之间的第一点积结果,并基于所述第一点积结果,得到所述室内空间纹理贴图在水平方向上的偏移量。
在本公开的一种示例性实施例中,所述根据所述视角偏移方向和所述三维坐标系,计算与所述第一视角方向对应的室内空间纹理贴图相对于与所述初始视角方向对应的室内空间纹理贴图的偏移量,还包括:
根据所述第一视角方向,确定所述第一视角方向在竖直方向上的第二视角向量;
计算所述第二视角向量与所述三维坐标系的副法线向量之间的第二点积结果,并基于所述第二点积结果,得到所述室内空间纹理贴图在竖直方向上的偏移量。
上述渲染装置中各模块的具体细节已经在对应的渲染方法中进行了详细的描述,因此此处不再赘述。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
此外,尽管在附图中以特定顺序描述了本发明中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
在本发明的示例性实施例中,还提供了一种能够实现上述方法的电子设备。
所属技术领域的技术人员能够理解,本发明的各个方面可以实现为***、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“***”。
下面参照图21来描述根据本发明的这种实施方式的电子设备2100。图21显示的电子设备2100仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图21所示,电子设备2100以通用计算设备的形式表现。电子设备2100的组件可以包括但不限于:上述至少一个处理单元2110、上述至少一个存储单元2120、连接不同***组件(包括存储单元2120和处理单元2110)的总线2130以及显示单元2140。
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元2110执行,使得所述处理单元2110执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的步骤。例如,所述处理单元2110可以执行如图7中所示的步骤S710:确定待渲染的窗口模型以及与所述待渲染的窗口模型对应的室内空间纹理贴图;步骤S720:根据虚拟摄像机的朝向,确定观看所述窗口模型的第一视角方向;步骤S730:基于所述第一视角方向,确定所述窗口模型与所述室内空间纹理贴图之间的坐标映射关系;步骤S740:根据所述坐标映射关系,将所述室内空间纹理贴图中对应的纹理贴图映射至所述窗口模型,以使得在所述窗口模型上模拟显示透过所述窗口模型获得的室内空间视图。
存储单元2120可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)21201和/或高速缓存存储单元21202,还可以进一步包括只读存储单元(ROM)21203。
存储单元2120还可以包括具有一组(至少一个)程序模块21205的程序/实用工具21204,这样的程序模块21205包括但不限于:操作***、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线2130可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、***总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备2100也可以与一个或多个外部设备2200(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备2100交互的设备通信,和/或与使得该电子设备2100能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口2150进行。并且,电子设备2100还可以通过网络适配器2160与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器2160通过总线2130与电子设备2100的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备2100使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID***、磁带驱动器以及数据备份存储***等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本发明实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本发明实施方式的方法。
在本发明的示例性实施例中,还提供了一种计算机可读存储介质,其上存储有能够实现本说明书上述方法的程序产品。在一些可能的实施方式中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的步骤。
根据本发明的实施方式的用于实现上述方法的程序产品,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
此外,上述附图仅是根据本发明示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
本领域技术人员在考虑说明书及实践这里发明的发明后,将容易想到本发明的其他实施例。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未发明的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由权利要求指出。
Claims (11)
1.一种渲染方法,用于对虚拟场景中的窗口模型进行渲染处理,其特征在于,包括:
确定待渲染的窗口模型以及与所述待渲染的窗口模型对应的室内空间纹理贴图;其中,所述室内空间纹理贴图是根据待渲染空间的天花板、地板以及墙壁生成的具有深度的室内空间视图;所述待渲染空间中左侧的墙壁是基于与正视方向对应的右侧位置得到的室内空间场景,所述待渲染空间中右侧的墙壁是基于与正视方向对应的左侧位置得到的室内空间场景,所述待渲染空间中的地板是基于与正视方向对应的上侧位置得到的室内空间场景,所述待渲染空间的天花板是基于与正视方向对应的下侧位置得到的室内空间场景;
根据虚拟摄像机的朝向,确定观看所述窗口模型的第一视角方向;
基于所述第一视角方向,确定所述窗口模型与所述室内空间纹理贴图之间的坐标映射关系;
根据所述坐标映射关系,将所述室内空间纹理贴图中对应的纹理贴图映射至所述窗口模型,以使得在所述窗口模型上模拟显示透过所述窗口模型获得的室内空间视图;
所述根据所述坐标映射关系,将所述室内空间纹理贴图中对应的纹理贴图映射至所述窗口模型,以使得在所述窗口模型上模拟显示透过所述窗口模型获得的室内空间视图,包括:
基于所述坐标映射关系确定所述室内空间纹理贴图的水平方向偏移量和/或竖直方向偏移量;
通过所述水平方向偏移量和/或竖直方向偏移量对所述室内空间纹理贴图进行偏移,以显示所述室内空间视图。
2.根据权利要求1所述的渲染方法,其特征在于,所述基于所述第一视角方向,确定所述窗口模型与所述室内空间纹理贴图之间的坐标映射关系,还包括:
获取所述室内空间纹理贴图与所述窗口模型的初始坐标映射关系;
基于所述第一视角方向,确定视角偏移方向和坐标偏移量;
基于所述视角偏移方向以及所述坐标偏移量对所述初始坐标映射关系进行偏移调整,从而获得所述坐标映射关系。
3.根据权利要求2所述的渲染方法,其特征在于,所述获取所述室内空间纹理贴图与所述窗口模型的初始坐标映射关系,包括:
对所述室内空间纹理贴图建立二维纹理坐标系,并将所述窗口模型映射到所述二维纹理坐标系中,以得到所述室内空间纹理贴图与所述窗口模型的初始坐标映射关系。
4.根据权利要求3所述的渲染方法,其特征在于,所述基于所述第一视角方向,确定视角偏移方向和坐标偏移量,包括:
根据所述初始坐标映射关系,确定初始视角方向;
根据所述初始视角方向和所述第一视角方向,确定视角偏移方向;
根据所述视角偏移方向,确定与所述第一视角方向对应的室内空间纹理贴图相对于与所述初始视角方向对应的室内空间纹理贴图的偏移量。
5.根据权利要求4所述的渲染方法,其特征在于,所述渲染方法还包括:
基于所述室内空间纹理贴图的二维纹理坐标系,建立所述室内空间纹理贴图的三维坐标系;
根据所述视角偏移方向和所述三维坐标系,计算与所述第一视角方向对应的室内空间纹理贴图相对于与所述初始视角方向对应的室内空间纹理贴图的偏移量。
6.根据权利要求5所述的渲染方法,其特征在于,所述基于所述室内空间纹理贴图的二维纹理坐标系,建立所述室内空间纹理贴图的三维坐标系,包括:
确定与所述室内空间纹理贴图的二维纹理坐标系有垂直关系的法线向量;
确定与所述室内空间纹理贴图的二维纹理坐标系有平行关系的切线向量;
根据所述法线向量以及所述切线向量,得到所述室内空间纹理贴图的二维纹理坐标系的副法线向量;
根据所述法线向量、所述切线向量以及所述副法线向量构建所述室内空间纹理贴图的三维坐标系。
7.根据权利要求6所述的渲染方法,其特征在于,所述根据所述视角偏移方向和所述三维坐标系,计算与所述第一视角方向对应的室内空间纹理贴图相对于与所述初始视角方向对应的室内空间纹理贴图的偏移量,包括:
根据所述第一视角方向,确定所述第一视角方向在水平方向上的第一视角向量;
计算所述第一视角向量与所述三维坐标系的切线向量之间的第一点积结果,并基于所述第一点积结果,得到所述室内空间纹理贴图在水平方向上的偏移量。
8.根据权利要求6所述的渲染方法,其特征在于,所述根据所述视角偏移方向和所述三维坐标系,计算与所述第一视角方向对应的室内空间纹理贴图相对于与所述初始视角方向对应的室内空间纹理贴图的偏移量,还包括:
根据所述第一视角方向,确定所述第一视角方向在竖直方向上的第二视角向量;
计算所述第二视角向量与所述三维坐标系的副法线向量之间的第二点积结果,并基于所述第二点积结果,得到所述室内空间纹理贴图在竖直方向上的偏移量。
9.一种渲染装置,用于对虚拟场景中的窗口模型进行渲染处理,其特征在于,包括:
空间纹理贴图确定模块,用于确定待渲染的窗口模型以及与所述待渲染的窗口模型对应的室内空间纹理贴图;其中,所述室内空间纹理贴图是根据待渲染空间的天花板、地板以及墙壁生成的具有深度的室内空间视图;所述待渲染空间中左侧的墙壁是基于与正视方向对应的右侧位置得到的室内空间场景,所述待渲染空间中右侧的墙壁是基于与正视方向对应的左侧位置得到的室内空间场景,所述待渲染空间中的地板是基于与正视方向对应的上侧位置得到的室内空间场景,所述待渲染空间的天花板是基于与正视方向对应的下侧位置得到的室内空间场景;
视角方向确定模块,用于根据虚拟摄像机的朝向,确定观看所述窗口模型的第一视角方向;
映射关系确定模块,用于基于所述第一视角方向,确定所述窗口模型与所述室内空间纹理贴图之间的坐标映射关系;
纹理贴图映射模块,用于根据所述坐标映射关系,将所述室内空间纹理贴图中对应的纹理贴图映射至所述窗口模型,以使得在所述窗口模型上模拟显示透过所述窗口模型获得的室内空间视图;
所述根据所述坐标映射关系,将所述室内空间纹理贴图中对应的纹理贴图映射至所述窗口模型,以使得在所述窗口模型上模拟显示透过所述窗口模型获得的室内空间视图,包括:
基于所述坐标映射关系确定所述室内空间纹理贴图的水平方向偏移量和/或竖直方向偏移量;
通过所述水平方向偏移量和/或竖直方向偏移量对所述室内空间纹理贴图进行偏移,以显示所述室内空间视图。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-8任一项所述的渲染方法。
11.一种电子设备,其特征在于,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1-8任一项所述的渲染方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011300794.5A CN112288873B (zh) | 2020-11-19 | 2020-11-19 | 渲染方法和装置、计算机可读存储介质、电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011300794.5A CN112288873B (zh) | 2020-11-19 | 2020-11-19 | 渲染方法和装置、计算机可读存储介质、电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112288873A CN112288873A (zh) | 2021-01-29 |
CN112288873B true CN112288873B (zh) | 2024-04-09 |
Family
ID=74398730
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011300794.5A Active CN112288873B (zh) | 2020-11-19 | 2020-11-19 | 渲染方法和装置、计算机可读存储介质、电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112288873B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112884875A (zh) * | 2021-03-19 | 2021-06-01 | 腾讯科技(深圳)有限公司 | 图像渲染方法、装置、计算机设备和存储介质 |
CN113034658B (zh) * | 2021-03-30 | 2022-10-04 | 完美世界(北京)软件科技发展有限公司 | 一种模型贴图的生成方法和装置 |
CN113223171B (zh) * | 2021-04-28 | 2024-01-26 | 广东三维家信息科技有限公司 | 一种纹理贴图方法、装置、电子设备及存储介质 |
CN113259642B (zh) * | 2021-05-12 | 2023-05-30 | 华强方特(深圳)科技有限公司 | 一种影片视角调节方法及*** |
CN113590221B (zh) * | 2021-08-02 | 2024-05-03 | 上海米哈游璃月科技有限公司 | 着色器变体数量的检测方法、装置、电子设备及存储介质 |
CN114022616B (zh) * | 2021-11-16 | 2023-07-07 | 北京城市网邻信息技术有限公司 | 模型处理方法及装置、电子设备及存储介质 |
CN114782612A (zh) * | 2022-04-29 | 2022-07-22 | 北京字跳网络技术有限公司 | 图像渲染方法、装置、电子设备及存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016106365A1 (en) * | 2014-12-22 | 2016-06-30 | Robert Bosch Gmbh | System and methods for generating procedural window lighting effects |
WO2017092303A1 (zh) * | 2015-12-01 | 2017-06-08 | 乐视控股(北京)有限公司 | 虚拟现实场景模型建立方法及装置 |
CN108919944A (zh) * | 2018-06-06 | 2018-11-30 | 成都中绳科技有限公司 | 一种基于数字城市模型实现在显示端进行数据无损交互的虚拟漫游方法 |
CN109360262A (zh) * | 2018-10-23 | 2019-02-19 | 东北大学 | 基于cad图生成三维模型的室内定位***及方法 |
CN109658365A (zh) * | 2017-10-11 | 2019-04-19 | 阿里巴巴集团控股有限公司 | 图像处理方法、装置、***和存储介质 |
CN109993823A (zh) * | 2019-04-11 | 2019-07-09 | 腾讯科技(深圳)有限公司 | 阴影渲染方法、装置、终端及存储介质 |
CN110866966A (zh) * | 2018-08-27 | 2020-03-06 | 苹果公司 | 利用与环境相匹配的逼真表面属性渲染虚拟对象 |
CN111008422A (zh) * | 2019-11-29 | 2020-04-14 | 北京建筑大学 | 一种建筑物实景地图制作方法及*** |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10127722B2 (en) * | 2015-06-30 | 2018-11-13 | Matterport, Inc. | Mobile capture visualization incorporating three-dimensional and two-dimensional imagery |
US9025861B2 (en) * | 2013-04-09 | 2015-05-05 | Google Inc. | System and method for floorplan reconstruction and three-dimensional modeling |
US9165397B2 (en) * | 2013-06-19 | 2015-10-20 | Google Inc. | Texture blending between view-dependent texture and base texture in a geographic information system |
US20160300389A1 (en) * | 2015-04-08 | 2016-10-13 | Exactigo, Inc. | Correlated immersive virtual simulation for indoor navigation |
US20170186219A1 (en) * | 2015-12-28 | 2017-06-29 | Le Holdings (Beijing) Co., Ltd. | Method for 360-degree panoramic display, display module and mobile terminal |
-
2020
- 2020-11-19 CN CN202011300794.5A patent/CN112288873B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016106365A1 (en) * | 2014-12-22 | 2016-06-30 | Robert Bosch Gmbh | System and methods for generating procedural window lighting effects |
WO2017092303A1 (zh) * | 2015-12-01 | 2017-06-08 | 乐视控股(北京)有限公司 | 虚拟现实场景模型建立方法及装置 |
CN109658365A (zh) * | 2017-10-11 | 2019-04-19 | 阿里巴巴集团控股有限公司 | 图像处理方法、装置、***和存储介质 |
CN108919944A (zh) * | 2018-06-06 | 2018-11-30 | 成都中绳科技有限公司 | 一种基于数字城市模型实现在显示端进行数据无损交互的虚拟漫游方法 |
CN110866966A (zh) * | 2018-08-27 | 2020-03-06 | 苹果公司 | 利用与环境相匹配的逼真表面属性渲染虚拟对象 |
CN109360262A (zh) * | 2018-10-23 | 2019-02-19 | 东北大学 | 基于cad图生成三维模型的室内定位***及方法 |
CN109993823A (zh) * | 2019-04-11 | 2019-07-09 | 腾讯科技(深圳)有限公司 | 阴影渲染方法、装置、终端及存储介质 |
CN111008422A (zh) * | 2019-11-29 | 2020-04-14 | 北京建筑大学 | 一种建筑物实景地图制作方法及*** |
Non-Patent Citations (6)
Title |
---|
Interior Mapping:A new technique for rendering realistic buildings;Joost Van Dongen;《CGI 2008 Conference Proceedings manuscript》;第1-8页 * |
Norman Moses Joseph et al..Visualizing building interiors using virtual windows.《SIGGRAPH Asia 2014 Technical Briefs》.2014,第1-4. * |
Parallax Mapping with Offset Limiting: A PerPixel Approximation of Uneven Surfaces;Terry Welsh;《Infiscape Corporation》;第1-9页 * |
Visualizing building interiors using virtual windows;Norman Moses Joseph et al.;《SIGGRAPH Asia 2014 Technical Briefs》;第1-4 * |
基于图像处理的虚拟现实技术的室内设计***研究;王波等;《现代电子技术》;第43卷(第11期);第68-71页 * |
基于实景三维模型的单体化建模技术浅谈;侯玉敏;;经纬天地(第04期);第117-121页 * |
Also Published As
Publication number | Publication date |
---|---|
CN112288873A (zh) | 2021-01-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112288873B (zh) | 渲染方法和装置、计算机可读存储介质、电子设备 | |
US10593098B2 (en) | Smooth draping layer for rendering vector data on complex three dimensional objects | |
US20230053462A1 (en) | Image rendering method and apparatus, device, medium, and computer program product | |
WO2017092303A1 (zh) | 虚拟现实场景模型建立方法及装置 | |
US9704282B1 (en) | Texture blending between view-dependent texture and base texture in a geographic information system | |
CN113674389B (zh) | 场景渲染方法、装置、电子设备及存储介质 | |
US10593096B2 (en) | Graphics processing employing cube map texturing | |
US9965893B2 (en) | Curvature-driven normal interpolation for shading applications | |
EP4213102A1 (en) | Rendering method and apparatus, and device | |
US9401044B1 (en) | Method for conformal visualization | |
US6346939B1 (en) | View dependent layer ordering method and system | |
US20230260218A1 (en) | Method and apparatus for presenting object annotation information, electronic device, and storage medium | |
CN115965735B (zh) | 纹理贴图的生成方法和装置 | |
CN116310041A (zh) | 内构效果的渲染方法及装置、电子设备、存储介质 | |
Funkhouser | A visibility algorithm for hybrid geometry-and image-based modeling and rendering | |
CN116228995B (zh) | 一种基于三维视图的装配式建筑显示方法及*** | |
JP7518196B2 (ja) | 3dジオメトリを構築するための方法、装置及びプログラム | |
US20220358716A1 (en) | Method and apparatus for constructing a 3d geometry | |
WO2023224627A1 (en) | Face-oriented geometry streaming | |
CN118015172A (zh) | 一种动态透视贴图生成方法、***、终端及存储介质 | |
CN117058277A (zh) | 虚拟对象三维模型的生成方法、装置、介质与电子设备 | |
CN116912379A (zh) | 场景画面的渲染方法及装置、存储介质、电子设备 | |
JP2017045140A (ja) | 画像表示装置、方法、およびプログラム |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |