CN117252976A - 模型渲染次序的确定方法、装置、电子设备及存储介质 - Google Patents

模型渲染次序的确定方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN117252976A
CN117252976A CN202311216472.6A CN202311216472A CN117252976A CN 117252976 A CN117252976 A CN 117252976A CN 202311216472 A CN202311216472 A CN 202311216472A CN 117252976 A CN117252976 A CN 117252976A
Authority
CN
China
Prior art keywords
determining
model
rendered
face
target
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
CN202311216472.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.)
Netease Hangzhou Network Co Ltd
Original Assignee
Netease Hangzhou Network Co Ltd
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 Netease Hangzhou Network Co Ltd filed Critical Netease Hangzhou Network Co Ltd
Priority to CN202311216472.6A priority Critical patent/CN117252976A/zh
Publication of CN117252976A publication Critical patent/CN117252976A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/20Perspective computation
    • G06T15/205Image-based rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Geometry (AREA)
  • Computer Graphics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Image Generation (AREA)

Abstract

本申请提供一种模型渲染次序的确定方法、装置、电子设备及存储介质,该方法包括在待渲染模型所在的世界坐标中确定多个观测点;以每个所述观测点为起点,向所述待渲染模型中的各个面发出射线;基于所述射线与所述各个面的交点以及所述各个面的半透明度确定所述待渲染模型中的每个面的层级属性信息;基于所述层级属性信息对所述各个面进行渲染排序,得到所述待渲染模型中的各个面的渲染次序,从而可以通过设置的观测点向所述待渲染模型中的各个面发出的射线实时确定每个面的层级属性,进而可以实时确定所述待渲染模型中的各个面的渲染次序,提到了资源渲染率,减少了人力成本的消耗。

Description

