一种公告板生成方法及装置与流程

文档序号:14424940阅读:204来源:国知局

本发明涉及计算机图形计算领域,具体而言,涉及一种公告板生成方法及装置。



背景技术:

公告板是一种特殊的面片,它会根据摄像机的角度进行旋转,使其始终朝向摄像机,如此可以用较少的面片获得较丰富的效果。将其用在树木中可以用很少的面片表示很茂密的树叶,这种技术在实时渲染中广泛使用。

发明人经研究发现,现有技术中,由于生成的公告板的形状及相互位置关系上的缺点,导致得到的树叶的叶片形状单一,人工痕迹明显。



技术实现要素:

有鉴于此,本发明的目的在于提供一种公告板生成方法及装置,以解决上述问题。

本发明的较佳实施例提供一种公告板生成方法,所述方法包括:

将公告板面片导入以第一向量和第二向量所形成的平面上,其中,所述第一向量和所述第二向量垂直;

将所述公告板面片以第三向量为轴进行随机旋转,其中,所述第三向量垂直于所述第一向量和所述第二向量所形成的平面;

调整旋转后的公告板面片所包含的各个顶点的位置,以得到调整后的公告板面片。

可选地,在上述方法中,所述公告板面片为多个,所述调整旋转后的公告板面片所包含的各个顶点的位置的步骤,包括:

针对旋转后的各个公告板面片所包含的各个顶点,沿所述第一向量、所述第二向量和所述第三向量中的至少一个向量方向将各所述公告板面片中的各顶点在预设范围内进行随机移动。

可选地,在上述方法中,所述预设范围通过以下步骤获得:

获得导入至所述第一向量和所述第二向量所形成的平面的公告板面片的边长;

将所述边长乘以预设系数得到所述预设范围。

可选地,在上述方法中,所述将公告板面片导入以第一向量和第二向量所形成的平面上的步骤之前,所述方法还包括:

将重叠在同一位置的多个点位传入顶点着色器中;

在所述顶点着色器中对所述多个点位进行位置变换,得到以所述多个点位为顶点的公告板面片。

可选地,在上述方法中,所述在所述顶点着色器中对所述多个点位进行位置变换的步骤,包括:

以所述多个点位重叠的位置为圆心,在所述第一向量和所述第二向量形成的平面上采样获得与所述圆心相邻的多个相邻点位,其中,所述相邻点位的数量与所述点位的数量相同;

在所述第一向量和所述第二向量形成的平面上将所述多个点位从所述圆心的位置处分别向所述多个相邻点位展开。

可选地,在上述方法中,所述点位和所述相邻点位的数量为四个,所述以所述多个点位重叠的位置为圆心,在所述第一向量和所述第二向量形成的平面上采样获得与所述圆心相邻的多个相邻点位的步骤,包括:

以所述多个点位重叠的位置为圆心,分别沿所述第一向量的正、负方向和所述第二向量的正、负方向按预设步长采样获得一个相邻点位,以获得与所述圆心相邻的四个相邻点位。

本发明的另一较佳实施例提供一种公告板生成装置,所述装置包括:

导入模块,用于将公告板面片导入以第一向量和第二向量所形成的平面上,其中,所述第一向量和所述第二向量垂直;

旋转模块,用于将所述公告板面片以第三向量为轴进行随机旋转,其中,所述第三向量垂直于所述第一向量和所述第二向量所形成的平面;

调整模块,用于调整旋转后的公告板面片所包含的各个顶点的位置,以得到调整后的公告板面片。

可选地,在上述装置中,所述调整模块用于针对旋转后的公告板面片所包含的各个顶点,沿所述第一向量、所述第二向量和所述第三向量中的至少一个向量方向将各所述顶点在预设范围内进行随机移动。

可选地,在上述装置中,所述装置还包括边长获取模块以及预设范围获取模块;

所述边长获取模块用于获得导入至所述第一向量和所述第二向量所形成的平面的公告板面片的边长;

