首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >LWJGL Qubes to Big

LWJGL Qubes to Big
EN

Stack Overflow用户
提问于 2013-05-23 16:10:56
回答 2查看 61关注 0票数 0

为了上学,我想做一个游戏。所以我决定做一些类似于游戏“我的世界”的东西。

例如,如果我像这样画我的立方体的正面:

代码语言:javascript
复制
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的新手。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-05-27 20:41:31

立方体不能太大,一切都是相对的。

如果你从1.0f的距离看1.0fx1.0f的矩形,它会很大。当从100.0f看的时候,你会看到一个小斑点。

只需学习如何设置相机位置和使用透视投影。

透视投影示例:

代码语言:javascript
复制
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);

摄像头位置示例:

代码语言:javascript
复制
GLU.gluLookAt(x, y, z, viewX, viewY, viewZ, upX, upY, upZ);

你也应该学习什么是向上向量。

票数 0
EN

Stack Overflow用户

发布于 2013-05-27 18:31:43

我认为对于你的问题有两个选择。

GL11.glScalef(x,y,z)你可以从你的glVertex3f中取出所有的值并乘以一个十进制数来缩小它们,或者你可以尝试使用GL11.glScalef( x,y,z)这应该通过这个方法中指定的x,y和z值来缩放你传入的坐标。

  • (x,y,z)你可以从你的glVertex3f中取出所有的值并乘以一个十进制数来缩小它们,或者你可以尝试使用GL11.glScalef(x,y,z)来缩放你在这个方法中指定的x,y和z值。
    • 。您可以在开始绘制立方体之前调用此方法。

Hop这很有帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16708766

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档