为了上学,我想做一个游戏。所以我决定做一些类似于游戏“我的世界”的东西。
例如,如果我像这样画我的立方体的正面:
glBegin(GL_QUADS);
glVertex3f(0f,0f,0f);
glVertex3f(0f,1f,0f);
glVertex3f(1f,1f,0f);
glVertex3f(1f,0f,0f);
glEnd();这个矩形太大了。所以必须使用类似0.0001f的东西,而不是使用1f。所以位置对我来说更难计算。
我是不是做错了什么,或者有没有办法让现在的一切变得更小(通过在透视图中改变一些东西)?
对于这个愚蠢的问题,我很抱歉,我是lwjgl和opengl的新手。
发布于 2013-05-27 20:41:31
立方体不能太大,一切都是相对的。
如果你从1.0f的距离看1.0fx1.0f的矩形,它会很大。当从100.0f看的时候,你会看到一个小斑点。
只需学习如何设置相机位置和使用透视投影。
透视投影示例:
GL11.glViewport(0, 0, Display.getWidth(), Display.getHeight());
GL11.glMatrixMode(GL11.GL_PROJECTION);
GL11.glLoadIdentity();
GLU.gluPerspective(90f, Display.getWidth() / Display.getHeight(), 0.1f, 5000f);摄像头位置示例:
GLU.gluLookAt(x, y, z, viewX, viewY, viewZ, upX, upY, upZ);你也应该学习什么是向上向量。
发布于 2013-05-27 18:31:43
我认为对于你的问题有两个选择。
GL11.glScalef(x,y,z)你可以从你的glVertex3f中取出所有的值并乘以一个十进制数来缩小它们,或者你可以尝试使用GL11.glScalef( x,y,z)这应该通过这个方法中指定的x,y和z值来缩放你传入的坐标。
Hop这很有帮助。
https://stackoverflow.com/questions/16708766
复制相似问题