[发明专利]一种基于草图和卷积曲面的沉浸式快速建模方法有效
申请号: | 201910340774.1 | 申请日: | 2019-04-25 |
公开(公告)号: | CN110176058B | 公开(公告)日: | 2020-12-11 |
发明(设计)人: | 朱雨真;唐祥峻;金小刚 | 申请(专利权)人: | 浙江大学 |
主分类号: | G06T17/00 | 分类号: | G06T17/00;G06T19/00 |
代理公司: | 杭州天勤知识产权代理有限公司 33224 | 代理人: | 胡红娟 |
地址: | 310013 浙江*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 草图 卷积 曲面 沉浸 快速 建模 方法 | ||
1.一种基于草图和卷积曲面的沉浸式快速建模方法,包括:
(1)在Unity3D环境下,用户佩戴沉浸式虚拟现实设备,选择要绘制的骨架的类型,确定要绘制的骨架的定位点,绘制出骨架形状;所述骨架的类型包括线骨架、面骨架和点骨架;
(2)使用卷积曲面解析解生成光滑卷积曲面模型,在GPU中完成势能值计算和有效骨架的裁剪,生成密度图;
在GPU中完成势能值计算和有效骨架的裁剪的具体方法为:使用ComputeShader,根据不同的骨架类型调用对应的着色器核函数;ComputeShader中的id用于区分空间中的位置;
(3)步骤(2)生成的密度图传递给marching cube程序,获取三角面片的顶点及其属性,渲染完成建模;所述顶点及其属性包括顶点位置、拓扑关系和法向量;
步骤(3)所述渲染的具体步骤为:使用Unity3D的Append类型的缓冲区存储三角面片,利用copycount函数获取写入所述缓冲区的次数,即为三角面片个数,三角面片个数乘以三为顶点数;通过Unity3D的DrawProceduralIndirect函数选择对应的着色器程序,并将顶点数发送给着色器程序,着色器程序根据顶点总数为每次渲染分配编号,根据编号从所述缓冲区中对应位置获取顶点及其属性,相邻三个编号的顶点自然构成一个三角面片,进行渲染,完成建模;
用户对线骨架和面骨架的位置和方向在确认前进行预览和修改时,生成的密度数据保存在临时纹理里,确认时,临时纹理里的密度数据经过矩阵变化后叠加到密度图上再进行步骤(3);
线骨架和/或面骨架的撤销过程为在密度图上减去相应的线骨架和/面骨架生成的密度;
设置备用密度图,记录构建点骨架前的密度信息;撤销点骨架时,将所述备用密度图记录的密度信息作为撤销后的密度图的密度信息,用于渲染;
用户保存时,从Append类型的缓冲区中将三角形顶点及其属性读取回内存,处理得到顶点数组及其对应的索引数组,得到网格数据,完成模型保存;
用户保存时,所述密度图读取回内存,存储在数组中,再通过json文件形式保存。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江大学,未经浙江大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910340774.1/1.html,转载请声明来源钻瓜专利网。