Opengl es 如何使用索引绘制纹理

Opengl es 如何使用索引绘制纹理,opengl-es,Opengl Es,我用8个顶点和36个索引绘制了一个简单的立方体。没问题,只要我不尝试纹理 但我想纹理它。我可以只用8个顶点吗?似乎我有一些奇怪的纹理行为。我是否需要设置具有24个顶点和36个索引的立方体才能正确地对立方体进行纹理处理 使用顶点和索引进行绘制是没有意义的。我也可以只使用顶点。一个索引指的是一组属性:顶点、法线、颜色、边标志等。如果您愿意将纹理镜像到立方体侧面的相邻面上,您可以共享侧面的纹理和顶点坐标。但是,共享这些相同坐标的顶面和底面将不起作用-纹理坐标的一个轴不会变化。一旦添加了其他属性(特别是

我用8个顶点和36个索引绘制了一个简单的立方体。没问题,只要我不尝试纹理

但我想纹理它。我可以只用8个顶点吗?似乎我有一些奇怪的纹理行为。我是否需要设置具有24个顶点和36个索引的立方体才能正确地对立方体进行纹理处理


使用顶点和索引进行绘制是没有意义的。我也可以只使用顶点。

一个索引指的是一组属性:顶点、法线、颜色、边标志等。如果您愿意将纹理镜像到立方体侧面的相邻面上,您可以共享侧面的纹理和顶点坐标。但是,共享这些相同坐标的顶面和底面将不起作用-纹理坐标的一个轴不会变化。一旦添加了其他属性(特别是法线属性),立方体将需要24个单独的索引,每个索引都有顶点、纹理和法线,才能有平坦的边


另一种可能适合你的方法是。但是,一个立方体需要24个独立顶点是完全正常的。

Thanx!我在想为什么需要索引?为什么不只使用垂直?它是OpenGL ES,应该在内存有限的移动设备上运行。一个缓冲区用于顶点,一个缓冲区用于索引,这似乎太过分了。多维数据集是一个非本意的角盒双关语。大多数网格更加复杂和镶嵌,因此使用条带、扇形和索引会带来好处,因为您需要复制更少的数据。为什么不只使用顶点?这正是glDrawArrays所做的。@Ben:很好。我读过的关于OpenGL ES的教程中没有一篇提到GLDrawArray。我认为,通过使用索引和顶点以正确的方式进行操作,他们会非常投入。我会做一个测试,看看我得到了什么。塔克斯!恭喜你,你刚刚发现立方体是邪恶的,不可能进一步优化。不过你可以用三角带。但是是的,你是对的。在OpenGL中,具有相同位置但不同属性的顶点并不相等,因为索引只有一个间接方向。一组索引对应多个数组,而不是每个数组对应一组索引,或一组索引对应多组索引