在单个vbo中纹理化多个网格
texturing multiple meshes in a single vbo
我有这个顶点缓冲区对象,它包含顶点(位置、法线和UV)和索引数据,用于绘制3个不同的网格。现在我想为每个网格应用不同的纹理。问题是我只知道如何在顶点缓冲区对象上渲染一个纹理。我该如何以不同的方式对它们进行纹理处理,并在不考虑困难的情况下高效地进行纹理处理。是否有某种纹理缓冲区对象可供我加载纹理,然后与顶点缓冲区对象协调。
在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 );
相关文章:
- 使用对象文件读取三角形数据网格
- 如何从 Skia 路径几何体中获取网格?
- CGAL:如何创建填充边界曲线的曲面网格?
- 检查 2D 网格的某个元素是否与另一个元素共享对角线、水平线或垂直线
- 创建具有两个视口的Qt3D C++场景,其中显示适当的不同网格
- 如何从 3D 曲面网格中删除自相交三角形?
- 在均匀网格中处理碰撞
- 更改高度贴图,使其在 4x4 网格上显示 16 个 hieghtmap
- 用于查找网格中最短路径的算法
- 循环通过网格获取温度,但不知道如何告诉程序停止循环
- 使用 glvertex4i 传递网格面索引时的顶点着色器错误
- 如何使用 sdl2 快速绘制像素网格?
- C++星纹金字塔
- 如何使用条件计算 3D 网格中从一个点到另一个点的所有路径
- 使用 MFC 的表/网格
- 是否可以制作没有内部分割的cgal 3d多多马因网格?
- 获取网格中心的屏幕位置
- ASIMP 模型加载不会加载所有网格
- C++中的多维数据集:从 std::vector 的 2D 数据到 std::vector 的 2D 网格的最干净方法?
- 如何从C++而不是虚幻编辑器中添加静态网格体组件的值?