如何在opengl中构造立方体?

时间:2019-06-02 20:41:15

标签: c++ opengl texture-mapping

所以,我有一个顶点缓冲区

const float vboData[] = {
-10, -10, -10,
 10, -10, -10,
 10,  10, -10,
-10,  10, -10,

-10,  10,  10,
-10, -10,  10,
 10, -10,  10,
 10,  10,  10,
};

和索引缓冲区

const uint32_t iboData[] = {


    0, 1, 2, 3,

    0, 3, 4, 5,

    2, 3, 4, 7,

    1, 2, 7, 6, 

    0, 1, 6, 5, 

    4, 5, 6, 7, 
};

我使用这个抽奖电话

glDrawElements(GL_QUADS, indexBuffer->GetCount(), GL_UNSIGNED_INT, nullptr);

具有绑定的顶点和索引缓冲区。

我现在正在尝试在多维数据集的每个面上绘制图像。所以我添加了一个顶点属性,一个vec2 UV作为纹理坐标,然后它击中了我。我无法将纹理坐标放入顶点缓冲区中,导致每个面都相同,我需要创建其他顶点,这些顶点的位置与我已有的顶点相同,这浪费了内存。我该如何克服?我已经在互联网上搜索了几个小时,没有找到不涉及删除索引缓冲区的解决方案。

0 个答案:

没有答案