[发明专利]线框渲染方法、终端设备及计算机可读存储介质有效
申请号: | 202011232336.2 | 申请日: | 2020-11-06 |
公开(公告)号: | CN112348935B | 公开(公告)日: | 2022-09-23 |
发明(设计)人: | 李成;陈佩霞;王玉朋 | 申请(专利权)人: | 芯勍(上海)智能化科技股份有限公司 |
主分类号: | G06T15/00 | 分类号: | G06T15/00 |
代理公司: | 上海思捷知识产权代理有限公司 31295 | 代理人: | 王宏婧 |
地址: | 201800 上海市嘉*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 渲染 方法 终端设备 计算机 可读 存储 介质 | ||
本申请实施例公开了一种线框渲染方法、终端设备及计算机可读存储介质,该方法包括:获取组成原始模型的mesh面数据,将所述mesh面数据中的每个三角面作为节点构建无向图,基于广度优先遍历所述无向图并将所述无向图转换为有向图,基于深度优先遍历所述有向图并绘制所述有向图对应的线条路径,根据所述线条路径构建新的mesh面,利用画线函数渲染所述新的mesh面。通过实施本申请,能解决现有线框渲染方案中存在的线框渲染的适用领域受限制、渲染效率及渲染的通用性受影响问题。
技术领域
本申请涉及计算机技术领域,尤其涉及一种线框渲染方法、终端设备及计算机可读存储介质。
背景技术
三维(3D)打印是20世纪80年代发展起来的一项颠覆传统生产方式的革命性技术,又名快速原型、增料制造等。在3D打印模型中,为了更加突出模型的结构特点,通常需要对3D模型的线框进行渲染。
现有的线框渲染方法主要分为基于线框渲染着色器(shader)的材质球渲染方法、U3D游戏引擎(unity 3D,U3D)提供的画线函数方法和U3D提供的图形程序接口(GraphicsLibrary,GL)画线方法。然而在实践中发现,基于线框渲染shader的材质渲染方法无法适用于移动端设备,这样使得线框渲染的适用领域受到极大地限制;基于画线函数的线框渲染方法中会产生大量的无序顶点排列,这样在进行线框渲染时会产生大量的乱线,影响线框渲染的效率;基于GL画线的线框渲染方法适合简单模型的线框渲染,不适合复杂/大型模型的线框渲染,影响线框渲染的通用性。
发明内容
本申请实施例提供了一种线框渲染方法、终端设备及计算机可读存储介质,能解决现有线框渲染方案中存在的线框渲染的适用领域受限制、渲染效率及通用性受影响等问题。
第一方面,提供了一种线框渲染方法,该方法包括:
获取组成原始模型的网格mesh面数据,所述mesh面数据包括至少一个三角面;
将所述mesh面数据中的每个三角面作为节点构建无向图,所述无向图包括至少一个节点及每个节点的节点下标,所述节点下标用于标识所述节点下标对应的节点所在的三角面;
基于广度优先遍历所述无向图,并将所述无向图转换为有向图;
基于深度优先遍历所述有向图,并绘制所述有向图对应的线条路径;
根据所述线条路径构建新的mesh面,并利用画线函数渲染所述新的mesh面。
在一些实施例中,所述将所述mesh面数据中的每个三角面作为节点构建无向图之前,所述方法还包括:
对所述mesh面数据进行数据结构转换,以将所述mesh面数据转换为符合预设数据结构的mesh面数据。
在一些实施例中,所述将所述无向图转换为有向图包括:
根据所述无向图中的各节点,寻找每个节点的邻节点,所述邻节点是指与所述每个节点彼此紧邻且相连的节点;
设定所述每个节点到所述每个节点的邻节点的方向为正方向,基于所述每个节点的邻节点及所述每个节点到所述每个节点的邻节点的方向构建所述无向图对应的有向图。
在一些实施例中,所述绘制所述有向图对应的线条路径包括:
依次连接所述有向图中的各节点,在存在的边上进行路径绘制,以创建出有效的线条路径。
在一些实施例中,所述根据所述线条路径构建新的mesh面包括:
对所述线条路径中的节点及节点下标进行数据结构转换,以将所述线条路径中的节点列表转换为支持渲染的数据结构的节点列表;
将所述支持渲染的数据结构的节点列表转换为新的mesh面。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于芯勍(上海)智能化科技股份有限公司,未经芯勍(上海)智能化科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011232336.2/2.html,转载请声明来源钻瓜专利网。