折叠渲染优化方法、装置、计算机设备及存储介质与流程

文档序号:36461716发布日期:2023-12-21 19:11阅读:25来源:国知局
折叠渲染优化方法与流程

本发明涉及数字化服装设计领域,具体涉及一种折叠渲染优化方法、装置、计算机设备及存储介质。


背景技术:

1、在服装仿真的第一步就是将衣片的数据进行三角网格化,衣片的数据通常只有外轮廓边框,而为了能够仿真服装布料的物理形态,就需要将衣片封闭轮廓中填入网格密度均匀且没有瘦长形状的三角形,因为算法有随机性,因此每一个三角形的形态往往存在一些差异,不可能完全相等。生成三角网格的算法有很多比较成熟的技术,例如:constraineddelaunay triangulation、conforming delaunay triangulation、constrainedconforming delaunay triangulation等。

2、第二步就是将生成的网格数据渲染展示,目前,三角网格渲染已经是较为成熟的技术。在一些现有技术文献和网站(相关网站例如opengl中的渲染方式:https://learnopengl.com/getting-started/hello-triangle等)中均有相关报道。

3、三角网格(或者说三角形)的渲染流程一般涉及以下内容:

4、三角网格渲染的主体数据结构是网格顶点的位置、顶点的法向及三角网格的拓扑结构,其中顶点位置和法向是一一对应的,三角网格的拓扑结构是指顶点组合成三角形的方式。比如有一组顶点0:va;1:vb;2:vc,3:...;4:...;......就有一组相同个数对应法向0:na;1:nb;2:nc;3:...;4:...;......假设网格中有一个三角形由前三个顶点组成的,那么这个三角面片的拓扑结构就是由三个顶点的索引号组成[0,1,2]。根据右手定则,索引号的排列顺序也决定了面的方向,由此可以计算出每个面的法向量,而每个顶点的法向是根据所有引用了这个顶点的三角面的法向量加权平均所得。当渲染流程中的片段着色器往三角网格内填充颜色时,也会因为三角形的形状及面积影响最终的填充效果。

5、因此,在翻折线两侧的三角网格形态直接关系着折叠的渲染效果,参见图1,最主要的原因有两个:一是折线两侧三角网格形态的随机性;二是因为翻折使两侧网格角度差变大,但翻折线上的顶点是由两侧三角网格的法向混合计算的,导致了顶点计算光照时明暗混合。

6、现有技术中,渲染三角面片计算顶点法向时,通常仅使用与当前顶点相连的三角面片的法向加权平均得出的,因此导致了在折叠线(翻折线)附近的面片渲染之后会产生锯齿状不光顺的渲染效果,参见图2。

7、有些技术方案会在渲染前对折叠线上顶点的法向进行优化。将折叠线的顶点进行拆分,分别只关联两侧的三角面,从网格拓扑结构上将两侧的面片分开渲染,最终得到拆分之后效果,降低了锯齿效果。这种拆分顶点的方式是为了解决上面的第二点原因。具体方式就是将翻折线上的顶点复制了一份相同位置的数据但一份数据只计算左侧的法向,一份数据只计算右侧的法向。例如图3,v0法向由f0、f1、f2、f3计算得出,v0’的法向由f4、f5、f6、f7计算得出。左侧f0、f1、f2、f3面的拓扑结构只关联v0,右侧f4、f5、f6、f7的拓扑结构只关联v0’,就能将明暗法向分开。

8、然而,在布料的复杂模拟过程中,依旧有一些锯齿效果无法通过上述优化的技术方案完全被优化。通过以上方法产生的渲染效果跟真实布料的折叠效果也不径相同,折叠的边缘非常尖锐,非常不符合布料的形态。

9、而本发明的渲染优化主要是解决上述第一点原因,将翻折线两侧的网格细化及规整。


技术实现思路

1、针对上述技术问题以及本领域存在的不足之处,本发明提供了一种折叠渲染优化方法,使任意一段翻折线附近任意一侧的三角网格都成对组成两对边等长或尽可能等长的四边形,利用平行辅助线产生类似“卡线”的效果,使翻折线附近的三角网格都非常规整,因此能在渲染中平滑了光照效果。

2、具体技术方案如下:

3、一种折叠渲染优化方法,包括步骤:

4、s1,在翻折线两侧分别生成第一平行辅助线组和第二平行辅助线组,第一平行辅助线组和第二平行辅助线组包含相同数量且一一对应的至少一条平行辅助线,第一平行辅助线组和第二平行辅助线组中相互对应的平行辅助线与翻折线的距离相等,利用平行辅助线约束平行辅助线和翻折线之间、不同平行辅助线之间的三角网格;平行辅助线和翻折线之间、不同平行辅助线之间的三角网格的顶点为翻折线或平行辅助线上的顶点;

5、s2,设置翻折线的翻折角度;

6、s3,基于翻折线、生成的平行辅助线和设置的翻折角度进行折叠效果渲染和模拟仿真。

7、本发明的折叠渲染优化方法中,关于第一平行辅助线组和第二平行辅助线组,可做以下理解:在翻折线两侧分别生成n条平行辅助线,n为正整数,翻折线一侧第m条平行辅助线与翻折线的距离和翻折线另一侧第m条平行辅助线与翻折线的距离相等,m为不大于n的任意正整数。

8、在一实施例中,所述的折叠渲染优化方法,生成的平行辅助线和翻折线具有相同数量的顶点个数,生成的平行辅助线和翻折线被各自的顶点分割成相同数量且一一对应的平行辅助线段和翻折线段,任一翻折线段和与之对应的平行辅助线段尽可能保持长度一致,任一翻折线段与任一侧与之对应的最近平行辅助线段之间的网格以及任意相邻两条对应的平行辅助线段之间的网格均为由两个三角网格组成的四边形。即,相当于任一翻折线段与任一侧与之对应的最近平行辅助线段之间的网格以及任意相邻两条对应的平行辅助线段之间的网格四边形都被其对角线分成两个三角形。

9、本发明所述的折叠渲染优化方法,在实际操作执行时,受限于计算机精度制约,因此,上文所述的任一翻折线段和与之对应的平行辅助线段的长度应在计算机所能达到的极限精度要求下保持一致。

10、本发明所述的折叠渲染优化方法中,生成的平行辅助线可根据实际情况和需求突破服装版片的限制,以达到上文所述的任一翻折线段和与之对应的平行辅助线段尽可能保持长度一致的要求。

11、本发明的折叠渲染优化方法中,翻折线两侧的平行辅助线的数量可以根据需要进行调整。

12、在一实施例中,所述的折叠渲染优化方法,平行辅助线的数量为2条,分别位于翻折线等距的两侧。

13、在另一实施例中,所述的折叠渲染优化方法,翻折线任意一侧的平行辅助线的数量不少于2条,例如可以是2条,3条,4条,甚至更多,相应的,平行辅助线的总条数为4条,6条,8条,甚至更多。

14、所述的折叠渲染优化方法,翻折线任意一侧的任意相邻两条平行辅助线之间的距离可以相同,也可以不同,此处的不同指的是可以某些相邻两条平行辅助线之间的距离相同,某些相邻两条平行辅助线之间的距离不同,也可以所有相邻两条平行辅助线之间的距离全都不同。

15、在一实施例中,所述的折叠渲染优化方法,翻折线任意一侧的任意相邻两条平行辅助线之间的距离可分别独立选自0.1~10mm。

16、在一实施例中,所述的折叠渲染优化方法,翻折线与距离翻折线最近的平行辅助线之间的距离可为0.1~10mm。

17、为了让折叠使用更加灵活,方便操作调整折叠圆顺效果,在一实施例中,所述的折叠渲染优化方法,步骤s2还可包括选择其中一条或多条平行辅助线,并执行以下操作中的任意一项或多项组合:

18、i)分别独立设置所选择的一条、几条或全部平行辅助线的翻折角度;

