镜像纹理生成方法、装置以及计算机制造方法及图纸

技术编号:8106222 阅读:197 留言:0更新日期:2012-12-21 05:26
本发明专利技术公开了一种镜像纹理生成方法、装置以及计算机。所述方法包括:获得镜平面可视区域,其中,镜平面可视区域由包围镜平面的三维的包围盒投影到二维的可视视窗形成;对镜平面可视区域进行镜像视点投影逆变换以得到三维的裁剪视锥;将在裁剪视锥内部或与裁剪视锥相交的三维对象对称渲染到镜面纹理上以生成镜像纹理,而将裁剪视锥内部、与裁剪视锥相交的三维对象之外的其余三维对象排除在渲染到镜面纹理过程之外。通过上述方式,本发明专利技术能够只将裁剪视锥内部或与裁剪视锥相交的三维对象对称渲染到镜面纹理,进而剔除不可能投影到镜平面的三维对象,减少渲染负荷,进而减少渲染镜面纹理的所需时间。

【技术实现步骤摘要】

本专利技术涉及图像处理领域,特别是涉及一种镜像纹理生成方法、装置以及计算机
技术介绍
近来,为了提高视觉效果,越来越多电影或游戏中采用了 3D (Three Dimensions)技术。其中,为了使视觉效果更加逼真,往往需要在一些湖面画面中显示倒影的岸边物体,或者产生放在桌子上的镜子反射出桌子上物体的镜面效果。现有技术提供了一种生成镜面效果方法,将场景中所有三维对象对称渲染到镜面 纹理上,然后将该镜面纹理粘贴到镜平面上。但是在实际应用中,一些不会出现在镜平面的三维对象也同样被渲染到镜面纹理上,造成渲染负荷,增加了渲染镜面纹理的所需时间。特别是对一些镜平面尺寸比较小,而三维对象又比较分散的场景。
技术实现思路
本专利技术主要解决的技术问题是提供一种镜像纹理生成方法、装置以及计算机,能够减少渲染负荷,进而减少渲染镜面纹理的所需时间。为解决上述技术问题,本专利技术采用的一个技术方案是提供一种镜像纹理生成方法,包括获得镜平面可视区域,其中,所述镜平面可视区域由包围镜平面的三维的包围盒(Boundingbox)投影到二维的可视视窗形成;对所述镜平面可视区域进行镜像视点投影逆变换以得到三维的裁剪视锥;将在所述裁剪视锥内部或与所述裁剪视锥相交的三维对象对称渲染到镜面纹理上以生成镜像纹理,而将所述裁剪视锥内部、与所述裁剪视锥相交的三维对象之外的其余三维对象排除在渲染到镜面纹理过程之外。其中,所述包围盒为三维长方体,定义X轴以及y轴为在所述可视视窗所在平面上两个互相垂直的坐标轴,所述获得镜平面可视区域的步骤包括将所述包围盒投影到二维的可视视窗;计算获得所述包围盒投影到可视视窗时在X轴以及在I轴投影得到的最大坐标值以及最小值坐标值;根据在所述X轴以及在I轴投影得到的最大坐标值以及最小值坐标值确定一个矩形区域,其中,所确定的矩形区域即为镜平面可视区域。其中,所述对镜平面可视区域进行镜像视点投影逆变换以得到三维的裁剪视锥的步骤包括对所述镜平面可视区域进行镜像视点投影逆变换以得到近平面可视区域和远平面可视区域;将所述近平面可视区域和远平面可视区域分别作为棱柱的顶面和底面(并不以此为限),其中,所述棱柱即为裁剪视锥。其中,所述将在裁剪视锥内部或与所述裁剪视锥相交的三维对象对称渲染到镜面 纹理上以生成镜像纹理的步骤包括计算得到场景中除镜平面外的三维对象的包围盒的中心点以及半径;通过包围盒的中心点以及半径判断所述三维对象是否在所述裁剪视锥内部或与所述裁剪视锥相交;如果在所述裁剪视锥内部或与所述裁剪视锥相交,则将所述三维对象对称渲染到镜面纹理上;重复上述步骤,直到所有的三维对象都判断完毕,以生成镜像纹理。其中,所述将在裁剪视锥内部或与所述裁剪视锥相交的三维对象对称渲染到镜面纹理上以生成镜像纹理步骤之后包括将所述镜像纹理映射到所述镜平面可视区域,以实现将所述镜像纹理粘贴到所述镜平面上。为解决上述技术问题,本专利技术采用的另一个技术方案是提供一种镜像纹理生成装置,包括投影模块,用于获得镜平面可视区域,其中,所述镜平面可视区域由包围镜平面的三维的包围盒投影到二维的可视视窗形成;投影逆变换模块,用于对所述镜平面可视区域进行镜像视点投影逆变换以得到三维的裁剪视锥;生成模块,用于将在所述裁剪视锥内部或与所述裁剪视锥相交的三维对象对称渲染到镜面纹理上以生成镜像纹理,而将所述裁剪视锥内部、与所述裁剪视锥相交的三维对象之外的其余三维对象排除在渲染到镜面纹理过程之外。其中,所述包围盒为三维长方体,定义X轴以及y轴为在所述可视视窗所在平面上两个互相垂直的坐标轴,所述投影模块包括投影单元,用于将所述包围盒投影到二维的可视视窗;第一计算单元,用于计算获得所述包围盒投影到可视视窗时在X轴以及在I轴投影得到的最大坐标值以及最小值坐标值,并根据在所述X轴以及在I轴投影得到的最大坐标 值以及最小值坐标值确定一个矩形区域,其中,所确定的矩形区域即为镜平面可视区域。其中,所述投影逆变换模块进一步用于对所述镜平面可视区域进行镜像视点投影逆变换以得到近平面可视区域和远平面可视区域,以及将所述近平面可视区域和远平面可视区域分别作为棱柱的顶面和底面,其中,所述棱柱即为裁剪视锥。其中,所述生成模块包括第二计算单元,用于计算得到场景中除镜平面外的三维对象的包围盒的中心点以及半径;判断单元,用于通过包围盒的中心点以及半径判断所述三维对象是否在所述裁剪视锥内部或与所述裁剪视锥相交,并在所述裁剪视锥内部或与所述裁剪视锥相交时,将所述三维对象对称渲染到镜面纹理上。其中,所述装置还包括映射模块,所述映射模块用于将所述镜像纹理映射到所述镜平面可视区域,以实现将所述镜像纹理粘贴到所述镜平面上。为解决上述技术问题,本专利技术采用的再一个技术方案是提供一种计算机,所述计算机包括上述任一项的镜像纹理生成装置。本专利技术的有益效果是区别于现有技术的情况,本专利技术通过计算得到裁剪视锥,并只将裁剪视锥内部或与裁剪视锥相交的三维对象对称渲染到镜面纹理,进而剔除不可能投影到镜平面的三维对象,减少渲染负荷,进而减少渲染镜面纹理的所需时间。附图说明图I是本专利技术镜像纹理生成方法一实施方式的流程图;图2是本专利技术镜像纹理生成方法另一实施方式的流程图;图3是本专利技术镜像纹理生成方法实施方式中包围盒投影到可视视窗的示意图;图4是本专利技术镜像纹理生成方法实施方式中对镜平面可视区域进行镜像视点投影逆变换的示意图;图5是本专利技术镜像纹理生成方法实施方式中判断三维对象是否在裁剪视锥内或与裁剪视锥相交的流程图;图6是本专利技术镜像纹理生成装置一实施方式的结构示意图7是本专利技术镜像纹理生成装置另一实施方式的结构示意图。具体实施例方式下面结合附图和具体的实施方式进行说明。参阅图1,图I是本专利技术镜像纹理生成方法一实施方式的流程图。本实施方式的镜像纹理生成方法包括步骤SlOl :获得镜平面可视区域。其中,镜平面是指能够倒影岸边物体的湖面或反射物体的镜子等等三维对象。由于镜平面的形状不一定是规则的形状,为了方便地实现将三维的镜平面投影到二维的可视视窗,可设置一个规则形状的包围盒(Boundingbox)包裹镜平面,然后将包围盒投影到二维的可视视窗以形成镜平面可视区域。 值得注意的是,在其它的实施方式,也可以对镜平面进行投影以获得镜平面可视区域,此时,应理解为利用一个与镜平面完全一致的包围盒包裹镜平面,然后将包围盒投影到二维的可视视窗以形成镜平面可视区域。步骤S102 :对镜平面可视区域进行镜像视点投影逆变换以得到三维的裁剪视锥。指定视点的位置并以镜平面所在的平面作为对称平面计算得到视点的镜像视点。对镜平面可视区域进行镜像视点投影逆变换,镜平面分别在近平面和远平面投影形成近平面可视区域和远平面可视区域。将近平面可视区域和远平面可视区域分别作为棱柱的顶面和底面,其中,所述棱柱即为裁剪视锥。步骤S103 :将在裁剪视锥内部或与裁剪视锥相交的三维对象对称渲染到镜面纹理上以生成镜像纹理,而将裁剪视锥内部、与裁剪视锥相交的三维对象之外的其余三维对象排除在渲染到镜面纹理过程之外。本实施方式通过计算得到裁剪视锥,并只将裁剪视锥内部或与裁剪视锥相交的三维对象对称渲染到镜面纹理,进而剔除不可能投影到镜平面的三维对象,减少渲染负荷,进而减少渲染镜面纹理的所需时间。参阅图2,图2是本专利技术镜像纹本文档来自技高网...