模型渲染次序的确定方法、装置、电子设备及存储介质
技术领域
本申请涉及贴图生成技术领域,尤其涉及一种模型渲染次序的确定方法、装置、电子设备及存储介质。
背景技术
本部分旨在为权利要求书中陈述的本申请的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
随着3D游戏的不断发展,游戏中半透明渲染次序资产的需求不断增加,目前,相关技术中通常使用引擎固定深度解算,然后在对物体渲染混合背景完成半透明解算。但是,当被渲染模型发生修改或者重置等操作时,通常会丢失同模型的深度排序关系,这时需要人工手动打散模型,一层一层从内到外梳理模型,重新固定点序渲染深度值。因此,相关技术中确定模型渲染次序的效率较低,需要花费大量的人工成本,并且增加了人为因素导致的排序错误。
发明内容
有鉴于此,本申请的目的在于提出一种模型渲染次序的确定方法、装置、电子设备及存储介质。
基于上述目的,本申请提供了一种模型渲染次序的确定方法,包括:
在待渲染模型所在的世界坐标中确定多个观测点;
以每个所述观测点为起点,向所述待渲染模型中的各个面发出射线;
基于所述射线与所述各个面的交点以及所述各个面的半透明度确定所述待渲染模型中的每个面的层级属性信息;
基于所述层级属性信息对所述各个面进行渲染排序,得到所述待渲染模型中的各个面的渲染次序。
基于同一发明构思,本申请示例性实施例还提供了一种模型渲染次序的确定装置,包括:
确定模块,在待渲染模型所在的世界坐标中确定多个观测点;
发射模块,以每个所述观测点为起点,向所述待渲染模型中的各个面发出射线;
属性模块,基于所述射线与所述各个面的交点以及所述各个面的半透明度确定所述待渲染模型中的每个面的层级属性信息;
排序模块,基于所述层级属性信息对所述各个面进行渲染排序,得到所述待渲染模型中的各个面的渲染次序。
基于同一发明构思,本申请示例性实施例还提供了一种电子设备,包括存储器、处理器及存储在所述存储器上并可由所述处理器执行的计算机程序,所述处理器执行所述程序时实现如上所述的模型渲染次序的确定方法。
基于同一发明构思,本申请示例性实施例还提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使计算机执行如上所述的模型渲染次序的确定方法。
基于同一发明构思,本申请示例性实施例还提供了一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序由一个或多个处理器执行以使得所述处理器执行如上所述的游戏声音的调节方法。
从上面所述可以看出,本申请提供的模型渲染次序的确定方法、装置、电子设备及存储介质,在待渲染模型所在的世界坐标中确定多个观测点;以每个所述观测点为起点,向所述待渲染模型中的各个面发出射线;基于所述射线与所述各个面的交点以及所述各个面的半透明度确定所述待渲染模型中的每个面的层级属性信息;基于所述层级属性信息对所述各个面进行渲染排序,得到所述待渲染模型中的各个面的渲染次序,从而可以通过设置的观测点向所述待渲染模型中的各个面发出的射线实时确定每个面的层级属性,进而可以实时确定所述待渲染模型中的各个面的渲染次序,提到了资源渲染率,减少了人力成本的消耗。
附图说明
为了更清楚地说明本申请或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例的一种应用场景的示意图;
图2为本申请实施例的一种模型渲染次序的确定方法的流程示意图;
图3为本申请实施例的一种向待渲染模型中的各个面发出射线的示意图;
图4为本申请实施例的一种射线与半透明度的关系的示意图;
图5为本申请实施例的一种基于各个面的渲染次序渲染待渲染模型的效果示意图;
图6为本申请实施例的一种模型渲染次序的确定装置的结构示意图;
图7为本申请实施例的一种具体的电子设备的结构示意图。
具体实施方式
下面将参考若干示例性实施方式来描述本申请的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本申请,而并非以任何方式限制本申请的范围。相反,提供这些实施方式是为了使本申请更加透彻和完整,并且能够将本申请的范围完整地传达给本领域的技术人员。
需要说明的是,除非另外定义,本公开实施例使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本公开实施例中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。此外,在本申请的描述中,除非另有说明,术语“多个”是指两个或两个以上。术语“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
根据本申请的实施方式,提出了一种模型渲染次序的确定方法、装置、电子设备及存储介质。
可以理解的是,在使用本申请中各个实施例的技术方案之前,均会通过恰当的方式对所涉及的个人信息的类型、使用范围、使用场景等告知用户,并获得用户的授权。
例如,在响应于接收到用户的主动请求时,向用户发送提示信息,以明确的提示用户,其请求执行的操作将需要获取和使用到用户的个人信息。从而,使得用户可以根据提示信息来自主的选择是否向执行本申请技术方案的操作的电子设备、应用程序、服务器或存储介质等软件或硬件提供个人信息。
作为一种可选的但非限定的实现方式,响应于接受到用户的主动请求,向用户发送提示信息的方式例如可以是弹窗的方式,弹窗中可以以文字的方式呈现提示信息。此外,弹窗中还可以承载供用户选择“同意”或者“不同意”向电子设备提供个人信息的选择控件。
可以理解的是,上述通知和获取用户授权过程仅是示意性的,不对本申请的实现方式构成限定,其他满足相关法律法规的方式也可应用于本申请的实现方式中。
在本文中,需要理解的是,附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。
下面参考本申请的若干代表性实施方式,详细阐释本申请的原理和精神。
发明概述
目前相关技术中,通常使用引擎固定深度解算,然后在对物体渲染混合背景完成半透明解算。但是,当被渲染模型发生修改或者重置等操作时,通常会丢失同模型的深度排序关系,这时需要人工手动打散模型,一层一层从内到外梳理模型,重新固定点序渲染深度值。因此,相关技术中确定模型渲染次序的效率较低,需要花费大量的人工成本,并且增加了人为因素导致的排序错误。
为了解决上述问题,本申请提供了一种模型渲染次序的确定方法,具体包括:
在待渲染模型所在的世界坐标中确定多个观测点;以每个所述观测点为起点,向所述待渲染模型中的各个面发出射线;基于所述射线与所述各个面的交点以及所述各个面的半透明度确定所述待渲染模型中的每个面的层级属性信息;基于所述层级属性信息对所述各个面进行渲染排序,得到所述待渲染模型中的各个面的渲染次序,从而可以通过设置的观测点向所述待渲染模型中的各个面发出的射线实时确定每个面的层级属性,进而可以实时确定所述待渲染模型中的各个面的渲染次序,提到了资源渲染率,减少了人力成本的消耗。
在介绍了本申请的基本原理之后,下面具体介绍本申请的各种非限制性实施方式。
应用场景总览
在一些具体的应用场景中,本申请的模型渲染次序的确定方法可以应用于各种涉及需要确定半透明渲染次序资产的系统中。作为一种示例,参考图1,该应用场景包括至少一个服务器102和至少一个终端101。终端设备包括但不限于桌面计算机、移动电话、移动电脑、平板电脑、媒体播放器、智能可穿戴设备视、个人数字助理(personal digitalassistant,PDA)或其它能够实现上述功能的电子设备等。服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。服务器与终端之间可以通过网络进行通信,以实现数据的传输。其中,网络可以是有线网络或无线网络,本申请对此不作具体限定。
服务器可以是提供各种服务的服务器。具体的,服务器可以用于为终端运行的应用程序提供后台服务。可选的,在一些实现方式中,本申请实施例提供的模型渲染次序的确定方法可以由终端设备执行。服务器可以是硬件,也可以是软件。当服务器为硬件时,可以实现成多个服务器组成的分布式服务器集群,也可以实现成单个服务器。当服务器为软件时,可以实现成多个软件或软件模块(例如用来提供分布式服务的软件或软件模块),也可以实现成单个软件或软件模块。本申请实施例对此不作具体限定。
可选的,上述无线网络或有线网络使用标准通信技术和/或协议。网络通常为因特网、但也能够是任何网络,包括但不限于局域网(local area network,LAN)、城域网(metropolitan area network,MAN)、广域网(wide area network,WAN)、移动、有线或者无线网络、专用网络或者虚拟专用网络的任何组合)。在一些实施例中,使用包括超文本标记语言(hyper text mark-up language,HTML)、可扩展标记语言(extensible markuplanguage,XML)等的技术和/或格式来代表通过网络交换的数据。此外还能够使用诸如安全套接字层(secure socket layer,SSL)、传输层安全(transport layer security,TLS)、虚拟专用网络(virtual private network,VPN)、网际协议安全(internet protocolsecurity,IPsec)等常规加密技术来加密所有或者一些链路。在另一些实施例中,还能够使用定制和/或专用数据通信技术取代或者补充上述数据通信技术。
下面结合具体的应用场景,来描述根据本申请示例性实施方式的模型渲染次序的确定方法。需要注意的是,上述应用场景仅是为了便于理解本申请的精神和原理而示出,本申请的实施方式在此方面不受任何限制。相反,本申请的实施方式可以应用于适用的任何场景。
应该理解的是,虽然图2的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
示例性方法
参考图2,本申请实施例提供了一种模型渲染次序的确定方法,该模型渲染次序的确定方法的执行主体可以但不限于是服务器或终端设备。该方法包括以下步骤:
S101,在待渲染模型所在的世界坐标中确定多个观测点。
具体实施时,为了模拟待渲染模型被观测时的视角,先在待渲染模型所在的世界坐标中确定多个观测点,这些观测点用于模拟用户视角的观测位置,可选的,观测点一般设置在待渲染模型的外部。具体设置观察点的数量可以根据需要进行设置,例如,可以设置5个或者10个观察点。为了使得待渲染模型能够在不同的视度被观测,可以将各个观测点设置在待渲染模型的四周,同时保证各个观测点对应的视角有重合的部分。需要说明的是,一般情况下,观测点的数量越多最终获得的渲染次序越精确,但是随着观测点的数量的增多,计算量也会增加,即设备的性能消耗也越大,因此,可以综合考虑精确度与设备性能来设置观察点的数量。
为了使观测点能够均匀的分布在待渲染模型四周,可以先确定一个将所述待渲染模型包括在内的目标球体,然后使观测点均匀的分布在目标球体的顶点上。
需要说明的是,通过观测点可以实现以掌中宇宙的概念通过不同的维度观测中心物体,模拟视觉观察到的不同深度和不同强度交替的渲染结构。待渲染模型所在的世界坐标一般指模型在渲染引擎中的世界坐标,可选的,该世界坐标一般为三维坐标。
为了能够准确快速的确定所述观测点,在一些实施例中,在待渲染模型所在的世界坐标中确定多个观测点,具体包括:
基于预设观测位置在所述世界坐标中确定多个观测点;
其中,每个所述预设观测位置对应一个所述观测点。
具体实施时,预设观测位置可以根据需要进行设置,对此不做限定。可选的,可以通过实验来确定哪些观测位置相互配合可以在观测点的数量较少的同时,覆盖到待渲染模型中的每个面。例如,在一些实施例中,预设观测位置可以是待渲染模型对应的外接正方体的六个面的中心点,或者可以是待渲染模型对应的外接四面体的四个顶点。可选的,在一些实施例中,观测点的位置还可以是均匀分布在待渲染模型外接球体上的预设位置。
S102,以每个所述观测点为起点,向所述待渲染模型中的各个面发出射线。
具体实施时,在确定了多个观测点后,以每个所述观测点为起点,向所述待渲染模型中的各个面发出射线,这些射线用于模拟用户观查模型时的视线。参考图3,其中,P点表示多个观测点中的一个观测点,球体表示待渲染模型,图3中以P点为起点向球体的各个面发出了多个条射线,这些射线会与球体上的各个面相交。需要说明的是,图3中省略了部分射线,正常情况下,P点可以向球体的每个面均发出一条射线,也可以根据需要向其中一部分面发出射线,例如,只对图3中的球体的左半边的所有面发出射线。
为了准确的向待渲染模型中的各个面发出射线,在一些实施例中,向所述待渲染模型中的各个面发出射线,具体包括:
获取所述待渲染模型中的所有顶点;
将每个所述顶点与每个所述观测点的连线作为初始方向;
对所述初始方向进行扰动处理,使所述初始方向发生偏移;
基于发生偏移的所述初始方向所述待渲染模型中的各个面发出射线。
具体实施时,可以以待渲染模型中的顶点与观测点的连线作为初始方向,为了能够使射线准确的与待渲染模型的面相交而不是与顶点相交,在确定射线的方向时,可以对顶点与观测点的连线方向(初始方向)做偏移(扰动处理),以使射线能够与待渲染模型的面相交。可选的,在对顶点与观测点的连线方向做偏移时,可以随机进行偏移,也可以通过设置的预设偏移量来完成偏移,以避免随机偏移导致多个顶点对应的连线落入相同的面中,例如,可以将所有的偏移均设置为向正下方偏移一个单位长度。
S103,基于所述射线与所述各个面的交点以及所述各个面的半透明度确定所述待渲染模型中的每个面的层级属性信息。
具体实施时,由于射线模拟了视线,所以射线穿过各个面时产生的交点相当于模拟了用户的视线能够到达的位置,同时考虑到模型中的各个面的半透明度,即当光线依次传过两个面时,前面的面若是不透明的,则光线无法穿过前面的面,只有当前面的面为透明的或者半透明的,才可以透过前面的面到达后面的面。因此,本申请实施例,在用观测点发出的射线模拟视线时,可以用所述射线与所述各个面的交点以及所述各个面的半透明度确定所述待渲染模型中的每个面的层级属性信息。可选的,在一些实施例中,可以用与射线产生交点数量的多少来表示每个面的层级属性信息,其中,当前面与射线产生的交点数量越多,说明当前面更容易被看到,应该处于更外层。可选的,该层级属性信息可以表示当前面属于外层或里层,可以理解的是外层的面更容易外观察到。
参考图4,为本申请实施例的一种射线与半透明度的关系的示意图,其中,P表示某观测点,P1、P2、P3分别表示观测点P与各个面的交点,其中,球体表示当前面为完全透明面,圆锥体表示当前面为半透明面,圆柱体表示当前面为不透明面,因此,图4中,射线可以依次穿透前两个面而无法穿透最后一个面。
在一些实施例中,基于所述射线与所述各个面的交点以及所述各个面的半透明度确定所述各个面的层级属性信息,具体包括:
获取所述待渲染模型中的各个面的半透明度,并基于所述半透明度确定所述待渲染模型中的每个面是否为不透明面;
将所述待渲染模型中的每个面均确定为目标面,对于每个所述目标面,从所有发出的所述射线中确定与所述目标面产生交点的备选射线,并从所有所述备选射线中确定在与所述目标面产生交点之前未与所述不透明面产生交点的目标射线,基于所有所述目标射线的目标数量确定所述目标面的层级属性信息;
基于所述目标面的层级属性信息确定所述各个面的层级属性信息。
具体实施时,在确定所述各个面的层级属性信息时,可以先根据各个面的半透明度确定所述待渲染模型中的每个面是否为不透明面,可选的,可以通过预设透明阈值来判断每个面是否为不透明面,若当前面的半透明度小于预设透明阈值,则可以将当前面确定为不透明面。在确定了每个面是否为不透明面后,先确定哪些射线与目标面(当前面)产生了交点,为了方便区分将产生了交点的射线称为备选射线,然后考虑到,这些备选射线中,若之前已经与不透明面相交,则无法再向后穿透,即这些已经与不透明面相交的射线无法再到达目标面(当前面)。因此,可以只通过与所述目标面产生交点之前未与所述不透明面产生交点的目标射线的目标数量确定所述目标面的层级属性信息,可选的,目标数量越大说明有越多的射线到达了目标面,对应的目标面的层级属性对应的排序越靠外。
S104,基于所述层级属性信息对所述各个面进行渲染排序,得到所述待渲染模型中的各个面的渲染次序。
具体实施时,在确定待渲染模型中的每个面的层级属性信息后,就可以根据每个面的层级属性信息对所述各个面进行渲染排序,得到所述待渲染模型中的各个面的渲染次序。可选的,层级属性信息表示当前面处于模型由内到外的层次等级,例如,一个层级属性信息为3表示有三条射线可以到达该层级属性信息对应的面,另一个层级属性信息为2表示有两条射线可以到达该层级属性信息对应的面,则层级属性信息为3对应的面处于更外层。一般情况下,对于模型渲染来说,处于更外层的面应该更早被渲染,即层级属性信息为更外层的面,对应的渲染次序也更靠前。
在一些实施例中,基于所述层级属性信息对所述各个面进行渲染排序,具体包括:
将所述各个面中的任意两个面确定为第一面与第二面;
获取所述第一面的所述层级属性信息,以及所述第二面的所述层级属性信息;其中,所述层级属性信息包括所述目标数量;
响应于确定所述第一面对应的所述目标数量大于所述第二面对应的所述目标数量,确定所述第一面的渲染次序的优先级大于所述第二面的渲染次序的优先级;
响应于确定所述第一面对应的所述目标数量小于所述第二面对应的所述目标数量,确定所述第一面的渲染次序的优先级小于所述第二面的渲染次序的优先级;
响应于确定所述第一面对应的所述目标数量等于所述第二面对应的所述目标数量,确定所述第一面的渲染次序的优先级的与所述第二面的渲染次序的优先级相等,或基于所述各个面的半透明度对所述第一面与所述第二面进行渲染排序。
具体实施时,对所述各个面进行渲染排序时,可以两两对比来完成各个面的渲染排序,其中,对于各个面中的任意两个面第一面和第二面,当确定所述第一面对应的所述目标数量大于所述第二面对应的所述目标数量时,说明第一面接收到的射线更多,此时确定所述第一面的渲染次序的优先级大于所述第二面的渲染次序的优先级。当确定所述第一面对应的所述目标数量小于所述第二面对应的所述目标数量时,说明此时第二面接收到的射线更多,此时确定所述第一面的渲染次序的优先级小于所述第二面的渲染次序的优先级。当确定所述第一面对应的所述目标数量等于所述第二面对应的所述目标数量时,可以直接令第一面的渲染次序的优先级的与所述第二面的渲染次序的优先级相等。为了更精确的区别第一面与第二面的渲染次序的优先级,可以进一步根据各个面的半透明度对所述第一面与所述第二面进行渲染排序,可选的,当位于第一面之前的各个面的半透明度大于位于第二面之前的各个面的半透明度,说明到达第一面的各个射线的强度更高,因此,第一面的显示效果更亮,更容易被看到,因此,可以使第一面的渲染次序的优先级大于第二面的渲染次序的优先级。
需要说明的是,所述层级属性信息包括所述目标数量。即模型的各个面的层级属性信息可以通过目标数量来表示,该目标数量即当前面接收到的各个观测点发出的射线的数量,该目标数量越大表示对应的面的渲染次序的优先级越大。
为了进一步准确的对各个面进行渲染排序,在一些实施例中,基于所述各个面的半透明度对所述第一面与所述第二面进行渲染排序,具体包括:
从所述各个面中确定与所述第一面对应的所述目标射线穿过的第一备选面,并从所有所述第一备选面中确定在所述第一面之前被与所述第一面对应的所述目标射线穿过的第一候选面;
从所述各个面中确定与所述第二面对应的所述目标射线穿过的第二备选面,并从所有所述第二备选面中确定在所述第二面之前被与所述第二面对应的所述目标射线穿过的第二候选面;
基于所有所述第一候选面的半透明度的和与所有所述第二候选面的半透明度的和对所述第一面与所述第二面进行渲染排序。
具体实施时,当所有所述第一候选面的半透明度的和大于所有所述第二候选面的半透明度的和时,说明第一面接收到的光线的强度大于第二面接收到的光线的强度,此时,即使二者接收到的光线的数量相同,依然可以说明第一面应该优先被看到,即第一面的渲染次序的优先级大于所述第二面的渲染次序的优先级。当所有所述第一候选面的半透明度的和小于所有所述第二候选面的半透明度的和时,第一面的渲染次序的优先级小于所述第二面的渲染次序的优先级。当所有所述第一候选面的半透明度的和等于所有所述第二候选面的半透明度的和时,第一面的渲染次序的优先级等于所述第二面的渲染次序的优先级。
在一些实施例中,在得到所述待渲染模型中的各个面的渲染次序之后,所述方法还包括:
基于所述各个面的渲染次序渲染所述待渲染模型。
具体实施时,在得到所述待渲染模型中的各个面的渲染次序之后,就可以根据各个面的渲染次序渲染所述待渲染模型。从而在渲染模型时确定了应该先渲染哪些面,后渲染哪些面,从避免出现穿模等其他渲染缺陷。参考图5,其中,左边的图为相关技术中渲染得到的模型效果,可以看到其中包括了多处穿透bug。而右边的图为通过本申请实施到所述待渲染模型中的各个面的渲染次序之后基于所述各个面的渲染次序渲染模型的效果,可以看到明显避免了左图中的多处bug。
本申请提供的模型渲染次序的确定方法,在待渲染模型所在的世界坐标中确定多个观测点;以每个所述观测点为起点,向所述待渲染模型中的各个面发出射线;基于所述射线与所述各个面的交点以及所述各个面的半透明度确定所述待渲染模型中的每个面的层级属性信息;基于所述层级属性信息对所述各个面进行渲染排序,得到所述待渲染模型中的各个面的渲染次序,从而可以通过设置的观测点向所述待渲染模型中的各个面发出的射线实时确定每个面的层级属性,进而可以实时确定所述待渲染模型中的各个面的渲染次序,提到了资源渲染率,减少了人力成本的消耗。
需要说明的是,本申请实施例的方法可以由单个设备执行,例如一台计算机或服务器等。本实施例的方法也可以应用于分布式场景下,由多台设备相互配合来完成。在这种分布式场景的情况下,这多台设备中的一台设备可以只执行本申请实施例的方法中的某一个或多个步骤,这多台设备相互之间会进行交互以完成所述的方法。
需要说明的是,上述对本申请的一些实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于上述实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
示例性设备
基于同一发明构思,与上述任意实施例方法相对应的,本申请还提供了一种模型渲染次序的确定装置。
参考图6,所述模型渲染次序的确定装置包括:
确定模块201,在待渲染模型所在的世界坐标中确定多个观测点;
发射模块202,以每个所述观测点为起点,向所述待渲染模型中的各个面发出射线;
属性模块203,基于所述射线与所述各个面的交点以及所述各个面的半透明度确定所述待渲染模型中的每个面的层级属性信息;
排序模块204,基于所述层级属性信息对所述各个面进行渲染排序,得到所述待渲染模型中的各个面的渲染次序。
在一些实施例中,所述确定模块201,具体用于:
基于预设观测位置在所述世界坐标中确定多个观测点;
其中,每个所述预设观测位置对应一个所述观测点。
在一些实施例中,所述发射模块202,具体用于:
获取所述待渲染模型中的所有顶点;
将每个所述顶点与每个所述观测点的连线作为初始方向;
对所述初始方向进行扰动处理,使所述初始方向发生偏移;
基于发生偏移的所述初始方向所述待渲染模型中的各个面发出射线。
在一些实施例中,所述属性模块203,具体用于:
获取所述待渲染模型中的各个面的半透明度,并基于所述半透明度确定所述待渲染模型中的每个面是否为不透明面;
将所述待渲染模型中的每个面均确定为目标面,对于每个所述目标面,从所有发出的所述射线中确定与所述目标面产生交点的备选射线,并从所有所述备选射线中确定在与所述目标面产生交点之前未与所述不透明面产生交点的目标射线,基于所有所述目标射线的目标数量确定所述目标面的层级属性信息;
基于所述目标面的层级属性信息确定所述各个面的层级属性信息。
在一些实施例中,所述属性模块203,具体用于:
将所述各个面中的任意两个面确定为第一面与第二面;
获取所述第一面的所述层级属性信息,以及所述第二面的所述层级属性信息;其中,所述层级属性信息包括所述目标数量;
响应于确定所述第一面对应的所述目标数量大于所述第二面对应的所述目标数量,确定所述第一面的渲染次序的优先级大于所述第二面的渲染次序的优先级;
响应于确定所述第一面对应的所述目标数量小于所述第二面对应的所述目标数量,确定所述第一面的渲染次序的优先级小于所述第二面的渲染次序的优先级;
响应于确定所述第一面对应的所述目标数量等于所述第二面对应的所述目标数量,确定所述第一面的渲染次序的优先级的与所述第二面的渲染次序的优先级相等,或基于所述各个面的半透明度对所述第一面与所述第二面进行渲染排序。
在一些实施例中,所述属性模块203,具体用于:
从所述各个面中确定与所述第一面对应的所述目标射线穿过的第一备选面,并从所有所述第一备选面中确定在所述第一面之前被与所述第一面对应的所述目标射线穿过的第一候选面;
从所述各个面中确定与所述第二面对应的所述目标射线穿过的第二备选面,并从所有所述第二备选面中确定在所述第二面之前被与所述第二面对应的所述目标射线穿过的第二候选面;
基于所有所述第一候选面的半透明度的和与所有所述第二候选面的半透明度的和对所述第一面与所述第二面进行渲染排序。
在一些实施例中,所述装置还包括:渲染模块,用于:
基于所述各个面的渲染次序渲染所述待渲染模型。
为了描述的方便,描述以上系统时以功能分为各种模块分别描述。当然,在实施本申请时可以把各模块的功能在同一个或多个软件和/或硬件中实现。
上述实施例的系统用于实现前述任一实施例中相应的模型渲染次序的确定方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
基于同一发明构思,与上述任意实施例方法相对应的,本申请还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上任意一实施例所述的模型渲染次序的确定方法。
图7示出了本实施例所提供的一种更为具体的电子设备硬件结构示意图,该设备可以包括:处理器1010、存储器1020、输入/输出接口1030、通信接口1040和总线1050。其中处理器1010、存储器1020、输入/输出接口1030和通信接口1040通过总线1050实现彼此之间在设备内部的通信连接。
处理器1010可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。
存储器1020可以采用ROM(Read Only Memory,只读存储器)、RAM(Random AccessMemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器1020可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器1020中,并由处理器1010来调用执行。
输入/输出接口1030用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
通信接口1040用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。
总线1050包括一通路,在设备的各个组件(例如处理器1010、存储器1020、输入/输出接口1030和通信接口1040)之间传输信息。
需要说明的是,尽管上述设备仅示出了处理器1010、存储器1020、输入/输出接口1030、通信接口1040以及总线1050,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。
上述实施例的电子设备用于实现前述任一实施例中相应的模型渲染次序的确定方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
示例性程序产品
基于同一发明构思,与上述任意实施例方法相对应的,本申请还提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行如上任一实施例所述的模型渲染次序的确定方法。
本实施例的计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
上述实施例的存储介质存储的计算机指令用于使所述计算机执行如上任一实施例所述的模型渲染次序的确定方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
基于同一发明构思,与上述任意实施例方法相对应的,本申请还提供了一种计算机程序产品,其包括计算机程序。在一些实施例中,所述计算机程序由一个或多个处理器执行以使得所述处理器执行上述实施例所述的模型渲染次序的确定方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
需要说明的是,本申请的实施例还可以以下方式进一步描述:
一种模型渲染次序的确定方法,包括:
在待渲染模型所在的世界坐标中确定多个观测点;
以每个所述观测点为起点,向所述待渲染模型中的各个面发出射线;
基于所述射线与所述各个面的交点以及所述各个面的半透明度确定所述待渲染模型中的每个面的层级属性信息;
基于所述层级属性信息对所述各个面进行渲染排序,得到所述待渲染模型中的各个面的渲染次序。
可选的,在待渲染模型所在的世界坐标中确定多个观测点,具体包括:
基于预设观测位置在所述世界坐标中确定多个观测点;
其中,每个所述预设观测位置对应一个所述观测点。
可选的,向所述待渲染模型中的各个面发出射线,具体包括:
获取所述待渲染模型中的所有顶点;
将每个所述顶点与每个所述观测点的连线作为初始方向;
对所述初始方向进行扰动处理,使所述初始方向发生偏移;
基于发生偏移的所述初始方向所述待渲染模型中的各个面发出射线。
可选的,基于所述射线与所述各个面的交点以及所述各个面的半透明度确定所述各个面的层级属性信息,具体包括:
获取所述待渲染模型中的各个面的半透明度,并基于所述半透明度确定所述待渲染模型中的每个面是否为不透明面;
将所述待渲染模型中的每个面均确定为目标面,对于每个所述目标面,从所有发出的所述射线中确定与所述目标面产生交点的备选射线,并从所有所述备选射线中确定在与所述目标面产生交点之前未与所述不透明面产生交点的目标射线,基于所有所述目标射线的目标数量确定所述目标面的层级属性信息;
基于所述目标面的层级属性信息确定所述各个面的层级属性信息。
可选的,基于所述层级属性信息对所述各个面进行渲染排序,具体包括:
将所述各个面中的任意两个面确定为第一面与第二面;
获取所述第一面的所述层级属性信息,以及所述第二面的所述层级属性信息;其中,所述层级属性信息包括所述目标数量;
响应于确定所述第一面对应的所述目标数量大于所述第二面对应的所述目标数量,确定所述第一面的渲染次序的优先级大于所述第二面的渲染次序的优先级;
响应于确定所述第一面对应的所述目标数量小于所述第二面对应的所述目标数量,确定所述第一面的渲染次序的优先级小于所述第二面的渲染次序的优先级;
响应于确定所述第一面对应的所述目标数量等于所述第二面对应的所述目标数量,确定所述第一面的渲染次序的优先级的与所述第二面的渲染次序的优先级相等,或基于所述各个面的半透明度对所述第一面与所述第二面进行渲染排序。
可选的,基于所述各个面的半透明度对所述第一面与所述第二面进行渲染排序,具体包括:
从所述各个面中确定与所述第一面对应的所述目标射线穿过的第一备选面,并从所有所述第一备选面中确定在所述第一面之前被与所述第一面对应的所述目标射线穿过的第一候选面;
从所述各个面中确定与所述第二面对应的所述目标射线穿过的第二备选面,并从所有所述第二备选面中确定在所述第二面之前被与所述第二面对应的所述目标射线穿过的第二候选面;
基于所有所述第一候选面的半透明度的和与所有所述第二候选面的半透明度的和对所述第一面与所述第二面进行渲染排序。
可选的,在得到所述待渲染模型中的各个面的渲染次序之后,所述方法还包括:
基于所述各个面的渲染次序渲染所述待渲染模型。
所在领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本申请的范围(包括权利要求)被限于这些例子;在本申请的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本申请实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。
另外,为简化说明和讨论,并且为了不会使本申请实施例难以理解,在所提供的附图中可以示出或可以不示出与集成电路(IC)芯片和其它部件的公知的电源/接地连接。此外,可以以框图的形式示出装置,以便避免使本申请实施例难以理解,并且这也考虑了以下事实,即关于这些框图装置的实施方式的细节是高度取决于将要实施本申请实施例的平台的(即,这些细节应当完全处于本领域技术人员的理解范围内)。在阐述了具体细节(例如,电路)以描述本申请的示例性实施例的情况下,对本领域技术人员来说显而易见的是,可以在没有这些具体细节的情况下或者这些具体细节有变化的情况下实施本申请实施例。因此,这些描述应被认为是说明性的而不是限制性的。
尽管已经结合了本申请的具体实施例对本申请进行了描述,但是根据前面的描述,这些实施例的很多替换、修改和变型对本领域普通技术人员来说将是显而易见的。例如,其它存储器架构(例如,动态RAM(DRAM))可以使用所讨论的实施例。
本申请实施例旨在涵盖落入所附权利要求的宽泛范围之内的所有这样的替换、修改和变型。因此,凡在本申请实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (10)

1.一种模型渲染次序的确定方法,其特征在于,包括:
在待渲染模型所在的世界坐标中确定多个观测点;
以每个所述观测点为起点,向所述待渲染模型中的各个面发出射线;
基于所述射线与所述各个面的交点以及所述各个面的半透明度确定所述待渲染模型中的每个面的层级属性信息;
基于所述层级属性信息对所述各个面进行渲染排序,得到所述待渲染模型中的各个面的渲染次序。
2.根据权利要求1所述的方法,其特征在于,在待渲染模型所在的世界坐标中确定多个观测点,具体包括:
基于预设观测位置在所述世界坐标中确定多个观测点;
其中,每个所述预设观测位置对应一个所述观测点。
3.根据权利要求1所述的方法,其特征在于,向所述待渲染模型中的各个面发出射线,具体包括:
获取所述待渲染模型中的所有顶点;
将每个所述顶点与每个所述观测点的连线作为初始方向;
对所述初始方向进行扰动处理,使所述初始方向发生偏移;
基于发生偏移的所述初始方向所述待渲染模型中的各个面发出射线。
4.根据权利要求1所述的方法,其特征在于,基于所述射线与所述各个面的交点以及所述各个面的半透明度确定所述各个面的层级属性信息,具体包括:
获取所述待渲染模型中的各个面的半透明度,并基于所述半透明度确定所述待渲染模型中的每个面是否为不透明面;
将所述待渲染模型中的每个面均确定为目标面,对于每个所述目标面,从所有发出的所述射线中确定与所述目标面产生交点的备选射线,并从所有所述备选射线中确定在与所述目标面产生交点之前未与所述不透明面产生交点的目标射线,基于所有所述目标射线的目标数量确定所述目标面的层级属性信息;
基于所述目标面的层级属性信息确定所述各个面的层级属性信息。
5.根据权利要求4所述的方法,其特征在于,基于所述层级属性信息对所述各个面进行渲染排序,具体包括:
将所述各个面中的任意两个面确定为第一面与第二面;
获取所述第一面的所述层级属性信息,以及所述第二面的所述层级属性信息;其中,所述层级属性信息包括所述目标数量;
响应于确定所述第一面对应的所述目标数量大于所述第二面对应的所述目标数量,确定所述第一面的渲染次序的优先级大于所述第二面的渲染次序的优先级;
响应于确定所述第一面对应的所述目标数量小于所述第二面对应的所述目标数量,确定所述第一面的渲染次序的优先级小于所述第二面的渲染次序的优先级;
响应于确定所述第一面对应的所述目标数量等于所述第二面对应的所述目标数量,确定所述第一面的渲染次序的优先级的与所述第二面的渲染次序的优先级相等,或基于所述各个面的半透明度对所述第一面与所述第二面进行渲染排序。
6.根据权利要求5所述的方法,其特征在于,基于所述各个面的半透明度对所述第一面与所述第二面进行渲染排序,具体包括:
从所述各个面中确定与所述第一面对应的所述目标射线穿过的第一备选面,并从所有所述第一备选面中确定在所述第一面之前被与所述第一面对应的所述目标射线穿过的第一候选面;
从所述各个面中确定与所述第二面对应的所述目标射线穿过的第二备选面,并从所有所述第二备选面中确定在所述第二面之前被与所述第二面对应的所述目标射线穿过的第二候选面;
基于所有所述第一候选面的半透明度的和与所有所述第二候选面的半透明度的和对所述第一面与所述第二面进行渲染排序。
7.根据权利要求1所述的方法,其特征在于,在得到所述待渲染模型中的各个面的渲染次序之后,所述方法还包括:
基于所述各个面的渲染次序渲染所述待渲染模型。
8.一种模型渲染次序的确定装置,其特征在于,包括:
确定模块,在待渲染模型所在的世界坐标中确定多个观测点;
发射模块,以每个所述观测点为起点,向所述待渲染模型中的各个面发出射线;
属性模块,基于所述射线与所述各个面的交点以及所述各个面的半透明度确定所述待渲染模型中的每个面的层级属性信息;
排序模块,基于所述层级属性信息对所述各个面进行渲染排序,得到所述待渲染模型中的各个面的渲染次序。
9.一种电子设备,其特征在于,包括存储器、处理器及存储在所述存储器上并可由所述处理器执行的计算机程序,所述处理器执行所述程序时实现如权利要求1至7中任意一项所述的方法。
10.一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使计算机执行根据权利要求1至7中任一项所述的方法。
CN202311216472.6A 2023-09-19 2023-09-19 模型渲染次序的确定方法、装置、电子设备及存储介质 Pending CN117252976A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311216472.6A CN117252976A (zh) 2023-09-19 2023-09-19 模型渲染次序的确定方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311216472.6A CN117252976A (zh) 2023-09-19 2023-09-19 模型渲染次序的确定方法、装置、电子设备及存储介质

Publications (1)

Publication Number Publication Date
CN117252976A true CN117252976A (zh) 2023-12-19

Family

ID=89130695

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311216472.6A Pending CN117252976A (zh) 2023-09-19 2023-09-19 模型渲染次序的确定方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN117252976A (zh)

Similar Documents

Publication Publication Date Title
KR102663617B1 (ko) 증강 현실 객체의 조건부 수정
US20170186219A1 (en) Method for 360-degree panoramic display, display module and mobile terminal
CN108882025B (zh) 视频帧处理方法和装置
US20170213394A1 (en) Environmentally mapped virtualization mechanism
CN114119853B (zh) 图像渲染方法、装置、设备和介质
US20140184596A1 (en) Image based rendering
US20230098615A1 (en) Augmented-reality experience control through non-fungible token
CN111915712B (zh) 光照渲染方法、装置、计算机可读介质及电子设备
CN115830173A (zh) 一种界面元素绘制方法及装置、设备、存储介质、产品
US8643678B1 (en) Shadow generation
KR20140000170A (ko) 관여 매질에 의해 수광된 광의 양을 추정하기 위한 방법 및 대응하는 장치
CN113282741A (zh) 知识图谱可视化方法、装置、设备及计算机可读介质
EP2831846B1 (en) Method for representing a participating media in a scene and corresponding device
CN117252959A (zh) 特效动画的生成方法、装置、电子设备及存储介质
US10754498B2 (en) Hybrid image rendering system
CN117252976A (zh) 模型渲染次序的确定方法、装置、电子设备及存储介质
Thorne Origin-centric techniques for optimising scalability and the fidelity of motion, interaction and rendering
Arora WebGL Game Development
Yu et al. A survey of real-time rendering on Web3D application
CN112967369B (zh) 一种光线展示方法和装置
CN117599420A (zh) 体积雾的生成方法、装置、电子设备及存储介质
CN113838214A (zh) 数据生成方法、装置、电子设备及计算机可读介质
CN117032617B (zh) 基于多屏幕的网格拾取方法、装置、设备及介质
CN114095719B (zh) 图像展示方法及图像展示装置、存储介质
Hall et al. Networked and multimodal 3d modeling of cities for collaborative virtual environments

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