所述预设范围获取模块用于将所述边长乘以预设系数得到所述预设范围。

可选地,在上述装置中,所述装置还包括传入模块以及位置变换模块;

所述传入模块用于将重叠在同一位置的多个点位传入顶点着色器中;

所述位置变换模块用于在所述顶点着色器中对所述多个点位进行位置变换,得到以所述多个点位为顶点的公告板面片。

本发明实施例提供的公告板生成方法及装置,通过将第一向量和第二向量所形成的平面上的公告板面片以垂直于所述平面的第三向量为轴进行随机旋转,并对旋转后的公告板面片所包含的各个顶点的位置进行调整,以得到调整后的公告板面片。通过上述步骤,可改变公告板面片的形状,增加公告板面片的随机感,且通过对公告板面片包含的各个顶点的位置进行调整,改变各个公告板面片的相互位置关系,避免角度改变时后面的公告板面片的突然跳出现象,且消除了z-fighting现象。

为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1为本发明实施例提供的电子设备的结构框图。

图2为本发明实施例提供的公告板生成方法的流程图。

图3为本发明实施例提供的公告板生成方法的另一流程图。

图4为图3中步骤s203的子步骤的流程图。

图5为本发明实施例提供的传入顶点着色器之前多个点位的位置示意图。

图6为本发明实施例提供的进行扩展后的点位的位置示意图。

图7为本发明实施例提供的进行旋转后的公告板面片的示意图。

图8为本发明实施例提供的旋转后的公告板面片渲染成树叶时的示意图。

图9为本发明实施例提供的公告板生成方法的另一流程图。

图10为本发明实施例提供的顶点移动后的公告板面片渲染成树叶时的示意图。

图11为本发明实施例提供的公告板生成装置的功能模块框图。

图12为本发明实施例提供的公告板生成装置的另一功能模块框图。

图标:100-电子设备;110-公告板生成装置;111-导入模块;112-旋转模块;113-调整模块;114-边长获取模块;115-预设范围获取模块;116-传入模块;117-位置变换模块;120-处理器;130-存储器。

具体实施方式

现有技术中,生成的公告板一般具有统一的形状,导致得到的树叶的叶片形状单调,人工痕迹明显。经发明人研究发现,真实树叶的随机性较强,很难找到形状重复的树叶,因此叶片的网格应该具有一定的随机性,而不能采用统一的形状。并且,现有技术中,生成的各个公告板处于相互平行的平面上,当旋转摄像机时会出现后面的叶片突然跳出的现象,且在某些角度下,很容易出现一些公告板面片非常贴近的情况,由于深度缓冲区精度的限制,对于深度相差非常小的情况,难以正确判断两者的深度值,导致深度测试的结果不可预测,显示出来的现象是交错闪烁的前后两个画面,即出现了z-fighting现象。

基于上述研究,本发明实施例提供了一种公告板生成方案,通过对公告板面片进行整体随机旋转,再对旋转后的公告板面片包含的多个顶点进行位置调整,从而使得到的公告板面片形状具有随机性,且各公告板面片相互之间不总是平行状态,以避免突然跳出及z-fighting现象。

下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本发明的描述中,除非另有明确的规定和限定,术语“安装”、“设置”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。

请参阅图1,为本发明实施例提供的电子设备100的方框示意图。在本实施例中,所述电子设备100包括公告板生成装置110、处理器120以及存储器130。其中,所述存储器130与处理器120之间直接或间接地电性连接,以实现数据的传输或交互。所述公告板生成装置110包括至少一个可以软件或固件的形式存储于所述存储器130中或固化在所述电子设备100的操作系统中的软件功能模块。所述处理器120用于执行存储器130中存储的可执行模块,例如所述公告板生成装置110包括的软件功能模块或计算机程序,以对公告板的生成过程进行控制。

本实施例中,所述电子设备100可以是,但不限于具有数据处理及图像处理能力的终端设备,例如个人电脑、笔记本电脑等。

