【发布时间】:2011-01-25 09:44:15
【问题描述】:
我正在尝试在 OpenGL 和 C++ 中映射树的纹理(即 .3ds 格式)。我正在使用顶点缓冲区对象、顶点数组对象和着色器。顶点坐标、法线和纹理坐标已上传到通过 glVertexAttribPointer 着色器。我的问题是如何为模型的不同部分(即树皮和 laeves)选择不同的纹理?
【问题讨论】:
我正在尝试在 OpenGL 和 C++ 中映射树的纹理(即 .3ds 格式)。我正在使用顶点缓冲区对象、顶点数组对象和着色器。顶点坐标、法线和纹理坐标已上传到通过 glVertexAttribPointer 着色器。我的问题是如何为模型的不同部分(即树皮和 laeves)选择不同的纹理?
【问题讨论】:
两种解决方案:
1) 渲染对象的层次结构,每个对象都使用适当的纹理进行渲染。
2) 绘制相应的纹理是单个纹理。每个网格三角形纹理坐标映射图像的正确比例。
第一个解决方案更简单(除了层次结构处理)。第二个需要加载对象的复杂纹理映射,但允许使用单个纹理(最小化内存)。游戏中的人物往往使用单一的纹理,有面部、手部和穿戴的纹理。
【讨论】: