我试图在OpenGL和C ++中映射树的纹理(即.3ds格式)。我使用顶点缓冲对象,顶点数组对象和着色器。顶点坐标,法线和纹理坐标被上传到shader通过glVertexAttribPointer。我的问题是如何为模型的不同部分(即树皮和laeves)选择不同的纹理?
答案 0 :(得分:0)
两种解决方案:
1)渲染层次结构对象,并使用适当的纹理渲染每个对象。
2)绘制合适的纹理是单一纹理。每个网格三角形纹理坐标映射图像的正确protion。第一种解决方案更简单(除了层次结构处理)。第二个需要加载对象的复杂纹理映射,但允许使用单个纹理(最小化内存)。游戏中的角色通常使用单一纹理,具有面部,手部和穿着的纹理。