我有这个包含顶点(位置,法线和UV)的顶点缓冲区对象和用于绘制3个不同网格的索引数据。现在我想为每个网格应用不同的纹理。问题是我只知道如何在顶点缓冲区对象上渲染一个纹理。我如何以不同的方式对每一个进行纹理化,并且无论遇到什么困难都能有效地进行。是否有某种纹理缓冲对象供我加载纹理然后与顶点缓冲区对象协调。
答案 0 :(得分:1)
在glDrawArrays()
调用中使用不同的开始/计数,纹理绑定介于:
glBindTexture( ..., texture1 );
glDrawArrays( ..., obj1_start, obj1_vert_count );
glBindTexture( ..., texture2 );
glDrawArrays( ..., obj2_start, obj2_vert_count );
glBindTexture( ..., texture3 );
glDrawArrays( ..., obj3_start, obj3_vert_count );