纹理渲染的问题梳理

时间:2022-12-21 23:39:41

  项目开始需要的输入文件为:mesh.obj  mesh.png

mesh.obj  中包含uv坐标  vt,类似如下:

vn 0.929393 -0.249747 -0.271764
vt 0.921548 0.407157
v 0.079123 0.030524 -0.179988
f 1520/1520/1520 1547/1547/1547 1540/1540/1540

mesh.png 为一个人脸展开图,类似:

纹理渲染的问题梳理

 

考虑重建输出的.obj文件不包含vt,且不包含 uv_texture_map.png,其格式类似如下:

vn 2.486012 0.691183 -4.662478
v -0.123617 -0.803589 5.026065 0.254902 0.207843 0.168627
f 69573//69573 71934//71934 71100//71100

 要作为项目输入,首先想到从该obj 中获取uv_coords和uv_texture_map.png,但是如何获取是个问题。

 

对比两种obj文件 ,分析渲染过程发现

#彩色的3D模型 obj 有以下两种情况:
#1.obj 无colors有uv_coords ,提供有 uv_texture_map
#2.obj 有colors无uv_coords ,不提供uv_texture_map

 

现在需要做的不是如何从obj 中提取uv_texture_map , 而是原始项目应该添加 第二种彩色obj格式的渲染处理!