可能是重复问题:
使用OpenGL进行真正的等轴测投影
我想使用与Blender3d相同的等轴测渲染方式,我该怎么做?只需要调用glMultMatrix()函数吗?我尝试了谷歌搜索,但找不到任何能够产生这种渲染模式的工作矩阵。我尝试了这个http://en.wikipedia.org/wiki/Isometric_projection,但它只是渲染出了非常奇怪的效果。
这是我现在使用的渲染正常透视图的矩阵:
GLdouble f = cotan(fovy/2.0);
GLdouble aspect = (GLdouble)width/(GLdouble)height;
IsoMatrix.x[0] = f/aspect;
IsoMatrix.y[0] = 0;
IsoMatrix.z[0] = 0;
IsoMatrix.w[0] = 0;
IsoMatrix.x[1] = 0;
IsoMatrix.y[1] = f;
IsoMatrix.z[1] = 0;
IsoMatrix.w[1] = 0;
IsoMatrix.x[2] = 0;
IsoMatrix.y[2] = 0;
IsoMatrix.z[2] = (zfar+znear)/(znear-zfar);
IsoMatrix.w[2] = (2.0*zfar*znear)/(znear-zfar);
IsoMatrix.x[3] = 0;
IsoMatrix.y[3] = 0;
IsoMatrix.z[3] = -1;
IsoMatrix.w[3] = 0;
glMultMatrixd((GLdouble *)&IsoMatrix);
如何更改它的结果为:http://rvzenteno.files.wordpress.com/2008/10/rvz_018.jpg?