我在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 };
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 };
o4tp2gmn2#
你是用索引绘图吗?如果是这样的话,你只需要4个顶点如果使用索引进行绘制,则数据不正确索引2和3具有相同的值,提供相同的两个位置不会执行任何操作,您提供了两个顶点来绘制需要3个顶点的三角形
2条答案
按热度按时间muk1a3rh1#
使用索引绘图时,只需要4个顶点,而不是6个。索引是顶点的“地址”:
o4tp2gmn2#
你是用索引绘图吗?如果是这样的话,你只需要4个顶点
如果使用索引进行绘制,则数据不正确索引2和3具有相同的值,提供相同的两个位置不会执行任何操作,您提供了两个顶点来绘制需要3个顶点的三角形