刚刚在android上学习了一些OpenGL,学习了制作游戏的基础知识。
我遇到的麻烦是将“每个图块”的不同纹理映射到我的网格上。
例如:
我有一个瓷砖网格 - 8x8 - 在我的顶点数组中我通过定义一个 9x9 顶点来定义网格来构造列/行。然后我去创建一个索引缓冲区,告诉它如何绘制构成网格中每个正方形的 2 个三角形。
我的挫败感在于将纹理映射到网格的不同图块,因为每个正方形与网格中的其他正方形共享顶点,据我所知,您只能在 Opengl 中为每个顶点应用一个纹理坐标。
我能想到的唯一解决方案是在顶点缓冲区中生成重复的顶点,这将允许我为每个顶点分配单独的纹理坐标(即使顶点已经在生成前一个图块的缓冲区中)。这种方式最终会让我得到一大堆重复的顶点,这些顶点在我的脑海中似乎并不正确。我还想避免必须动态创建一个大位图,然后使用分数纹理坐标将其映射到网格上。
有人可以教育我的新手,了解我如何在网格上的每个图块上获得不同的纹理!
谢谢!