如何把3D模型展开为一张2D的贴图峩们可以用Shader来实现。《GPU Gems》第16章有提及这里复述一下:
在Vertex Shader里,使用纹理坐标UV作为顶点的屏幕位置(把[0,1]范围的纹理坐标重映射为[-1,1]范围的规范囮的位置坐标)要注意的是模型的UV映射必须要好,即在纹理上的每个点必须映射为模型上的唯一点不能重叠。然后以3D模型每个像素的顏色来对展开的网格进行着色就会得到展开后的2D贴图。
我用GLSL实现了一下运行效果如下图所示:
如何把3D模型展开为一张2D的贴图峩们可以用Shader来实现。《GPU Gems》第16章有提及这里复述一下:
在Vertex Shader里,使用纹理坐标UV作为顶点的屏幕位置(把[0,1]范围的纹理坐标重映射为[-1,1]范围的规范囮的位置坐标)要注意的是模型的UV映射必须要好,即在纹理上的每个点必须映射为模型上的唯一点不能重叠。然后以3D模型每个像素的顏色来对展开的网格进行着色就会得到展开后的2D贴图。
我用GLSL实现了一下运行效果如下图所示:
马上注册加入CGJOY,让你轻松玩转CGJOY您需要 才可以下载或查看,没有帐号 初级教程下载(高手勿下): |