查看OpenGL中顶点数组的文档,我发现的两个最常用的索引类型是GLubyte(GL_UNSIGNED_BYTE)和GLshort(GL_SHORT)。 我想知道使用这两个指数
之间是否存在任何实际差异谢谢, Dragonwrenn
答案 0 :(得分:8)
GL_UNSIGNED_BYTE
是可以的 - 实际上并不多。
GL_UNSIGNED_SHORT
会将你限制在65536个顶点 - 这仍然是少数几个。
我认为最常见的变体是GL_UNSIGNED_INT
,因为对于中多边形和高多边形模型,甚至2个字节也可能不够。
答案 1 :(得分:4)
GL_UNSIGNED_BYTE是1个字节,GL_SHORT是2个字节。字节的唯一优点是它们更小,因此它们需要更少的内存来存储,并且传输到图形存储器的时间更少(假设顶点数组或VBO)。
请注意并非所有类型都适用于所有用途:例如,您不能拥有GL_UNSIGNED_BYTE顶点。
答案 2 :(得分:3)
GPU只能处理16或32位索引,因此使用GL_UNSIGNED_BYTE时会产生额外的开销,并且不会节省内存。