[发明专利]一种由镜面反射产生的3D虚拟场景面焦散效果的绘制方法无效

专利信息
申请号: 201010597769.8 申请日: 2010-12-21
公开(公告)号: CN102074041A 公开(公告)日: 2011-05-25
发明(设计)人: 陈纯毅;杨华民;蒋振刚;范静涛;丁莹;冯欣;底晓强;韩成;陈占芳;李奇 申请(专利权)人: 长春理工大学
主分类号: G06T17/00 分类号: G06T17/00
代理公司: 暂无信息 代理人: 暂无信息
地址: 130022 *** 国省代码: 吉林;22
权利要求书: 查看更多 说明书: 查看更多
摘要: 发明公开一种由镜面反射产生的3D虚拟场景面焦散效果的绘制方法,属于真实感3D虚拟场景绘制技术领域。当前,常用光子映射算法绘制3D虚拟场景的面焦散效果。光子映射算法要求对光源发射的大量光子进行跟踪计算,这会严重降低3D虚拟场景面焦散效果的绘制效率。本发明首先计算所有镜面反射三角形面片顶点位置处的反射光线,再根据这些反射光线确定3D虚拟场景中的所有焦散照明体;在绘制3D虚拟场景时,如果待绘制场景点处于某个焦散照明体之中,则在该场景点的光照值中加入此焦散照明体的贡献,从而实现对面焦散效果的绘制。本发明方法可以很容易地集成到光线跟踪算法框架之中,能显著地提高3D虚拟场景绘制的真实感。
搜索关键词: 一种 反射 产生 虚拟 场景 面焦散 效果 绘制 方法
【主权项】:
一种由镜面反射产生的3D虚拟场景面焦散效果的绘制方法,其特征在于,所需的数据结构及实现步骤如下:所需的数据结构:本发明提供一种存储3D虚拟场景(A001)中的镜面反射三角形面片的顶点位置(A002)、顶点法向量(A003)以及顶点位置处的反射光线方向向量(A004)的数据结构(A005),在本发明中称数据结构(A005)为镜面反射顶点数据结构(A006);镜面反射顶点数据结构(A006)包括顶点位置的x坐标Px(101)、顶点位置的y坐标Py(102)、顶点位置的z坐标Pz(103)、顶点法向量的x分量nx(104)、顶点法向量的y分量ny(105)、顶点法向量的z分量nz(106)、顶点位置处的反射光线方向向量的x分量Rx(107)、顶点位置处的反射光线方向向量的y分量Ry(108)、顶点位置处的反射光线方向向量的z分量Rz(109)等9个成员变量;实现步骤:本发明的方法(010)部分创建3D虚拟场景(A001)中的镜面反射顶点列表(B001),并计算各镜面反射顶点位置处的反射光线方向向量,具体步骤如下:步骤(S011):将3D虚拟场景(A001)中的所有镜面反射三角形面片的顶点位置(B002)及其法向量(B003)存入镜面反射顶点列表(B001)中,其中镜面反射顶点列表(B001)的每个元素(B004)都是一个镜面反射顶点数据结构(A006)类型的变量;步骤(S012):对镜面反射顶点列表(B001)中的每个元素(B004),做如下计算:①计算从元素(B004)包含的顶点位置指向点光源(207)位置的向量(B005);②对向量(B005)进行归一化运算;③将元素(B004)包含的顶点法向量(B003)与向量(B005)进行点乘运算,如果点乘运算的结果小于或等于0,则将元素(B004)从镜面反射顶点列表(B001)中删除,否则以向量(B005)与元素(B004)包含的顶点法向量(B003)的夹角为入射角,根据镜面反射定律计算元素(B004)包含的顶点位置处的反射光线方向向量(B006),并将反射光线方向向量(B006)的x分量、y分量、z分量分别存储在元素(B004)的Rx(107)、Ry(108)、Rz(109)成员变量之中;本发明的方法(020)部分创建产生焦散照明体的三角形列表(C001),具体步骤如下:步骤(S021):将3D虚拟场景(A001)中的所有镜面反射三角形面片存入一个镜面反射三角形列表(C002)中;步骤(S022):对于镜面反射三角形列表(C002)中的每个三角形面片(C003),如果在镜面反射顶点列表(B001)中不能一一找到与三角形面片(C003)的各个顶点位置对应的元素,则将三角形面片(C003)从镜面反射三角形列表(C002)中删除;步骤(S023):将镜面反射三角形列表(C002)赋值给三角形列表(C001);本发明的方法(030)部分实现场景点(D001)的焦散光照值的计算,具体步骤如下:步骤(S031):创建一个包含场景点(D001)的平面(D002),且平面(D002)的法向量平行于场景点(D001)的法向量;步骤(S032):对于三角形列表(C001)中的每个三角形面片(D003),做如下计算:①在镜面反射顶点列表(B001)中找出与三角形面片(D003)包含的三个顶点位置对应的元素的索引号,并分别赋值给索引变量id1、id2和id3;②将索引变量id1对应的镜面反射顶点列表(B001)的元素赋值给变量V1,将索引变量id2对应的镜面反射顶点列表(B001)的元素赋值给变量V2,将索引变量id3对应的镜面反射顶点列表(B001)的元素赋值给变量V3;③根据变量V1包含的顶点位置的x坐标Px(101)、顶点位置的y坐标Py(102)、顶点位置的z坐标Pz(103)、顶点位置处的反射光线方向向量的x分量Rx(107)、顶点位置处的反射光线方向向量的y分量Ry(108)、顶点位置处的反射光线方向向量的z分量Rz(109)等6个成员变量,创建一条起始于变量V1包含的顶点位置,方向平行于变量V1包含的顶点位置处的反射光线方向向量的射线(D004),并判断射线(D004)与平面(D002)是否相交,如果相交则计算出对应的交点(D005)并置Flag1=1,否则置Flag1=0;④根据变量V2包含的顶点位置的x坐标Px(101)、顶点位置的y坐标Py(102)、顶点位置的z坐标Pz(103)、顶点位置处的反射光线方向向量的x分量Rx(107)、顶点位置处的反射光线方向向量的y分量Ry(108)、顶点位置处的反射光线方向向量的z分量Rz(109)等6个成员变量,创建一条起始于变量V2包含的顶点位置,方向平行于变量V2包含的顶点位置处的反射光线方向向量的射线(D006),并判断射线(D006)与平面(D002)是否相交,如果相交则计算出对应的交点(D007)并置Flag2=1,否则置Flag2=0;⑤根据变量V3包含的顶点位置的x坐标Px(101)、顶点位置的y坐标Py(102)、顶点位置的z坐标Pz(103)、顶点位置处的反射光线方向向量的x分量Rx(107)、顶点位置处的反射光线方向向量的y分量Ry(108)、顶点位置处的反射光线方向向量的z分量Rz(109)等6个成员变量,创建一条起始于变量V3包含的顶点位置,方向平行于变量V3包含的顶点位置处的反射光线方向向量的射线(D008),并判断射线(D008)与平面(D002)是否相交,如果相交则计算出对应的交点(D009)并置Flag3=1,否则置Flag3=0;⑥如果Flag1=1且Flag2=1且Flag3=1,则转⑦,否则三角形面片(D003)产生的焦散照明体对场景点(D001)的光照贡献为0,结束三角形面片(D003)产生的焦散照明体对场景点(D001)的光照贡献计算;⑦如果场景点(D001)处于由交点(D005)、交点(D007)和交点(D009)确定的三角形之内(或者确定的直线段之上),则转⑧,否则三角形面片(D003)产生的焦散照明体对场景点(D001)的光照贡献为0,结束三角形面片(D003)产生的焦散照明体对场景点(D001)的光照贡献计算;⑧首先创建一个包含场景点(D001)的平面(D010),且平面(D010)的法向量平行于三角形面片(D003)的法向量,然后计算射线(D004)与平面(D010)的交点(D011),计算射线(D006)与平面(D010)的交点(D012),计算射线(D008)与平面(D010)的交点(D013);根据变量V1、变量V2、变量V3包含的顶点位置处的反射光线方向向量,通过插值计算出,在由交点(D011)、交点(D012)和交点(D013)确定的三角形内(或者直线段上),场景点(D001)位置处的反射光线方向向量(D014);⑨创建一条起始于场景点(D001)位置,方向平行于反射光线方向向量(D014)的反向向量的射线(D015);计算射线(D015)与三角形面片(D003)的交点(D016);创建一条起始于交点(D016),终止于点光源(207)位置的线段(D017);测试3D虚拟场景(A001)中是否有三角形面片(D018)与线段(D017)有交,如果无交则转⑩,否则三角形面片(D003)相对于点光源(207)被部分遮挡,其产生的焦散照明体对场景点(D001)的光照贡献为0,结束三角形面片(D003)产生的焦散照明体对场景点(D001)的光照贡献计算;⑩计算由交点(D011)、交点(D012)和交点(D013)确定的三角形的面积与三角形面片(D003)的面积之比α(D019);创建从交点(D016)指向点光源(207)位置的向量(D020);对向量(D020)进行归一化计算;根据三角形面片(D003)的三个顶点位置,计算三角形面片(D003)的表面法向量(D021);根据点光源(207)到交点(D016)的距离、向量(D020)与表面法向量(D021)的夹角以及点光源(207)的辐射亮度,计算三角形面片(D003)的照明度(D022),将照明度(D022)乘以面积之比α(D019)并赋值给变量I(D023);根据变量I(D023)的值、场景点(D001)的材质属性以及场景点(D001)的法向量与反射光线方向向量(D014)的反向向量的夹角,按照光照反射模型计算三角形面片(D003)产生的焦散照明体对场景点(D001)的光照贡献值,并将其加到场景点(D001)的总光照值之中。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

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

本文链接:http://www.vipzhuanli.com/patent/201010597769.8/,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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