CN113362436B - 一种对象渲染方法、装置、设备及存储介质 - Google Patents
一种对象渲染方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN113362436B CN113362436B CN202110604975.5A CN202110604975A CN113362436B CN 113362436 B CN113362436 B CN 113362436B CN 202110604975 A CN202110604975 A CN 202110604975A CN 113362436 B CN113362436 B CN 113362436B
- Authority
- CN
- China
- Prior art keywords
- rendered
- determining
- rendering
- vector
- included angle
- 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
Classifications
-
- 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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/38—Creation or generation of source code for implementing user interfaces
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Human Computer Interaction (AREA)
- Image Generation (AREA)
Abstract
本发明实施例公开了一种对象渲染方法、装置、设备及存储介质。该方法包括:在检测到对象渲染的触发事件时,获取与触发事件对应的待渲染对象的对象法线向量、及用于拍摄待渲染对象的对象拍摄设备的视角方向向量;确定对象法线向量和视角方向向量间的向量夹角,根据向量夹角确定待渲染对象的渲染程度;基于渲染程度从与待渲染对象关联的各像素点中确定待渲染像素点,并基于待渲染像素点渲染出待渲染对象。本发明实施例的技术方案,解决了待渲染对象的锋利面在面向对象拍摄设备时带来的锐利感较强的问题。
Description
技术领域
本发明实施例涉及计算机应用领域,尤其涉及一种对象渲染方法、装置、设备及存储介质。
背景技术
很多应用程序(Application,APP)的开发过程多涉及到界面开发,以界面开发中的树开发(即树绘制)为例,在实际应用中可以基于十字插片进行树的绘制,该十字插片可以是互为90°的两个叶片,由此用户在从不同角度观察该十字插片时都能感觉到是叶片,而且是不同形状的叶片。
在实现本发明的过程中,发明人发现现有技术中存在以下技术问题:如果十字插片的锋利面(即边缘)面向用户,这对于用户而言存在较强的锐利感,用户体验不佳。
发明内容
本发明实施例提供了一种对象渲染方法、装置、设备及存储介质,解决了待渲染对象的锋利面在面向对象拍摄设备时带来的锐利感较强的问题。
第一方面,本发明实施例提供了一种对象渲染方法,可以包括:
在检测到对象渲染的触发事件时,获取与该触发事件对应的待渲染对象的对象法线向量、及用于拍摄待渲染对象的对象拍摄设备的视角方向向量;
确定对象法线向量和视角方向向量间的向量夹角,并根据向量夹角确定待渲染对象的渲染程度;
基于渲染程度从与待渲染对象关联的各像素点中确定出待渲染像素点,并基于待渲染像素点渲染出待渲染对象。
可选的,待渲染对象可包括待渲染子对象,获取与触发事件对应的待渲染对象的对象法线向量,可以包括:
获取与触发事件对应的待渲染对象中的各待渲染子对象;
针对每个待渲染子对象,确定待渲染子对象的子对象法线向量;
获取用于拍摄待渲染对象的对象拍摄设备的视角方向向量,可以包括:
获取用于拍摄待渲染子对象的对象拍摄设备的视角方向向量;
确定对象法线向量和视角方向向量间的向量夹角,根据向量夹角确定待渲染对象的渲染程度,可以包括:
确定子对象法线向量和视角方向向量间的向量夹角,并根据向量夹角确定待渲染子对象的渲染程度;
基于渲染程度从与待渲染对象关联的各像素点中确定出待渲染像素点,并基于待渲染像素点渲染出待渲染对象,可以包括:
基于渲染程度从与待渲染子对象关联的各像素点中确定出待渲染像素点,并基于各待渲染像素点渲染出待渲染子对象;
根据各待渲染子对象的渲染结果完成待渲染对象的渲染。
在此基础上,可选的,待渲染子对象可以为三角片,确定待渲染子对象的子对象法线向量,可以包括:
获取待渲染对象的对象模型中的各对象顶点,并从各对象顶点中确定出与三角片关联的三角片顶点;
根据在各三角片顶点中存储的顶点法线向量,确定待渲染子对象的子对象法线向量。
可选的,根据向量夹角确定待渲染对象的渲染程度,可以包括:
确定向量夹角是否在预先设置的裁剪角度范围内;
若是,则根据向量夹角从预先设置的夹角强度关系中确定棋盘格强度;
基于渲染程度从与待渲染对象关联的各像素点中确定待渲染像素点,可以包括:
基于棋盘格强度从与待渲染对象关联的各像素点中确定出待渲染像素点。
在此基础上,可选的,基于棋盘格强度从与待渲染对象关联的各像素点中确定出待渲染像素点,可以包括:
针对与待渲染对象关联的每个像素点,获取像素点关联的棋盘格,对棋盘格中的各格子的格子强度进行计算,并根据计算结果和棋盘格强度确定是否需要裁减掉像素点,若是,则裁减掉像素点;
将未被裁减掉的像素点作为待渲染像素点。
再可选的,确定向量夹角是否在预先设置的裁剪角度范围内,可以包括:
根据向量夹角确定是否渲染待渲染对象;
若是,则确定向量夹角是否在预先设置的裁剪角度范围内。
在上述任意技术方案的基础上,可选的,棋盘格强度可以与待渲染像素点的第一数量和像素点的第二数量间的数量比例呈正相关;和/或,棋盘格强度可与向量夹角呈负相关。
第二方面,本发明实施例还提供了一种对象渲染装置,可以包括:
向量确定模块,用于在检测到对象渲染的触发事件时,获取与该触发事件对应的待渲染对象的对象法线向量、及用于拍摄待渲染对象的对象拍摄设备的视角方向向量;
渲染程度确定模块,用于确定对象法线向量和视角方向向量间的向量夹角,并根据向量夹角确定待渲染对象的渲染程度;
对象渲染模块,用于基于渲染程度从与待渲染对象关联的各像素点中确定待渲染像素点,并基于待渲染像素点渲染出待渲染对象。
第三方面,本发明实施例还提供了一种对象渲染设备,可以包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现本发明任意实施例所提供的对象渲染方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现本发明任意实施例所提供的对象渲染方法。
本发明实施例的技术方案,在获取到与检测到的用于实现对象渲染的触发事件对应的待渲染对象后,可以确定该待渲染对象的对象法线向量、以及用于拍摄该待渲染对象的对象拍摄设备的视角方向向量;确定对象法线向量和视角方向向量间的向量夹角,该向量夹角可以表示出该待渲染对象和对象拍摄设备间的视角关系,而该视角关系可以反映出在基于对象拍摄设备对该待渲染对象进行拍摄时,是否会出现该待渲染对象的锋利面面向该对象拍摄设备的情况,因此可以根据该向量夹角确定出该待渲染对象的渲染程度;进而,基于该渲染程度可以从与该待渲染对象关联的各像素点中确定出待渲染像素点,该待渲染像素点可以理解为在渲染后不会为与对象拍摄设备的视角方向相同的用户带来锐利感的像素点,由此可以基于这些待渲染像素点渲染出该待渲染对象。上述技术方案,通过待渲染对象的对象法线向量和对象拍摄设备的视角方向向量间的向量夹角,从与该待渲染对象关联的各像素点中裁剪掉会为与对象拍摄设备的视角方向相同的用户带来锐利感的像素点,并基于保留下来的待渲染像素点进行对象渲染,由此解决了该待渲染对象的锋利面在面向对象拍摄设备时带来的锐利感较强的问题,提升了用户体验。
附图说明
图1是本发明实施例一中的一种对象渲染方法的流程图;
图2a是本发明实施例一中的一种对象渲染方法中渲染效果的第一示意图;
图2b是本发明实施例一中的一种对象渲染方法中渲染效果的第二示意图;
图2c是本发明实施例一中的一种对象渲染方法中渲染效果的第三示意图;
图2d是本发明实施例一中的一种对象渲染方法中渲染效果的第四示意图;
图3是本发明实施例二中的一种对象渲染方法的流程图;
图4是本发明实施例二中的一种对象渲染方法中顶点法线的示意图;
图5是本发明实施例三中的一种对象渲染方法的流程图;
图6是本发明实施例三中的一种对象渲染方法中棋盘格强度的示意图;
图7是本发明实施例四中的一种对象渲染装置的结构框图;
图8是本发明实施例五中的一种对象渲染设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1是本发明实施例一中提供的一种对象渲染方法的流程图。本实施例可适用于对待渲染对象进行渲染的情况,尤其适用于在对象渲染过程中消除该待渲染对象中面向对象拍摄设备的锋利面的情况。该方法可以由本发明实施例所提供的对象渲染装置来执行,该装置可以由软件和/或硬件的方式实现,该装置可以集成在对象渲染设备上,该设备可以是各种用户终端或服务器。
参见图1,本发明实施例的方法具体包括如下步骤:
S110、在检测到对象渲染的触发事件时,获取与该触发事件对应的待渲染对象的对象法线向量、及用于拍摄待渲染对象的对象拍摄设备的视角方向向量。
其中,触发事件可以是在对待渲染对象存在渲染需求时触发的事件,如在该待渲染对象所在的对象界面进行加载/更新时触发,再如在该待渲染对象在该对象界面中的对象位置发生更新时触发,等等,在此未做具体限定。该待渲染对象可以是待进行渲染的对象,对象法线向量可以是该待渲染对象的法线向量,其可以用于确定该待渲染对象的方向。在实际应用中,可选的,以上文中阐述的叶片为例,该待渲染对象可以为整个叶片,也可以为该叶片中的某个三角片,等等,在此未做具体限定。对象拍摄设备可以是用于拍摄该待渲染对象的设备,比如摄像机、照相机、镜头等等,视角方向向量可以是该对象拍摄设备在视角方向上的法线向量,其可以根据normalize(设备位置–待渲染对象的世界空间坐标)确定,其中设备位置可以是该对象拍摄设备相对于该对象界面(或是说该待渲染对象)的位置。
S120、确定对象法线向量和视角方向向量间的向量夹角,并根据向量夹角确定待渲染对象的渲染程度。
其中,向量夹角可以是对象法线向量和视角方向向量之间的夹角,其可以表示出待渲染对象和对象拍摄设备之间的视角关系。由于根据该视角关系可以确定在基于该对象拍摄设备对该待渲染对象进行拍摄时,该待渲染对象的锋利面(即边缘)是否会面向该对象拍摄设备,因此根据该向量夹角可以确定该待渲染对象的渲染程度(即显示程度),比如当该锋利面会直面面向该对象拍摄设备时,渲染程度可以为0,即无需渲染该待渲染对象;再比如当该锋利面会侧面面向该对象拍摄设备时,渲染程度可以为(0,1]中的某数值,即对该待渲染对象进行部分渲染;等等,在此未做具体限定。
S130、基于渲染程度从与待渲染对象关联的各像素点中确定待渲染像素点,并基于待渲染像素点渲染出待渲染对象。
其中,为了渲染出与渲染程度相应的待渲染对象,可以基于该渲染程度从与该待渲染对象关联的各像素点中确定出待渲染像素点,该待渲染像素点可以理解为各像素点中可被渲染出来(即未被裁剪(clip)掉)的像素点,换言之,该待渲染像素点的渲染不会给用户带来锐利感/插片感。在实际应用中,可选的,上述待渲染像素点的确定过程可以理解为基于渲染程度对各像素点进行打洞的过程,而未被打洞的像素点可以为待渲染像素点。进而,可以基于这些待渲染像素点渲染出该待渲染对象,由此完成了该待渲染对象的渲染过程。
为了能够更加直观地体现出上述技术方案的实现效果,下面结合具体示例对其进行示例性的说明。示例性的,参见图2a-2d,其是对象拍摄设备在不同的设备位置上拍摄的画面,显然,在基于上述技术方案进行处理后的叶片中不再存在其锋利面直接面向对象拍摄设备的情况,画面的整体舒适度较佳。
本发明实施例的技术方案,在获取到与检测到的用于实现对象渲染的触发事件对应的待渲染对象后,可以确定该待渲染对象的对象法线向量、以及用于拍摄该待渲染对象的对象拍摄设备的视角方向向量;确定对象法线向量和视角方向向量间的向量夹角,该向量夹角可以表示出该待渲染对象和对象拍摄设备间的视角关系,而该视角关系可以反映出在基于对象拍摄设备对该待渲染对象进行拍摄时,是否会出现该待渲染对象的锋利面面向该对象拍摄设备的情况,因此可以根据该向量夹角确定出该待渲染对象的渲染程度;进而,基于该渲染程度可以从与该待渲染对象关联的各像素点中确定出待渲染像素点,该待渲染像素点可以理解为在渲染后不会为与对象拍摄设备的视角方向相同的用户带来锐利感的像素点,由此可以基于这些待渲染像素点渲染出该待渲染对象。上述技术方案,通过待渲染对象的对象法线向量和对象拍摄设备的视角方向向量间的向量夹角,从与该待渲染对象关联的各像素点中裁剪掉会为与对象拍摄设备的视角方向相同的用户带来锐利感的像素点,并基于保留下来的待渲染像素点进行对象渲染,由此解决了该待渲染对象的锋利面在面向对象拍摄设备时带来的锐利感较强的问题,提升了用户体验。
实施例二
图3是本发明实施例二中提供的一种对象渲染方法的流程图。本实施例以上述各技术方案为基础进行优化。在本实施例中,可选的,待渲染对象包括待渲染子对象,获取与触发事件对应的待渲染对象的对象法线向量,可以包括:获取与触发事件对应的待渲染对象中的各待渲染子对象;针对于每个待渲染子对象,确定待渲染子对象的子对象法线向量;获取用于拍摄待渲染对象的对象拍摄设备的视角方向向量,可以包括:获取用于拍摄待渲染子对象的对象拍摄设备的视角方向向量;确定对象法线向量和视角方向向量间的向量夹角,根据向量夹角确定待渲染对象的渲染程度,可以包括:确定子对象法线向量和视角方向向量间的向量夹角,并根据向量夹角确定待渲染子对象的渲染程度;基于渲染程度从与待渲染对象关联的各像素点中确定待渲染像素点,并基于待渲染像素点渲染出待渲染对象,可以包括:基于渲染程度从与待渲染子对象关联的各像素点中确定出待渲染像素点,并基于各待渲染像素点渲染出待渲染子对象;根据各待渲染子对象的渲染结果完成待渲染对象的渲染。其中,与上述各实施例相同或相应的术语的解释在此不再赘述。
参见图3,本实施例的方法具体可以包括如下步骤:
S210、在检测到对象渲染的触发事件时,获取与该触发事件对应的待渲染对象中的各待渲染子对象。
其中,待渲染对象可包括至少一个待渲染子对象,这些待渲染子对象可能位于同一平面上如平直的待渲染对象,也可能位于不同的平面上比如弯曲的待渲染对象。为了更加精细化的消除该待渲染对象中面向对象拍摄设备的锋利面,可以以每个待渲染子对象为个体分别进行处理,即每个待渲染子对象独立进行渲染,然后根据各待渲染子对象的渲染结果完成该待渲染对象的渲染。由此,在检测到用于实现对象渲染的触发事件时,可以先获取与该触发事件对应的待渲染对象中的各待渲染子对象。
S220、针对每个待渲染子对象,确定该待渲染子对象的子对象法线向量,且获取用于该拍摄待渲染子对象的对象拍摄设备的视角方向向量。
其中,每个待渲染子对象均执行S220-S240,其具体执行过程与实施例一中的执行过程相同,在此不再赘述。
S230、确定子对象法线向量和视角方向向量间的向量夹角,并根据该向量夹角确定待渲染子对象的渲染程度。
S240、基于渲染程度从与待渲染子对象关联的各个像素点中确定出待渲染像素点,并基于各待渲染像素点渲染出待渲染子对象。
S250、根据各待渲染子对象的渲染结果完成待渲染对象的渲染。
其中,在完成每个待渲染子对象的渲染任务后,待渲染对象的渲染任务亦完成。
本发明实施例的技术方案,由于待渲染对象包括至少一个待渲染子对象,为了更加精细化地消除待渲染对象中面向对象拍摄设备的锋利面,可以将每个待渲染子对象作为个体独立进行渲染,即针对于每个待渲染子对象,通过依次确定其的子对象法线向量、向量夹角和渲染程度来完成该待渲染子对象的渲染,然后根据各待渲染子对象的渲染结果完成待渲染对象的渲染,由此更加精细化地剔除了该待渲染对象中面向对象拍摄设备的锋利面,用户体验更佳。
一种可选的技术方案,待渲染子对象可以为三角片,确定待渲染子对象的子对象法线向量,可以包括:获取待渲染对象的对象模型中的各对象顶点,并从各对象顶点中确定出与三角片关联的三角片顶点;根据在各三角片顶点中存储的顶点法线向量确定待渲染子对象的子对象法线向量。其中,对象模型可以是待渲染对象的预先设置的包括顶点、网格、蒙皮、蒙板等内容的模型,例如,在由各顶点构成的网格上蒙上蒙皮,然后在该蒙皮上蒙上蒙板后得到的模型。由此可见,该待渲染对象的对象模型中可以包括多个顶点(此处称为对象顶点),而且在每个对象顶点中可以存储有很多的属性信息,比如顶点纹理坐标、顶点切线向量、顶点法线向量等等,其中顶点法线(Vertex Normal)向量可以理解为经过顶点的矢量,示例性的,如图4中所示的各条直线即为经过相应的顶点的顶点法线。在此基础上,由于三角片是该待渲染对象中的一部分,那么针对每个三角片,可以从各对象顶点中确定出与该三角片对应的三角片顶点,进而可以从各三角片顶点中分别获取相应的顶点法线向量,然后根据这些顶点法线向量确定该三角片的子对象法线向量,由此达到了对象法线向量的快速且准确确定的效果。
需要说明的是,在对象渲染过程中可能涉及到顶点着色器和像素着色器,负责像素点计算的顶点着色器先工作,而负责像素点绘制的像素着色器后工作,因此先在顶点着色器中计算出哪些像素点(或是说哪些顶点)无需渲染,然后再将计算结果传输给像素着色器以对这些无需渲染的像素点进行裁剪。因此,从计算机性能消耗角度而言,即使三角片的数量非常多,性能消耗也仅在顶点着色器上,而像素着色器因为需要绘制的待绘制像素点的像素点数量只与显示屏幕的分辨率有关,其性能消耗是一定的,不会对计算机产生压力,其中该待绘制像素点是在顶点着色器计算好的待渲染像素点的基础上进行压缩后得到。
实施例三
图5是本发明实施例三中提供的一种对象渲染方法的流程图。本实施例以上述各技术方案为基础进行优化。在本实施例中,可选的,根据向量夹角确定待渲染对象的渲染程度,可以包括:确定向量夹角是否在预先设置的裁剪角度范围内;若是,则根据向量夹角从预先设置的夹角强度关系中确定棋盘格强度;基于渲染程度从与待渲染对象关联的各像素点中确定待渲染像素点,可以包括:基于棋盘格强度从与待渲染对象关联的各像素点中确定出待渲染像素点。其中,与上述各实施例相同或相应的术语的解释在此不再赘述。
参见图5,本实施例的方法具体可以包括如下步骤:
S310、在检测到对象渲染的触发事件时,获取与该触发事件对应的待渲染对象的对象法线向量、及用于拍摄待渲染对象的对象拍摄设备的视角方向向量。
S320、确定对象法线向量和视角方向向量间的向量夹角。
S330、确定向量夹角是否在预先设置的裁剪角度范围内,如果是,则根据向量夹角从预先设置的夹角强度关系中确定棋盘格强度。
其中,当根据向量夹角确定待渲染对象的锋利面并未面向对象拍摄设备,或者只是些许面向该对象拍摄设备时,此时的待渲染对象并未给用户带来较强的锐利感,可以渲染整个待渲染对象;否则可以对该待渲染对象进行部分渲染以减弱甚至是消除这种锐利感。具体的,先通过确定向量夹角是否在预先设置的裁剪角度范围内以确定是否需要对该待渲染对象进行部分渲染(即消隐显示),如果是,则可以根据向量夹角从预先设置的夹角强度关系中确定棋盘格强度,其中该夹角强度关系可以是预先设置的各向量夹角和各棋盘格强度(checkbroad Intensity)间的对应关系,该棋盘格强度可以是与该待渲染对象的渲染程度有关的强度。实际应用中,可选的,棋盘格强度越大则待渲染对象的渲染程度越大,即显现效果越明显,示例性的,如图6所示,从左到右,棋盘格强度逐渐变小(即棋盘格效果逐渐变小),位于棋盘格后方的待渲染对象的透明度逐渐升高(即从全不透明到半透明到全透明),其显现效果逐渐降低。再可选的,棋盘格强度还可以与向量夹角呈负相关,即向量夹角越大则棋盘格强度越小,这是因为向量夹角越大则说明该待渲染对象带给用户的锐利感越强,此时可以基于较小的棋盘格强度消隐掉该待渲染对象中的大部分像素点,示例性的,当向量夹角从45度到90度过渡变化时,棋盘格强度可以从1-0进行过渡变化,此时的裁剪角度范围可以为(45-90)度。
在此基础上,可选的,在确定向量夹角是否在预先设置的裁剪角度范围内之前,还可以先根据向量夹角确定是否渲染待渲染对象,若是则再确定该向量夹角是否在预先设置的裁剪角度范围内。这样设置的好处在于,如果根据向量夹角确定待渲染对象的锋利面基本上直接面向对象拍摄设备,如向量夹角在90度左右时,待渲染对象和对象拍摄设备基本上呈垂直状态,此时的待渲染对象会给用户带来非常强烈的锐利感,那么可以直接消除该待渲染对象,无需进行任何渲染;否则可以进行是否进行部分渲染的判断,由此从多个角度有效保证了用户体验,彻底消除了垂直于对象拍摄设备的待渲染对象。
S340、基于棋盘格强度从与待渲染对象关联的各个像素点中确定出待渲染像素点,并基于待渲染像素点渲染出待渲染对象。
其中,由于棋盘格强度可以是与待渲染对象的渲染程度有关的强度,其是可以表示出该待渲染对象的显现程度,因此可以基于该棋盘格强度从与待渲染对象关联的各个像素点中确定出待渲染像素点。需要说明的是,那些无需渲染出来的像素点可以理解为无需基于像素着色器进行绘制的像素点,这就好比在该像素点上打了洞,从洞中可以看到后面的像素点,由此基于这些待渲染像素点渲染出的待渲染对象可以理解为只被绘制了部分的对象,其可以呈现出如同棋盘格似的部分透明的显示效果,且因为只绘制了部分而无需消耗较多的算力,由此还达到了节省功耗的效果。
在实际应用中,可选的,棋盘格强度还可以与待渲染像素点的第一数量和像素点的第二数量间的数量比例呈正相关,其中第二数量可以是各像素点的总数量,第一数量可以是各待渲染像素点的总数量,换言之,棋盘格强度越大,待渲染像素点越多,由此渲染出的待渲染对象的透明度越低,即待渲染对象的消隐显示效果越弱。
本发明实施例的技术方案,通过确定向量夹角是否在预先设置的裁剪角度范围内以确定是否需要对待渲染对象进行部分渲染,如果是,则可以根据向量夹角从预先设置的夹角强度关系中确定与该待渲染对象的渲染程度有关的棋盘格强度,然后基于该棋盘格强度从与该待渲染对象关联的各像素点中确定出待渲染像素点,由此在节省功耗的同时达到了待渲染对象的消隐显示的效果。
一种可选的技术方案,基于棋盘格强度从与待渲染对象关联的各像素点中确定出待渲染像素点,可以包括:针对与待渲染对象关联的每个像素点,获取像素点关联的棋盘格,对棋盘格中的各格子的格子强度进行计算,并根据计算结果和棋盘格强度确定是否需要裁减掉像素点,若是,则裁减掉像素点;将未被裁减掉的像素点作为待渲染像素点。其中,每个像素点均存在与自己关联的包括多个格子的棋盘格,比如8*8的棋盘格、8*6的棋盘格等等,且每个格子均具有各自的格子强度,因此针对与该待渲染对象关联的每个像素点,可以先获取与该像素点关联的棋盘格,然后再对该棋盘格中各个格子的格子强度进行计算,比如均值计算、方差计算、中值计算等等,并根据计算结果和已确定的棋盘格强度确定该像素点是否为待渲染像素点,如将计算结果大于等于棋盘格强度的像素点作为待渲染像素点,由此实现了待渲染像素点的精准确定的效果。
实施例四
图7为本发明实施例四提供的对象渲染装置的结构框图,该装置用于执行上述任意实施例所提供的对象渲染方法。该装置与上述各实施例的对象渲染方法属于同一个发明构思,在对象渲染装置的实施例中未详尽描述的细节内容,可以参考上述对象渲染方法的实施例。参见图7,该装置具体可以包括:向量确定模块410、渲染程度确定模块420和对象渲染模块430。
其中,向量确定模块410,用于在检测到对象渲染的触发事件时,获取与触发事件对应的待渲染对象的对象法线向量、以及用于拍摄待渲染对象的对象拍摄设备的视角方向向量;
渲染程度确定模块420,用于确定对象法线向量和视角方向向量间的向量夹角,根据向量夹角确定待渲染对象的渲染程度;
对象渲染模块430,用于基于渲染程度从与待渲染对象关联的各像素点中确定待渲染像素点,并基于待渲染像素点渲染出待渲染对象。
可选的,待渲染对象包括待渲染子对象,向量确定模块410,可以包括:
待渲染子对象获取单元,用于获取与触发事件对应的待渲染对象中的各待渲染子对象;子对象法线向量确定单元,用于针对每个待渲染子对象,确定待渲染子对象的子对象法线向量;视角方向向量获取单元,用于获取用于拍摄待渲染子对象的对象拍摄设备的视角方向向量;
相应的,渲染程度确定模块420,可以包括:
渲染程度确定单元,用于确定子对象法线向量和视角方向向量之间的向量夹角,并根据向量夹角确定待渲染子对象的渲染程度;
相应的,对象渲染模块430,可以包括:
待渲染子对象渲染单元,用于基于渲染程度从与待渲染子对象关联的各像素点中确定出待渲染像素点,并基于各待渲染像素点渲染出待渲染子对象;
待渲染对象渲染单元,用于根据各个待渲染子对象的渲染结果完成待渲染对象的渲染。
在此基础上,可选的,待渲染子对象可以为三角片,子对象法线向量确定单元,可以包括:
三角片顶点获取子单元,用于获取待渲染对象的对象模型中的各对象顶点,并从各对象顶点中确定出与三角片关联的三角片顶点;
子对象法线向量确定子单元,用于根据在各三角片顶点中存储的顶点法线向量确定待渲染子对象的子对象法线向量。
可选的,渲染程度确定模块420,可以包括:
向量夹角确定单元,用于确定向量夹角是否在预先设置的裁剪角度范围内;
棋盘格强度确定单元,用于若是,则根据向量夹角从预先设置的夹角强度关系中确定棋盘格强度;
对象渲染模块430,可以包括:
待渲染像素点确定单元,用于基于棋盘格强度从与该待渲染对象关联的各像素点中确定出待渲染像素点。
在此基础上,可选的,待渲染像素点确定单元,可以包括:
像素点裁剪子单元,用于针对与待渲染对象关联的每个像素点,获取像素点关联的棋盘格,对棋盘格中的各格子的格子强度进行计算,并根据计算结果和棋盘格强度确定是否需要裁减掉像素点,若是,则裁减掉像素点;
待渲染像素点确定子单元,用于将未被裁减掉的像素点作为待渲染像素点。
再可选的,向量夹角确定单元,可以包括:
待渲染对象确定子单元,用于根据向量夹角确定是否渲染待渲染对象;
向量夹角确定子单元,用于若是,则确定向量夹角是否在预先设置的裁剪角度范围内。
在上述任意技术方案的基础上,可选的,棋盘格强度可以与待渲染像素点的第一数量和像素点的第二数量间的数量比例呈正相关;和/或,棋盘格强度可与向量夹角呈负相关。
本发明实施例四提供的对象渲染装置,通过向量确定模块在获取到与检测到的用于实现对象渲染的触发事件对应的待渲染对象后,可以确定待渲染对象的对象法线向量、以及用于拍摄该待渲染对象的对象拍摄设备的视角方向向量;通过渲染程度确定模块确定对象法线向量和视角方向向量间的向量夹角,向量夹角可以表示出该待渲染对象和对象拍摄设备间的视角关系,该视角关系可以反映出在基于对象拍摄设备对该待渲染对象进行拍摄时,是否会出现该待渲染对象的锋利面面向该对象拍摄设备的情况,因此可以根据该向量夹角确定出该待渲染对象的渲染程度;进而,对象渲染模块基于该渲染程度可以从与待渲染对象关联的各像素点中确定出待渲染像素点,待渲染像素点可以理解为在渲染之后不会为与对象拍摄设备的视角方向相同的用户带来锐利感的像素点,由此可以基于这些待渲染像素点渲染出该待渲染对象。上述装置,通过待渲染对象的对象法线向量和对象拍摄设备的视角方向向量间的向量夹角,从与该待渲染对象关联的各像素点中裁剪掉会为与对象拍摄设备的视角方向相同的用户带来锐利感的像素点,并基于保留下来的待渲染像素点进行对象渲染,由此解决了该待渲染对象的锋利面在面向对象拍摄设备时带来的锐利感较强的问题,提升了用户体验。
本发明实施例所提供的对象渲染装置可执行本发明任意实施例所提供的对象渲染方法,具备执行方法相应的功能模块和有益效果。
值得注意的是,上述对象渲染装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
实施例五
图8为本发明实施例五提供的一种对象渲染设备的结构示意图,参见图8,该设备包括存储器510、处理器520、输入装置530和输出装置540。设备中的处理器520的数量可以是一个或多个,图8中以一个处理器520为例;设备中的存储器510、处理器520、输入装置530和输出装置540可以通过总线或其它方式连接,图8中以通过总线550连接为例。
存储器510作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的对象渲染方法对应的程序指令/模块(例如,对象渲染装置中的向量确定模块410、渲染程度确定模块420和对象渲染模块430)。处理器520通过运行存储在存储器510中的软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现上述的对象渲染方法。
存储器510可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据设备的使用所创建的数据等。此外,存储器510可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器510可进一步包括相对于处理器520远程设置的存储器,这些远程存储器可以通过网络连接至设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置530可用于接收输入的数字或字符信息,以及产生与装置的用户设置以及功能控制有关的键信号输入。输出装置540可包括显示屏等显示设备。
实施例六
本发明实施例六提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种对象渲染方法,该方法包括:
在检测到对象渲染的触发事件时,获取与该触发事件对应的待渲染对象的对象法线向量、及用于拍摄待渲染对象的对象拍摄设备的视角方向向量;
确定对象法线向量和视角方向向量间的向量夹角,并根据向量夹角确定待渲染对象的渲染程度;
基于渲染程度从与待渲染对象关联的各像素点中确定出待渲染像素点,并基于待渲染像素点渲染出待渲染对象。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的对象渲染方法中的相关操作。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。依据这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (8)
1.一种对象渲染方法,其特征在于,包括:
在检测到对象渲染的触发事件时,获取与所述触发事件对应的待渲染对象的对象法线向量、及用于拍摄所述待渲染对象的对象拍摄设备的视角方向向量;
确定所述对象法线向量和所述视角方向向量间的向量夹角,根据所述向量夹角确定所述待渲染对象的渲染程度;
基于所述渲染程度从与所述待渲染对象关联的各像素点中确定待渲染像素点,并基于所述待渲染像素点渲染出所述待渲染对象;
所述根据所述向量夹角确定所述待渲染对象的渲染程度,包括:
确定所述向量夹角是否在预先设置的裁剪角度范围内;
若是,则根据所述向量夹角从预先设置的夹角强度关系中确定棋盘格强度;
所述基于所述渲染程度从与所述待渲染对象关联的各像素点中确定待渲染像素点,包括:
基于所述棋盘格强度从与所述待渲染对象关联的各像素点中确定出待渲染像素点;
所述基于所述棋盘格强度从与所述待渲染对象关联的各像素点中确定出待渲染像素点,包括:
针对与所述待渲染对象关联的每个像素点,获取所述像素点关联的棋盘格,对所述棋盘格中的各格子的格子强度进行计算,并根据计算结果和所述棋盘格强度确定是否需要裁减掉所述像素点,若是,则裁减掉所述像素点;
将未被裁减掉的所述像素点作为待渲染像素点。
2.根据权利要求1所述的方法,其特征在于,所述待渲染对象包括待渲染子对象,所述获取与所述触发事件对应的待渲染对象的对象法线向量,包括:
获取与所述触发事件对应的待渲染对象中的各所述待渲染子对象;
针对每个所述待渲染子对象,确定所述待渲染子对象的子对象法线向量;
所述获取用于拍摄所述待渲染对象的对象拍摄设备的视角方向向量,包括:
获取用于拍摄所述待渲染子对象的对象拍摄设备的视角方向向量;
所述确定所述对象法线向量和所述视角方向向量间的向量夹角,根据所述向量夹角确定所述待渲染对象的渲染程度,包括:
确定所述子对象法线向量和所述视角方向向量间的向量夹角,并根据所述向量夹角确定所述待渲染子对象的渲染程度;
所述基于所述渲染程度从与所述待渲染对象关联的各像素点中确定待渲染像素点,并基于所述待渲染像素点渲染出所述待渲染对象,包括:
基于所述渲染程度从与所述待渲染子对象关联的各像素点中确定出待渲染像素点,并基于各所述待渲染像素点渲染出所述待渲染子对象;
根据各所述待渲染子对象的渲染结果完成所述待渲染对象的渲染。
3.根据权利要求2所述的方法,其特征在于,所述待渲染子对象为三角片,所述确定所述待渲染子对象的子对象法线向量,包括:
获取所述待渲染对象的对象模型中的各对象顶点,并从各所述对象顶点中确定出与所述三角片关联的三角片顶点;
根据在各所述三角片顶点中存储的顶点法线向量确定所述待渲染子对象的子对象法线向量。
4.根据权利要求1所述的方法,其特征在于,所述确定所述向量夹角是否在预先设置的裁剪角度范围内,包括:
根据所述向量夹角确定是否渲染所述待渲染对象;
若是,则确定所述向量夹角是否在预先设置的裁剪角度范围内。
5.根据权利要求4所述的方法,其特征在于,所述棋盘格强度与所述待渲染像素点的第一数量和所述像素点的第二数量间的数量比例呈正相关,其中,所述第一数量为各待渲染像素点的总数量,所述第二数量为各像素点的总数量;和/或,所述棋盘格强度与所述向量夹角呈负相关。
6.一种对象渲染装置,其特征在于,包括:
向量确定模块,用于在检测到对象渲染的触发事件时,获取与所述触发事件对应的待渲染对象的对象法线向量、及用于拍摄所述待渲染对象的对象拍摄设备的视角方向向量;
渲染程度确定模块,用于确定所述对象法线向量和所述视角方向向量间的向量夹角,根据所述向量夹角确定所述待渲染对象的渲染程度;
对象渲染模块,用于基于所述渲染程度从与所述待渲染对象关联的各像素点中确定待渲染像素点,并基于所述待渲染像素点渲染出所述待渲染对象;
所述渲染程度确定模块,包括:
向量夹角确定单元,用于确定所述向量夹角是否在预先设置的裁剪角度范围内;
棋盘格强度确定单元,用于若是,则根据所述向量夹角从预先设置的夹角强度关系中确定棋盘格强度;
所述对象渲染模块,包括:
待渲染像素点确定单元,用于基于所述棋盘格强度从与所述待渲染对象关联的各像素点中确定出待渲染像素点;
所述待渲染像素点确定单元,包括:
像素点裁剪子单元,用于针对与所述待渲染对象关联的每个像素点,获取所述像素点关联的棋盘格,对所述棋盘格中的各格子的格子强度进行计算,并根据计算结果和所述棋盘格强度确定是否需要裁减掉所述像素点,若是,则裁减掉所述像素点;
待渲染像素点确定子单元,用于将未被裁减掉的所述像素点作为待渲染像素点。
7.一种对象渲染设备,其特征在于,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-5中任一所述的对象渲染方法。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-5中任一所述的对象渲染方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110604975.5A CN113362436B (zh) | 2021-05-31 | 2021-05-31 | 一种对象渲染方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110604975.5A CN113362436B (zh) | 2021-05-31 | 2021-05-31 | 一种对象渲染方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113362436A CN113362436A (zh) | 2021-09-07 |
CN113362436B true CN113362436B (zh) | 2023-09-12 |
Family
ID=77530586
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110604975.5A Active CN113362436B (zh) | 2021-05-31 | 2021-05-31 | 一种对象渲染方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113362436B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102137268A (zh) * | 2011-04-08 | 2011-07-27 | 清华大学 | 立体视频的行交错和棋盘格的渲染方法及装置 |
CN109658365A (zh) * | 2017-10-11 | 2019-04-19 | 阿里巴巴集团控股有限公司 | 图像处理方法、装置、系统和存储介质 |
CN109985384A (zh) * | 2019-03-21 | 2019-07-09 | 网易(杭州)网络有限公司 | 贴图动态调整方法及装置 |
CN111009026A (zh) * | 2019-12-24 | 2020-04-14 | 腾讯科技(深圳)有限公司 | 对象渲染方法和装置、存储介质及电子装置 |
CN111243071A (zh) * | 2020-01-08 | 2020-06-05 | 叠境数字科技(上海)有限公司 | 实时三维人体重建的纹理渲染方法、系统、芯片、设备和介质 |
CN111768485A (zh) * | 2020-06-28 | 2020-10-13 | 北京百度网讯科技有限公司 | 三维图像的关键点标注方法、装置、电子设备及存储介质 |
CN111882631A (zh) * | 2020-07-24 | 2020-11-03 | 上海米哈游天命科技有限公司 | 一种模型渲染方法、装置、设备及存储介质 |
CN112132936A (zh) * | 2020-09-22 | 2020-12-25 | 上海米哈游天命科技有限公司 | 画面渲染方法、装置、计算机设备及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3872767A1 (en) * | 2014-04-05 | 2021-09-01 | Sony Interactive Entertainment LLC | Method for efficient re-rendering objects to vary viewports and under varying rendering and rasterization parameters |
-
2021
- 2021-05-31 CN CN202110604975.5A patent/CN113362436B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102137268A (zh) * | 2011-04-08 | 2011-07-27 | 清华大学 | 立体视频的行交错和棋盘格的渲染方法及装置 |
CN109658365A (zh) * | 2017-10-11 | 2019-04-19 | 阿里巴巴集团控股有限公司 | 图像处理方法、装置、系统和存储介质 |
CN109985384A (zh) * | 2019-03-21 | 2019-07-09 | 网易(杭州)网络有限公司 | 贴图动态调整方法及装置 |
CN111009026A (zh) * | 2019-12-24 | 2020-04-14 | 腾讯科技(深圳)有限公司 | 对象渲染方法和装置、存储介质及电子装置 |
CN111243071A (zh) * | 2020-01-08 | 2020-06-05 | 叠境数字科技(上海)有限公司 | 实时三维人体重建的纹理渲染方法、系统、芯片、设备和介质 |
CN111768485A (zh) * | 2020-06-28 | 2020-10-13 | 北京百度网讯科技有限公司 | 三维图像的关键点标注方法、装置、电子设备及存储介质 |
CN111882631A (zh) * | 2020-07-24 | 2020-11-03 | 上海米哈游天命科技有限公司 | 一种模型渲染方法、装置、设备及存储介质 |
CN112132936A (zh) * | 2020-09-22 | 2020-12-25 | 上海米哈游天命科技有限公司 | 画面渲染方法、装置、计算机设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113362436A (zh) | 2021-09-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8743114B2 (en) | Methods and systems to determine conservative view cell occlusion | |
EP1950706A2 (en) | Method for distributed clipping outside of view volume | |
CN110264405B (zh) | 基于插值算法的图像处理方法、装置、服务器和存储介质 | |
CN112473126B (zh) | 场景消隐处理方法、装置、电子设备及介质 | |
CN110580678B (zh) | 图像处理方法及装置 | |
CN111790150B (zh) | 阴影数据确定方法、装置、设备和可读介质 | |
CN111311528A (zh) | 图像融合优化方法、装置、设备和介质 | |
CN113327193A (zh) | 图像处理方法、装置、电子设备和介质 | |
US20180253886A1 (en) | Texturing of a three-dimensional (3d) model by uv map in-painting | |
CN113362436B (zh) | 一种对象渲染方法、装置、设备及存储介质 | |
CN112070854B (zh) | 一种图像生成方法、装置、设备及存储介质 | |
CN110838167B (zh) | 模型的渲染方法、装置和存储介质 | |
CN113763526B (zh) | 一种头发高光渲染方法、装置、设备及存储介质 | |
CN113282290B (zh) | 一种对象渲染方法、装置、设备及存储介质 | |
CN115761123B (zh) | 三维模型处理方法、装置、电子设备以及存储介质 | |
CN107730577B (zh) | 一种勾线渲染方法、装置、设备及介质 | |
CN110796722A (zh) | 三维渲染呈现方法及装置 | |
CN114627225A (zh) | 图形渲染方法、装置及存储介质 | |
CN112435322B (zh) | 一种3d模型的渲染方法、装置、设备及存储介质 | |
CN113282289B (zh) | 一种对象渲染方法、装置、设备及存储介质 | |
CN114119846A (zh) | 分层层次细节模型生成方法及装置 | |
CN109634567B (zh) | 一种信息创建方法、装置、终端及存储介质 | |
CN113256484A (zh) | 一种对图像进行风格化处理的方法及装置 | |
CN114298887A (zh) | 战争迷雾的生成方法、装置、电子设备和存储介质 | |
CN113763527B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |