OpenGL ES 2.0中的纹理图集

时间:2011-08-22 21:16:53

标签: android opengl-es textures

我正在开发一个使用OpenGL ES 2.0的简单项目。它已经相当不错了,但我似乎已经找到了一个对我们的初学者来说似乎记录不佳的地方。就是这样,我正在尝试使用纹理图集。我已经搜索了一下,但我似乎无法找到任何完整的代码示例。大多数搜索结果都会让人们对它们是什么以及如何使用它们提供非常基本的概念,但从来没有一个我能够真正学习的完整例子。

目前我只想从一张图片地图册中加载一组四到五张图像,并将它们应用到一个三角形条带上。我可以根据需要对图像的特定部分进行分区,但是我找不到任何关于将更多的图像应用到同一个三角形条带的示例。

我不一定需要一个关于此的完整教程(我不介意一个!),但是如果有人能指出我做一些相似的代码示例我会很高兴。非常感谢你提前!

1 个答案:

答案 0 :(得分:4)

纹理图集与使用OpenGL加载和渲染的任何其他图像没有什么不同,其技巧是调整多边形每个顶点的纹理坐标,以在该图像中包含一个较小的三角形/矩形。

在OpenGL中,图像的坐标从(0,0)开始 - 左下角,并在(1,1) - 右上角结束。如果要仅将图像的某个区域映射到多边形,请使用标准化大小(0.0 - 1.0)指定纹理坐标。即图像的中点位于坐标(0.5,0.5)处。

要显示仅使用图像的一半渲染矩形的三角形条,您的纹理坐标必须与此类似:

  • (0.0,0.0)顶点在矩形的左下角
  • (0.0,1.0)左上角的顶点
  • 右下角的
  • (0.5,0.0)顶点
  • 右上角的
  • (0.5,1.0)顶点