如图2所示,是本发明实施例提供的一种应用于图1所示的电子设备100的公告板生成方法的示意性流程图。所应说明的是,本实施例提供的方法不以图2及以下所述的顺序为限制。下面将对图2所示的具体流程进行详细的阐述。

步骤s101,将公告板面片导入以第一向量和第二向量所形成的平面上,其中,所述第一向量和所述第二向量垂直。

公告板效果就是直接使用公告板来渲染出一定的特殊效果。常规公告板的面方向始终与视线的方向垂直,就是让所有面片都能面对摄像机,这样在渲染时才不会有严重失真的表现。但是,若所有公告板面片均面向摄像机,且保持一致的形状,会使呈现出的效果非常单调,且后面的公告板面片在旋转摄像机时易出现突然跳出的现象。因此,需要在常规的公告板面片的基础上进行旋转及调整,以改善显示效果。

请参阅图3,在本实施例中,可通过以下步骤获得常规的公告板面片:

步骤s201,将重叠在同一位置的多个点位传入顶点着色器中。

步骤s203,在所述顶点着色器中对所述多个点位进行位置变换,得到以所述多个点位为顶点的公告板面片。

可选地,在树叶的制作中,公告板通常是包含多个顶点的多边形,其中,所述顶点的数量可以为四个、六个或其他数目个数,对此在本实施例中不作具体限制,可根据需求进行设置。在本实施例中,采用包含四个顶点的四边形作为公告板面片。

可选地,在传入顶点着色器之前,用于生成公告板面片的顶点的多个点位是重叠在同一位置处的,或者是紧挨在一起的。需要将重叠在同一位置处的多个点位传入至顶点着色器中,在所述顶点着色器中对所述多个点位进行位置变换,以对多个点位进行扩展形成以各点位为顶点的公告板面片。

请参阅图4,在本实施例中,步骤s203可以包括步骤s2031和步骤s2033两个子步骤。

步骤s2031,以所述多个点位重叠的位置为圆心,在所述第一向量和所述第二向量形成的平面上采样获得与所述圆心相邻的多个相邻点位,其中,所述相邻点位的数量与所述点位的数量相同。

步骤s2033,在所述第一向量和所述第二向量形成的平面上将所述多个点位从所述圆心的位置处分别向所述多个相邻点位展开。

可选地,在本实施例中,进行扩展前的多个点位重叠在同一位置处,各点位的坐标值相同。在本实施例中,设定各点位重叠的位置为第一向量right和第二向量up相交的位置处,如图5所示,各点位处于第一向量和第二向量所形成的平面上。

可选地,以多个点位重叠的位置为圆心,在第一向量和第二向量所形成的平面上进行采样,获得各点位扩展的位置。可选地,以多个点位重叠的位置为圆心,在所述平面上采样获得与所述圆心相邻的多个相邻点位,将相邻点位的位置作为各点位扩展后的位置。其中,采样获得的相邻点位的数量和所述点位的数量相同。在本实施例中,所述点位和所述相邻点位的数量均为四个。

可选地,在本实施例中,以所述多个点位重叠的位置为圆心,分别沿所述第一向量的正、负方向和所述第二向量的正、负方向按预设步长采样获得一个相邻点位,以获得与所述圆心相邻的四个相邻点位。即可以多个点位重叠的位置为圆心,分别获得其左上、左下、右下、右上的四个相邻点位,如图6所示。在本实施例中,各点位展开的规则如下:

position=-right+up

①:position=-right-up

②:position=right-up

③:position=right+up

在获得多个相邻点位之后,在所述第一向量和所述第二向量形成的平面上将所述多个点位从所述圆心的位置处分别向所述多个相邻点位展开,形成公告板面片的各个顶点。对各顶点进行连边,则可得到公告板面片。

通过以上步骤可得到常规的公告板面片,在本实施例中,需要对获得的公告板面片进行旋转及调整处理,以避免其形状单一及相互位置关系的缺陷。

