【发布时间】:2011-11-24 21:16:02
【问题描述】:
我正在尝试使用 glDrawRangeElements() 命令渲染一些旧关卡数据。我的顶点设置正确,索引设置正确,但我似乎无法让它渲染。我终于在网上查了一下,发现了这里的例子:http://www.songho.ca/opengl/gl_vertexarray.html
从示例中,我认为我做错了。显然,开始是索引值,结束是索引值,而不是索引数组的索引。我假设,例如,如果您要渲染 10 个三角形,则开始为 0,结束为 29,计数为 30。但我显然错了吗?
只有在 0 和 29 处的索引值实际上是 0 和 29 时才正确。因此,如果索引以 400 开始并以 452 结束,则对同一数组的调用将改为
glDrawRangeElements(GL_TRIANGLES, 400, 452, 29, GL_UNSIGNED_BYTE, indices);
正确吗?有没有人认为这有点违反直觉?关于顶点数组的任何其他建议?
【问题讨论】: