CN114581584A - 一种基于uv映射的场景模型表面纹理叠加方法及装置 - Google Patents
一种基于uv映射的场景模型表面纹理叠加方法及装置 Download PDFInfo
- Publication number
- CN114581584A CN114581584A CN202210140337.7A CN202210140337A CN114581584A CN 114581584 A CN114581584 A CN 114581584A CN 202210140337 A CN202210140337 A CN 202210140337A CN 114581584 A CN114581584 A CN 114581584A
- Authority
- CN
- China
- Prior art keywords
- texture
- model
- scene
- value
- tex
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/04—Texture mapping
Landscapes
- Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Generation (AREA)
Abstract
本发明提供的一种基于UV映射的场景模型表面纹理叠加方法及装置,通过对场景中的模型进行全展UV处理,得到模型的第二套UV,并将第二套UV作为叠加纹理映射的坐标;根据所述叠加纹理映射的坐标生成世界空间的坐标贴图;根据所述坐标贴图和叠加纹理所需参数生成叠加纹理遮罩贴图,并对场景中的模型进行叠加纹理绘制,利用全展场景模型来生成第二套UV的方式,来实现世界坐标空间的UV贴图映射,从而使贴图能够贴合地覆盖在模型的表面,提高渲染效果。
Description
技术领域
本发明涉及计算机图形学领域,特别涉及一种基于UV映射的场景模型表面纹理叠加方法及装置。
背景技术
现有的技术中模型表面纹理叠加过程中贴图无法很好的贴合覆盖在模型的表面,导致渲染效果差。
发明内容
(一)要解决的技术问题
为了解决现有技术的上述问题,本发明提供一种基于UV映射的场景模型表面纹理叠加方法及装置,能够能够使得贴图很好的贴合覆盖在模型的表面,提高渲染效果。
(二)技术方案
为了达到上述目的,本发明采用的一种技术方案为:
一种基于UV映射的场景模型表面纹理叠加方法,包括步骤:
S1、对场景中的模型进行全展UV处理,得到模型的第二套UV,并将第二套UV作为叠加纹理映射的坐标;
S2、根据所述叠加纹理映射的坐标生成世界空间的坐标贴图;
S3、根据所述坐标贴图和叠加纹理所需参数生成叠加纹理遮罩贴图,并对场景中的模型进行叠加纹理绘制。
为了达到上述目的,本发明采用的另一种技术方案为:
一种基于UV映射的场景模型表面纹理叠加装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现以下步骤:
S1、对场景中的模型进行全展UV处理,得到模型的第二套UV,并将第二套UV作为叠加纹理映射的坐标;
S2、根据所述叠加纹理映射的坐标生成世界空间的坐标贴图;
S3、根据所述坐标贴图和叠加纹理所需参数生成叠加纹理遮罩贴图,并对场景中的模型进行叠加纹理绘制。
(三)有益效果
本发明的有益效果在于:通过对场景中的模型进行全展UV处理,得到模型的第二套UV,并将第二套UV作为叠加纹理映射的坐标;根据所述叠加纹理映射的坐标生成世界空间的坐标贴图;根据所述坐标贴图和叠加纹理所需参数生成叠加纹理遮罩贴图,并对场景中的模型进行叠加纹理绘制,利用全展场景模型来生成第二套UV的方式,来实现世界坐标空间的UV贴图映射,从而使贴图能够贴合地覆盖在模型的表面,提高渲染效果。
附图说明
图1为本发明实施例的基于UV映射的场景模型表面纹理叠加方法流程图;
图2为本发明实施例的基于UV映射的场景模型表面纹理叠加装置的整体结构示意图。
【附图标记说明】
1:基于UV映射的场景模型表面纹理叠加装置;
2:存储器;
3:处理器。
具体实施方式
为了更好的解释本发明,以便于理解,下面结合附图,通过具体实施方式,对本发明作详细描述。
实施例一
请参照图1,一种基于UV映射的场景模型表面纹理叠加方法,包括步骤:
S1、对场景中的模型进行全展UV处理,得到模型的第二套UV,并将第二套UV作为叠加纹理映射的坐标;
S2、根据所述叠加纹理映射的坐标生成世界空间的坐标贴图;
步骤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、在片元着色器中,输入颜色结果为顶点的世界空间位置,生成世界空间的坐标贴图。
S3、根据所述坐标贴图和叠加纹理所需参数生成叠加纹理遮罩贴图,并对场景中的模型进行叠加纹理绘制。
步骤S3包括:
S31、当用户点击屏幕时,从屏幕正中往点击点的方向发射一条射线,射线与场景中模型相交点记为P点,并将叠加纹理所需参数传入计算叠加纹理的着色器中,所述叠加纹理所需参数包括P点的位置、P点处的法线方向、叠加纹理所需的缩放值和模型的世界空间转换到本地空间的矩阵MATRIX_WORLD2LOCAL;
具体地,还包括:
记上一次叠加的纹理为TEX_LAST,采样上一次叠加的纹理,如果上一次叠加纹理不存在使,则采样值为(0,0,0,0),以上一次叠加的纹理作为当前叠加纹理值的初始值,记为TEX_CURRENT;
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_SPLAT颜色值记为SPLAT,采样原有纹理颜色值记为MAIN;
以TEX_SPLAT的X维度值对叠加纹理进行插值计算,记SPLAT的Z维度值为ALPHA,最终结果为SPLAT*ALPHA+MAIN*(1-ALPHA)。
实施例二
请参照图2,一种基于UV映射的场景模型表面纹理叠加装置1,包括存储器2、处理器3及存储在存储器2上并可在处理器3上运行的计算机程序,所述处理器3执行所述程序时实现实施例一中的各个步骤。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (8)
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映射的场景模型表面纹理叠加装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现以下步骤:
S1、对场景中的模型进行全展UV处理,得到模型的第二套UV,并将第二套UV作为叠加纹理映射的坐标;
S2、根据所述叠加纹理映射的坐标生成世界空间的坐标贴图;
S3、根据所述坐标贴图和叠加纹理所需参数生成叠加纹理遮罩贴图,并对场景中的模型进行叠加纹理绘制。
6.根据权利要求5所述的基于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、在片元着色器中,输入颜色结果为顶点的世界空间位置,生成世界空间的坐标贴图。
7.根据权利要求5所述的基于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为当前叠加纹理值的初始值。
8.根据权利要求7所述的基于UV映射的场景模型表面纹理叠加装置,其特征在于,所述的对场景中的模型进行叠加纹理绘制具体为:
采样TEX_SPLAT颜色值记为SPLAT,采样原有纹理颜色值记为MAIN;
以TEX_SPLAT的X维度值对叠加纹理进行插值计算,记SPLAT的Z维度值为ALPHA,最终结果为SPLAT*ALPHA+MAIN*(1-ALPHA)。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210140337.7A CN114581584A (zh) | 2022-02-16 | 2022-02-16 | 一种基于uv映射的场景模型表面纹理叠加方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210140337.7A CN114581584A (zh) | 2022-02-16 | 2022-02-16 | 一种基于uv映射的场景模型表面纹理叠加方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114581584A true CN114581584A (zh) | 2022-06-03 |
Family
ID=81774578
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210140337.7A Pending CN114581584A (zh) | 2022-02-16 | 2022-02-16 | 一种基于uv映射的场景模型表面纹理叠加方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114581584A (zh) |
-
2022
- 2022-02-16 CN CN202210140337.7A patent/CN114581584A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107358643B (zh) | 图像处理方法、装置、电子设备及存储介质 | |
US20230053462A1 (en) | Image rendering method and apparatus, device, medium, and computer program product | |
TWI618030B (zh) | 藉由追蹤物件及/或基元識別符的圖形處理增強之方法及系統,圖形處理單元及非暫時性電腦可讀媒體 | |
TWI570665B (zh) | 電腦圖形系統及圖形處理方法 | |
JP2022078281A (ja) | 非正規直交グリッドへのテクスチャマッピングのためのグラデーションの調整 | |
US7095418B2 (en) | Apparatus and methods for texture mapping | |
CN109448137B (zh) | 交互方法、交互装置、电子设备及存储介质 | |
EP2709068A1 (en) | Image processing apparatus | |
CN113012269A (zh) | 基于gpu的三维图像数据渲染方法及设备 | |
CN114820990B (zh) | 一种基于数字孪生的流域防洪可视化方法及系统 | |
KR20050030569A (ko) | 화상 처리 장치 및 그 방법 | |
CN107038729A (zh) | 一种基于OpenGL‑ES的数字仪表盘绘制方法 | |
JP3649478B2 (ja) | 画像情報処理装置及び画像情報処理方法 | |
CN114581584A (zh) | 一种基于uv映射的场景模型表面纹理叠加方法及装置 | |
CN114581548A (zh) | 基于碰撞检测的场景模型表面纹理叠加方法及装置 | |
CN108921778B (zh) | 一种星球效果图生成方法 | |
CN113192173B (zh) | 三维场景的图像处理方法、装置及电子设备 | |
CN115018968A (zh) | 图像渲染方法、装置、存储介质及电子设备 | |
CN111681307A (zh) | 一种应用于三维软件的动态三维坐标轴的实现方法 | |
WO2019225734A1 (ja) | レンダリング装置、学習装置、レンダリング方法及びプログラム | |
CN115423917B (zh) | 一种全球三维风场实时绘制方法及系统 | |
CN113269819B (zh) | 一种面向视频投射场景的遮挡物动态隐藏方法及装置 | |
Wang et al. | An image hole inpainting algorithm with improved FMM for mobile devices | |
CN116263980A (zh) | 一种基于CesiumJS的视频在三维场景中投影映射方法 | |
CN116912093A (zh) | 画面的渲染方法、装置、电子设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |