一、纹理映射
① 什么是纹理 ?
- 纹理(Texture)最通常的作用是装饰 3D 物体,它就像贴纸一样贴在物体表面,丰富了物体的表面和细节。在 OpenGL ES 开发中,纹理除了用于装饰物体表面,还可以用来作为存储数据的容器。
- 那么,在 OpenGL ES 中,纹理实际上是一个可以被采样的复杂数据集合,是 GPU 的图像数据结构,纹理分为 2D 纹理、 立方图纹理和 3D 纹理:
-
- 2D 纹理是 OpenGL ES 中最常用和最常见的纹理形式,是一个图像数据的二维数组,纹理中的一个单独数据元素称为纹素或纹理像素;
-
- 立方图纹理是一个由 6 个单独的 2D 纹理面组成的纹理,立方图纹理像素的读取通过使用一个三维坐标(s,t,r)作为纹理坐标;
-
- 3D 纹理可以看作 2D 纹理作为切面的一个数组,类似于立方图纹理,使用三维坐标对其进行访问。
② 什么是纹理映射 ?
- 在 OpenGL ES 中,纹理映射就是通过为图元的顶点坐标指定恰当的纹理坐标,通