OpenGL渲染半多边形

s6fujrry  于 2022-11-04  发布在  其他
关注(0)|答案(2)|浏览(150)

我在OpenGL中使用索引时得到了半多边形渲染。知道是什么问题吗?

float vertices[] = {
    -0.5f, 0.5f, 0,
    -0.5f, -0.5f, 0,
    0.5f, -0.5f, 0,
    0.5f, -0.5f, 0,
    0.5f, 0.5f, 0,
    -0.5f, 0.5f, 0
    };

    uint32_t Indices[] = {
        0,1,3,
        3,1,2
    };

muk1a3rh

muk1a3rh1#

使用索引绘图时,只需要4个顶点,而不是6个。索引是顶点的“地址”:

float vertices[] = {
    -0.5f, -0.5f, 0,    // vertex 0
     0.5f, -0.5f, 0,    // vertex 1
     0.5f,  0.5f, 0,    // vertex 2
    -0.5f,  0.5f, 0     // vertex 3
};

uint32_t Indices[] = {
    0, 1, 3,            // 1. triangle, vertices 0, 1, 2 
    0, 2, 3             // 2. triangle, vertices 0, 2, 3
};
o4tp2gmn

o4tp2gmn2#

你是用索引绘图吗?如果是这样的话,你只需要4个顶点
如果使用索引进行绘制,则数据不正确索引2和3具有相同的值,提供相同的两个位置不会执行任何操作,您提供了两个顶点来绘制需要3个顶点的三角形

相关问题