为什么在Android';使用OpenGL绘制立方体

为什么在Android';使用OpenGL绘制立方体,android,opengl-es,Android,Opengl Es,使用索引缓冲区对多维数据集进行纹理处理时遇到问题。我看到一篇文章说,你需要在立方体中定义24个顶点,而不是8个顶点(其中1个顶点是3个浮点数) 如果必须传输这么多重复数据,那么使用索引缓冲区有什么意义呢 一个顶点不是3个浮点数;这就是为什么答案是这样的。顶点是输出基本体的单个顶点所需的所有数据。这包括位置(3个浮动),但也包括您感兴趣的任何纹理坐标、法线、逐顶点颜色或其他顶点属性 索引缓冲区的目的是不必重复那么多数据。每个面有4个独立的顶点,但每个面也是共享2个顶点的2个三角形。如果未使用索引渲

使用索引缓冲区对多维数据集进行纹理处理时遇到问题。我看到一篇文章说,你需要在立方体中定义24个顶点,而不是8个顶点(其中1个顶点是3个浮点数)

如果必须传输这么多重复数据,那么使用索引缓冲区有什么意义呢

一个顶点不是3个浮点数;这就是为什么答案是这样的。顶点是输出基本体的单个顶点所需的所有数据。这包括位置(3个浮动),但也包括您感兴趣的任何纹理坐标、法线、逐顶点颜色或其他顶点属性

索引缓冲区的目的是不必重复那么多数据。每个面有4个独立的顶点,但每个面也是共享2个顶点的2个三角形。如果未使用索引渲染,则需要将每个面表示为单独的GL_三角形_条带绘制调用(因此绘制完整立方体需要6个单独的绘制调用),或者必须为每个面提供6个顶点,其中2个顶点是完全相同的顶点数据,需要再次复制