【技术实现步骤摘要】
一种基于UV映射的场景模型表面纹理叠加方法及装置
[0001]本专利技术涉及计算机图形学领域,特别涉及一种基于UV映射的场景模型表面纹理叠加方法及装置。
技术介绍
[0002]现有的技术中模型表面纹理叠加过程中贴图无法很好的贴合覆盖在模型的表面,导致渲染效果差。
技术实现思路
[0003](一)要解决的技术问题
[0004]为了解决现有技术的上述问题,本专利技术提供一种基于UV映射的场景模型表面纹理叠加方法及装置,能够能够使得贴图很好的贴合覆盖在模型的表面,提高渲染效果。
[0005](二)技术方案
[0006]为了达到上述目的,本专利技术采用的一种技术方案为:
[0007]一种基于UV映射的场景模型表面纹理叠加方法,包括步骤:
[0008]S1、对场景中的模型进行全展UV处理,得到模型的第二套UV,并将第二套UV作为叠加纹理映射的坐标;
[0009]S2、根据所述叠加纹理映射的坐标生成世界空间的坐标贴图;
[0010]S3、根据所述坐标贴图和叠加纹理所需参数生成叠加纹理遮罩贴图,并对场景中的模型进行叠加纹理绘制。
[0011]为了达到上述目的,本专利技术采用的另一种技术方案为:
[0012]一种基于UV映射的场景模型表面纹理叠加装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现以下步骤:
[0013]S1、对场景中的模型进行全展UV处理,得到模型的第二套UV,并将第二套U ...
【技术保护点】
【技术特征摘要】
1.一种基于UV映射的场景模型表面纹理叠加方法,其特征在于,包括步骤:S1、对场景中的模型进行全展UV处理,得到模型的第二套UV,并将第二套UV作为叠加纹理映射的坐标;S2、根据所述叠加纹理映射的坐标生成世界空间的坐标贴图;S3、根据所述坐标贴图和叠加纹理所需参数生成叠加纹理遮罩贴图,并对场景中的模型进行叠加纹理绘制。2.根据权利要求1所述的基于UV映射的场景模型表面纹理叠加方法,其特征在于,步骤S2包括:S21、将第二套UV转换到世界空间中,并在顶点着色器中,设置第二套UV在三维世界空间中的位置uvWorldPos=float3(uv2*2
–
1,0.5),其中,uv2*2
‑
1为第二套UV在世界空间中的x和y维度值,0.5为z维度值;S22、第二套UV在三维世界空间中的位置通过相机的观察矩阵和投影矩阵相乘后,再乘以第二套UV的世界空间位置,得到的值就是在投影空间下的位置;S23、将模型顶点本地空间位置乘以本地空间转换到世界空间矩阵,得到模型顶点的世界位置,并传入片元着色器中;S24、在片元着色器中,输入颜色结果为顶点的世界空间位置,生成世界空间的坐标贴图。3.根据权利要求1所述的基于UV映射的场景模型表面纹理叠加方法,其特征在于,步骤S3包括:S31、当用户点击屏幕时,从屏幕正中往点击点的方向发射一条射线,射线与场景中模型相交点记为P点,并将叠加纹理所需参数传入计算叠加纹理的着色器中,所述叠加纹理所需参数包括P点的位置、P点处的法线方向、叠加纹理所需的缩放值和模型的世界空间转换到本地空间的矩阵MATRIX_WORLD2LOCAL;S32、根据所述坐标贴图进行采样,采样值记为WPOS;S33、将所述MATRIX_WORLD2LOCAL乘以WPOS,得到本地空间的位置OPOS;S34、根据所述本地空间的位置OPOS的X和Z维度的值加上0.5作为叠加纹理的UV,记为UV_OVERLAP;S35、以UV_OVERLAP采样叠加纹理TEX_MASK,将TEX_CURRENT的X、Y和Z维度值填充为TEX_MASK的X、Y和Z值,将TEX_CURRENT的W维度值为TEX_MASK的W值,生成遮罩贴图记为TEX_SPLAT,并对场景中的模型进行叠加纹理绘制,其中,TEX_CURRENT为当前叠加纹理值的初始值。4.根据权利要求3所述的基于UV映射的场景模型表面纹理叠加方法,其特征在于,所述的对场景中的模型进行叠加纹理绘制具体为:采样TEX_SPLAT颜色值记为SPLAT,采样原有纹理颜色值记为MAIN;以TEX_SPLAT的X维度值对叠加纹理进行插值计算,记SPLAT的Z维度值为ALPHA,最终结果为SPLAT*ALPHA+MAIN*(1
‑
ALPHA)。5.一种基于UV映射的场景模型表面纹理叠加装置,包括存储器、...
【专利技术属性】
技术研发人员:林进浔,黄明炜,郑福,王巧华,林进津,
申请(专利权)人:福建数博讯信息科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。