本文针对对OpenGL es有一定了解的人群,一些基础概念不多解释。
一、三角形纹理映射
OpenGL的平面映射首先是需要区分平面正反方向,一般默认右手定则,面向平面,顶点顺序按平面周边逆时针方向的为正向。默认不打开背面裁剪。可通过如下方法设置:GLES20.glEnable(GLES20.GL_CULL_FACE);//打开背面剪裁 默认不打开
GLES20.glFrontFace(GLES20.GL_CW);//设置顺时针为正 默认逆时针为正GL_CCW
现在想把下面的贴图映射到三维空间的三角形上,需要定义顶点数组和纹理坐标数组。
1、顶点数组
首先定义三维空间的顶点坐标,下图是省略z轴坐标后的简化效果,其实是z坐标为0的模拟。当然有很多的顶点排列顺序,现在以最简单为例:A->B->C 。这样可得顶点数组如下:
{