可能重复:
渲染具有多个索引的网格
这是关于使用索引缓冲区来呈现自定义几何图形,例如来自 OBJ 文件。我对 3d 图形约定略知一二,但我对 WebGL 没有做太多的事情。我的问题的简短形式是“您如何在 WebGL 中使用索引缓冲区?”
我想做的是,对于一个自定义几何体,构建一个正在运行的位置向量列表和一个正在运行的 UV 向量列表(让我们跳过法线)。然后,当我去绘制三角形时,我只想用指向三个现有位置向量的指针和指向三个现有 UV 向量的指针来定义每个三角形。(仅仅是因为这就是 OBJ 的设置方式)
从我读过的内容来看(我发誓我用谷歌搜索了一百种不同的方法,但无法得到结论性的答案),你必须将 UV 和位置集中在一起作为一个顶点,然后将三角形定义为指向三个的指针这些顶点。但是当 UV 列表的长度与位置列表的长度不同时会发生什么?
可以说我有一个立方体。那是八个位置向量。但是考虑到每个面都具有相同的方形 UV 布局(渲染时每一面应该看起来相同)。那是四个(唯一的)UV。怎么办?
就像我必须放弃这种方法,咬紧牙关,为所有 12 个三角形定义每个位置和 UV——以沿立方体边缘重复位置向量和沿面对角线重复 uv 为“代价”。如果这是公认的做法,那很好,我只是想确保我以正确的方式进行。