步骤s103,将所述公告板面片以第三向量为轴进行随机旋转,其中,所述第三向量垂直于所述第一向量和所述第二向量所形成的平面。

步骤s105,调整旋转后的公告板面片所包含的各个顶点的位置,以得到调整后的公告板面片。

由上述可知,形成的公告板面片的顶点都处于第一向量和第二向量所形成的平面上。在本实施例中,第三向量为垂直于第一向量和第二向量所形成的平面的向量,第三向量与所述平面的相交点与所述第一向量和第二向量的交点重叠,即所述第一向量、第二向量和第三向量为正交向量。可假设通过以上步骤所获得的公告板面片都是以所述第三向量为轴旋转了0度,即未相对于第三向量进行旋转。在本实施例中,为了增加公告板面片呈现位置的随机性,可将获得的公告板面片以所述第三向量为轴进行随机旋转。

需要说明的是,本实施例中,所述公告板面片为多个,旋转之前各公告板面片摆放规正,即各公告板面片的四个顶点中,两两顶点在第一向量方向上的坐标值相同,另外两个顶点在第二向量方向上的坐标值相同。由这种形式的公告板面片所形成的树叶其摆放形式一致,例如叶尖一致性地朝下,人工痕迹太重,缺乏真实感。

因此,在本实施例中,对各公告板面片进行随机角度的旋转,其中,旋转的角度在0度到360度之间,如图7所示。由于各公告板面片旋转的角度不同,则可改变各公告板面片始终摆放一致的现象,使形成的树叶呈现多种位置形态,如图8所示。

在本实施例中,所形成的公告板面片为多个且均处于所述第一向量和第二向量所形成的平面上,需要说明的是,在本实施例中,设定第一向量和第二向量所形成的平面可沿第三向量的方向的进行平移,即可形成多个相互平行的平面。其中,所述多个公告板面片分别处于该多个相互平行的平面上,则该多个公告板面片之间呈相互平行关系。

通过上述步骤对各公告板面片进行旋转可改变其在第一向量和第二向量形成的平面上的摆放形式,各个公告板面片仍然是处于第一向量和第二向量所形成的平面上,导致在旋转摄像机时,可能出现后面的公告板米面片突然跳出的现象,缺乏呈现时视觉上的过渡过程。并且,在各公告板面片始终平行的状态下,在某些角度下,很容易出现一些公告板面片非常贴近的情况。由于深度缓冲区精度的限制,对于深度相差非常小的情况,难以正确判断两者的深度值,导致深度测试的结果不可预测,显示出来的现象是交错闪烁的前后两个画面,即出现了z-fighting现象。因此,需要改变多个公告板面片始终平行的状态,以避免上述两种缺陷。

可选地,在本实施例中,可通过调整旋转后的各公告板面片包含的各个顶点的位置来调整各个公告板面片的相互位置关系。可选地,可通过以下步骤来调整旋转后的公告板面片所包含的各个顶点的位置:

针对旋转后的各个公告板面片所包含的各个顶点,沿所述第一向量、所述第二向量和所述第三向量中的至少一个向量方向将各所述公告板面片中的各顶点在预设范围内进行随机移动。

请参阅图9,在本实施例中,所述预设范围可通过以下步骤获得:

步骤s301,获得导入至所述第一向量和所述第二向量所形成的平面的公告板面片的边长。

步骤s303,将所述边长乘以预设系数得到所述预设范围。

在本实施例中,可将旋转后的公告板面片包含的各个顶点,沿第一向量、第二向量以及第三向量中的至少一个向量方向在预设范围内进行随机移动。可选地,以各个顶点为圆心,在该顶点的周围划定一个移动范围,使得该顶点可在该移动范围内进行随机移动。

需要注意的是,每个顶点可具有六个移动方向,即第一向量的正、负方向,第二向量的正、负方向以及第三向量的正、负方向。在本实施例中,为了避免各顶点的移动距离相差太大,导致整个公告板面片的形状发生严重变形,需要对各顶点可移动的预设范围进行限制。

