可能的重复:
使用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 ?
使用起来更方便glOrtho然后旋转轴:
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(-10.0f, 10.0f, -10.0f, 10.0f, -10.0f, 10.0f);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
glRotatef(35.264f, 1.0f, 0.0f, 0.0f);
glRotatef(-45.0f, 0.0f, 1.0f, 0.0f);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)