19、ii)同时一起设置所选择的一条、几条或全部平行辅助线的翻折角度。

20、本发明还提供了一种计算机设备,包括存储器和处理器,所述存储器用于存储计算机程序,所述处理器用于执行所述存储器中存储的计算机程序,所述计算机程序运行时使得所述处理器执行所述的折叠渲染优化方法。

21、本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储程序或指令,在程序或指令被计算机设备执行的情况下,使得计算机设备执行所述的折叠渲染优化方法。

22、作为一个总的发明构思,本发明还提供了一种折叠渲染优化装置,包括:

23、平行辅助线参数设置模块,用于设置需要在翻折线两侧生成的平行辅助线的数量,生成的平行辅助线与翻折线之间的距离以及生成的不同平行辅助线之间的距离;

24、平行辅助线生成模块,用于根据平行辅助线参数设置模块设置的参数数据在翻折线两侧分别生成第一平行辅助线组和第二平行辅助线组,第一平行辅助线组和第二平行辅助线组包含相同数量且一一对应的至少一条平行辅助线,第一平行辅助线组和第二平行辅助线组中相互对应的平行辅助线与翻折线的距离相等,利用平行辅助线约束平行辅助线和翻折线之间、不同平行辅助线之间的三角网格;平行辅助线和翻折线之间、不同平行辅助线之间的三角网格的顶点为翻折线或平行辅助线上的顶点;

25、翻折角度设置模块,用于设置翻折线或翻折线和平行辅助线的翻折角度;

26、翻折线折叠效果仿真及展示模块,用于基于翻折线、生成的平行辅助线和设置的翻折角度进行折叠效果渲染和模拟仿真并展示之。

27、本发明的折叠渲染优化装置在运行时可执行所述的折叠渲染优化方法。

28、本发明的折叠渲染优化装置中的一些可选或优选技术方案可参考上述折叠渲染优化方法。

29、本发明与现有技术相比,有益效果有:

30、本发明的折叠渲染优化方法(或称为“折叠圆顺”)、装置、计算机设备及存储介质,可使折叠线附近的渲染效果得到极大的优化,布料仿真的真实性也得到了很大提升,不仅没有了原始的锯齿状明暗相接的效果,也没有了顶点拆分之后尖锐的折叠角度和两侧光照产生的高对比度,并且在放大观察模型细节时,可以清晰的看到布料折叠的效果。

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