可选地,获取进行顶点移动之前的公告板面片的边长,利用一预设系数乘以获得的边长以获得移动距离值,对该移动距离值进行处理可获得所述预设范围。例如,顶点移动之前的公告板面片的边长为1,所述预设系数设置为0.3,则可得到移动距离值为0.3,则相应的预设范围为[-0.3,0.3]。即表明该顶点可在第一向量、第二向量和第三向量的至少一个向量方向的[-0.3,0.3]的范围内进行随机移动。

在本实施例中,应当理解,各顶点处于三维空间中,各顶点在进行移动时,可以只沿一个向量方向进行移动,也可以沿其中两个向量方向进行移动,则剩下的一个向量方向不变。或者也可以同时沿三个向量方向进行移动,对此本实施例不作具体限制,可根据需求进行设置。顶点移动后的多个公告板面片的位置示意图如图10所示。

请参阅图11,为本发明实施例提供的一种公告板生成装置110的功能模块框图。所述公告板生成装置110应用于上述的电子设备100,所述公告板生成装置110包括导入模块111、旋转模块112以及调整模块113。

所述导入模块111用于将公告板面片导入以第一向量和第二向量所形成的平面上,其中,所述第一向量和所述第二向量垂直。该导入模块111可用于执行图2中所示的步骤s101,具体的操作方法可参考步骤s101的详细描述。

所述旋转模块112用于将所述公告板面片以所述第三向量为轴进行随机旋转,其中,所述第三向量垂直于所述第一向量和所述第二向量所形成的平面。该旋转模块112可用于执行图2中所示的步骤s103,具体的操作方法可参考步骤s103的详细描述。

所述调整模块113用于调整旋转后的公告板面片所包含的各个顶点的位置,以得到调整后的公告板面片。该调整模块113可用于执行图2中所示的步骤s105,具体的操作方法可参考步骤s105的详细描述。

可选地,在本实施例中,所述调整模块113可以用于针对旋转后的公告板面片所包含的各个顶点,沿所述第一向量、所述第二向量和所述第三向量中的至少一个向量方向将各所述顶点在预设范围内进行随机移动。

请参阅图12,在本实施例中,所述公告板生成装置110还包括边长获取模块114以及预设范围获取模块115。

所述边长获取模块114用于获得导入至所述第一向量和所述第二向量所形成的平面的公告板面片的边长。该边长获取模块114可用于执行图9中所示的步骤s301,具体的操作方法可参考步骤s301的详细描述。

所述预设范围获取模块115用于将所述边长乘以预设系数得到所述预设范围。该预设范围获取模块115可用于执行图9中所示的步骤s303,具体的操作方法可参考步骤s303的详细描述。

在本实施例中,所述公告板生成装置110还包括传入模块116以及位置变换模块117。

所述传入模块116用于将重叠在同一位置的多个点位传入顶点着色器中。该传入模块116可用于执行图3中所示的步骤s201,具体的操作方法可参考步骤s201的详细描述。

所述位置变换模块117用于在所述顶点着色器中对所述多个点位进行位置变换,得到以所述多个点位为顶点的公告板面片。该位置变换模块117可用于执行图3中所示的步骤s203,具体的操作方法可参考步骤s203的详细描述。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的各功能模块的具体工作过程,可以参考前述方法中的对应过程,在此不再过多赘述。

综上所述,本发明实施例提供的公告板生成方法及装置,通过将第一向量和第二向量所形成的平面上的公告板面片以垂直于所述平面的第三向量为轴进行随机旋转,并对旋转后的公告板面片所包含的各个顶点的位置进行调整,以得到调整后的公告板面片。通过上述步骤,可改变公告板面片的形状,增加公告板面片的随机感,且通过对公告板面片包含的各个顶点的位置进行调整,改变各个公告板面片的相互位置关系,避免角度改变时后面的公告板面片的突然跳出现象,且消除了z-fighting现象。

在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1