我计划用OpenGL创建一个瓷砖世界,用略微旋转的瓷砖和房屋,世界上的建筑将由模型组成。有人能建议我应该使用什么投影(正交、透视),以及如何设置视图矩阵(使用OpenGL)吗?
如果你不知道我打算创造什么样的世界,看看这个游戏:http://www.youtube.com/watch?v=i6eYtLjFu-Y&feature=PlayList&p=00E63EDCF757EADF&index=2
发布于 2010-05-23 15:35:11
那个视频游戏使用的投影在我看来是倾斜的。有许多不同的投影,不仅仅是透视和正交投影。这里列出了最常见的http://en.wikipedia.org/wiki/File:Graphical_projection_comparison.png:
你肯定想要透视图,只需要绕X轴固定旋转。大约45-60度或更高。如果您不关心自己设置投影代码,GLU库中的gluPerspective函数非常方便。假设OpenGL 2.1:
glMatrixMode(GL_PROJECTION); //clip matrix
glLoadIdentity();
gluPerspective(90.0, width/height, 1.0, 20.0);
glMatrixMode(GL_MODELVIEW); //world/object matrix
glLoadIdentity();
glRotatef(45.0f, 1.0f, 0.0f, 0.0f);
/* render */
gluPerspective的最后两个参数是到近剪裁平面和远剪裁平面的距离。它们的值取决于您对环境使用的比例。
https://stackoverflow.com/questions/2211357
复制