1. Qtcreator中出现:error: C1083: 无法打开包括文件:“gl/glut.h”: No such file or directory时可将头文件放在C:\Program Files\Microsoft SDKs\Windows\v7.0A\Include目录下,同样出现:无法打开xxx.lib文件时也可将lib文件放到C:\Program Files\Microsoft SDKs\Windows\v7.0A\Lib目录下,无法打开可执行文件dll可将其放到C:\Program Files\Microsoft SDKs\Windows\v7.0A\bin目录下即可。
2. 有时为了屏蔽当前生成的矩阵对以后绘制对象的影响,可以进行逆变换,如下:
glTranslatef( -4.0f, 0.0f, 0.0f );
glutSolidSphere( 1, 100, 200 ); //绘制球体1
glTranslatef( 4.0f, 0.0f, 0.0f ); //使得当前模型观察矩阵为绘制球体1之前的那样
3. 设平移到(1,0,0)位置的矩阵为A,一个顶点V,V=V*A后的位置会往x轴平移一个单位,此时顶点V的坐标已经改变,若再乘以A,则又会往x轴平移一个单位,即在上次的位置处又右移一个单位,每次乘以A,都会在上一次的基础上平移一个单位,这就是gltranslatef(a,b,c)是以物体自身为中心,x轴平移a个单位,y轴平移b个单位,z轴平移c个单位,而不是直接将物体移动到世界坐标系(a,b,c)处的原因,当物体处于世界坐标系的原点时,gltranslatef(a,b,c)会把物体移动到世界坐标系(a,b,c)处,即gltranslatef(a,b,c)是在物体上一次的位置处进行平移。
2. 有时为了屏蔽当前生成的矩阵对以后绘制对象的影响,可以进行逆变换,如下:
glTranslatef( -4.0f, 0.0f, 0.0f );
glutSolidSphere( 1, 100, 200 ); //绘制球体1
glTranslatef( 4.0f, 0.0f, 0.0f ); //使得当前模型观察矩阵为绘制球体1之前的那样
3. 设平移到(1,0,0)位置的矩阵为A,一个顶点V,V=V*A后的位置会往x轴平移一个单位,此时顶点V的坐标已经改变,若再乘以A,则又会往x轴平移一个单位,即在上次的位置处又右移一个单位,每次乘以A,都会在上一次的基础上平移一个单位,这就是gltranslatef(a,b,c)是以物体自身为中心,x轴平移a个单位,y轴平移b个单位,z轴平移c个单位,而不是直接将物体移动到世界坐标系(a,b,c)处的原因,当物体处于世界坐标系的原点时,gltranslatef(a,b,c)会把物体移动到世界坐标系(a,b,c)处,即gltranslatef(a,b,c)是在物体上一次的位置处进行平移。