【技术保护点】
一种镜像纹理生成方法,其特征在于,包括:获得镜平面可视区域,其中,所述镜平面可视区域由包围镜平面的三维的包围盒(Boundingbox)投影到二维的可视视窗形成;对所述镜平面可视区域进行镜像视点投影逆变换以得到三维的裁剪视锥;将在所述裁剪视锥内部或与所述裁剪视锥相交的三维对象对称渲染到镜面纹理上以生成镜像纹理,而将所述裁剪视锥内部、与所述裁剪视锥相交的三维对象之外的其余三维对象排除在渲染到镜面纹理过程之外。

【技术特征摘要】
1.一种镜像纹理生成方法,其特征在于,包括 获得镜平面可视区域,其中,所述镜平面可视区域由包围镜平面的三维的包围盒(Boundingbox)投影到二维的可视视窗形成; 对所述镜平面可视区域进行镜像视点投影逆变换以得到三维的裁剪视锥; 将在所述裁剪视锥内部或与所述裁剪视锥相交的三维对象对称渲染到镜面纹理上以生成镜像纹理,而将所述裁剪视锥内部、与所述裁剪视锥相交的三维对象之外的其余三维对象排除在渲染到镜面纹理过程之外。2.根据权利要求I所述的方法,其特征在于,所述包围盒为三维长方体,定义X轴以及y轴为在所述可视视窗所在平面上两个互相垂直的坐标轴,所述获得镜平面可视区域的步骤包括 将所述包围盒投影到二维的可视视窗; 计算获得所述包围盒投影到可视视窗时在X轴以及在y轴投影得到的最大坐标值以及最小值坐标值; 根据在所述X轴以及在y轴投影得到的最大坐标值以及最小值坐标值确定一个矩形区域,其中,所确定的矩形区域即为镜平面可视区域。3.根据权利要求I所述的方法,其特征在于,所述对镜平面可视区域进行镜像视点投影逆变换以得到三维的裁剪视锥的步骤包括 对所述镜平面可视区域进行镜像视点投影逆变换以得到近平面可视区域和远平面可视区域; 将所述近平面可视区域和远平面可视区域分别作为棱柱的顶面和底面,其中,所述棱柱即为裁剪视锥。4.根据权利要求I所述的方法,其特征在于,所述将在裁剪视锥内部或与所述裁剪视锥相交的三维对象对称渲染到镜面纹理上以生成镜像纹理的步骤包括 计算得到场景中除所述镜平面外的三维对象的包围盒的中心点以及半径; 通过所述包围盒的中心点以及半径判断所述三维对象是否在所述裁剪视锥内部或与所述裁剪视锥相交; 如果在所述裁剪视锥内部或与所述裁剪视锥相交,则将所述三维对象对称渲染到镜面纹理上; 重复上述步骤,直到所有的所述三维对象都判断完毕,以生成镜像纹理。5.根据权利要求I所述的方法,其特征在于,所述将在裁剪视锥内部或与所述裁剪视锥相交的三维对象对称渲染到镜面纹理上以生成镜像纹理步骤之后包括 将所述镜像纹理映射到所述镜平面可...

【专利技术属性】
技术研发人员:何虎高璐
申请(专利权)人:上海晨思电子科技有限公司晨星半导体股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1