对当前模型视图进行缩放,在OpenGL ES 1.0中可以使用glScale*函数,而在2.0中需要自己设置缩放矩阵。
如,分别使用sx,sy,sz表示在x,y,z轴上的缩放比例,那么在1.0中可以这样缩放模型视图:
glScalef(sx, sy, sz);
在2.0中你需要这么做:
float scale[16] = {sx, 0, 0, 0,
0, sy, 0, 0,
0, 0, sz, 0,
0, 0, 0, 1 };
glMultiMatrixf(scale);
缩放矩阵的推导过程如下:
vS = (vx vy vz 1) = (vx*sx vy*sy vz*sz 1*1) = v '