1

我有这个顶点缓冲区对象,其中包含用于绘制 3 个不同网格的顶点(位置、法线和 UV)和索引数据。现在我想对每个网格应用不同的纹理。问题是我只知道如何在顶点缓冲区对象上渲染一个纹理。无论难度如何,我如何对它们中的每一个进行不同的纹理化并有效地进行。是否有某种纹理缓冲区对象供我将纹理加载到其中,然后与顶点缓冲区对象协调。

4

1 回答 1

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 );
于 2013-07-12T19:57:10.280 回答