[发明专利]一种基于Cook-Torrance算法的网页端3D模型实现方法在审

专利信息
申请号: 202011090936.X 申请日: 2020-10-13
公开(公告)号: CN112184889A 公开(公告)日: 2021-01-05
发明(设计)人: 李军;沈莹;胡涛 申请(专利权)人: 湖北民族大学
主分类号: G06T17/00 分类号: G06T17/00;G06T15/50;G06T15/20;G06T15/00;G06F16/957
代理公司: 重庆乐泰知识产权代理事务所(普通合伙) 50221 代理人: 袁茹坤
地址: 444500*** 国省代码: 湖北;42
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 基于 cook torrance 算法 网页 模型 实现 方法
【权利要求书】:

1.一种基于Cook-Torrance算法的网页端3D模型实现方法,其特征在于:包括以下步骤:

A、搭建3D模型并生成3D模型数据文件;

B、加载3D模型数据文件至网站数据库;

C、根据Cook-Torrance算法,编写顶点着色器程序和片元着色器程序;

D、调用自定义着色器;

E、渲染3D模型,得到注重细节处理的渲染效果。

2.根据权利要求1所述的网页端3D模型实现方法,其特征在于:步骤A中搭建3D模型并生成3D模型数据文件的具体操作为:采用3D模型设计软件搭建所需的3D模型后,使用3Dmax软件导出模型数据文件,包括三维模型数据obj文件和表面材质的mtl文件。

3.根据权利要求2所述的网页端3D模型实现方法,其特征在于:步骤B中加载3D模型文件的具体实现方法为:使用three.js开源库搭建场景,使用THREE.OBJMTLLoader()函数加载三维模型数据obj文件和表面材质的mtl文件。

4.根据权利要求3所述的网页端3D模型实现方法,其特征在于:步骤C中根据Cook-Torrance 3D算法编写顶点着色器程序和片元着色器程序的具体实现方法为:

a、顶点着色器采用通用顶点着色器,片元着色器程序则根据Cook-Torrance 3D算法计算公式编写程序;

b、编写片元着色器需要读取3D模型mtl文件中的材质参数ks、kd,场景设置的泛光项和相机位置(视点);

c、根据相机位置等参数计算法向量N,视角方向向量V和入射光方向向量L;

d、根据算法向量N,视点方向向量V和入射光方向向量L计算Fresnel反射系数F;

e、读取表面粗糙程度系数m,计算Backmann分布函数D;

f、计算三种情况下的集合衰减系数G,入射光无遮蔽1,入射光部分遮蔽时的衰减系数G1,反射光部分遮蔽时的衰减系数G2,取三种情况的最小值;

g、计算视角的反射光强度I。

5.根据权利要求4所述的网页端3D模型实现方法,其特征在于:步骤D中调用自定义着色器的具体操作为:使用three.js开源库中的ShaderMaterial()函数调用上述步骤C中根据Cook-Torrance 3D算法编写的顶点着色器和片元着色器。

6.根据权利要求5所述的网页端3D模型实现方法,其特征在于:步骤E中渲染3D模型使用WebGL进行图元装配和光栅化,具体步骤为:

h、使用顶点着色器进行图元装配:图元装配是指由顶点生成一个图元(在WebGL中为三角形),顶点着色器应用投影矩阵将三维世界坐标转换为屏幕坐标,然后由GPU进行图元装配。

i、使用片元着色器进行光栅化:光栅化由运行在GPU的片元着色器完成,在Cook-Torrance 3D算法中,则是根据模型材质参数,计算泛光项、镜面反射和漫反射,得到最后反射光强。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于湖北民族大学,未经湖北民族大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/202011090936.X/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top