GLfloat mtf1[16]={1,0,0,0,
0,1,0,0,
0,0,1,0,
0,1,0,1};
<pre name="code" class="cpp">void DrawCube()
{
GLfloat ac[4];
glGetFloatv(GL_CURRENT_COLOR, ac);
glPushMatrix();
glMatrixMode(GL_MODELVIEW);
//glTranslatef(0,2,0);
glMultMatrixf(mtf1);
<span style="white-space:pre"> </span>/*---------......-----------*/
}
以上代码中,glTranslatef(0,2,0);向上(Y轴正方向)变换平移2个单位。
下面的glMultMatrixf(mtf1);实现的功能与glTranslatef(0,2,0);是一样的。
效果如下图:
<img src="https://img-blog.youkuaiyun.com/20150908125729338?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />