0

这次我已经成功加载了一个模型!耶!!

但是有一个小问题,我在另一个 obj loader 上遇到的问题......

这是它的样子:

http://img132.imageshack.us/i/newglitch2.jpg/

如果你不能马上看到,这里有另一个角度:

http://img42.imageshack.us/i/newglitch3.jpg/

现在这应该看起来像一个立方体,但是正如你所看到的,立方体上的面的边缘非常不稳定

有没有其他人有这个问题,或者如果有人知道如何解决这个问题,请告诉我

如果需要显示任何代码,也可以评论,我很乐意发布它。

嘿,我玩弄了代码(更改了一些东西),这就是我想出的

原来的:

glMatrixMode(GL_PROJECTION);
    glLoadIdentity();
    gluPerspective(50.f,(double)800 / (double)600,0.f,200.f);
    glTranslatef(0.f, 0.f, -10.0f);

结果:杂乱无章的图像(看图像)

当前的:

glMatrixMode(GL_MODELVIEW);
    gluPerspective(50.f,(double)800 / (double)600,0.f,200.f);
    glTranslatef(0.f, 0.f, -50.0f);
    glLoadIdentity();

结果:模型没有波涛汹涌但不能移动相机(模型就在我面前)

4

2 回答 2

2
gluPerspective(50.f,(double)800 / (double)600,0.f,200.f);
                                              ^^^ 
                                               | 
That's your problem right there ---------------+

对于透视投影,近剪辑距离必须大于 0。其实你应该选择near越远越好,far clip plane越近越好。

假设您的深度缓冲区为 16 位宽,然后将场景切成 32768 个切片。切片分布遵循 1/x 定律。从技术上讲,您正在除以零。

于 2011-03-21T00:23:35.400 回答
0

这看起来像一个投影设置问题。立方体的某些部分在转换为剪辑空间时会超出近/远平面。

从我看到你正在使用正交投影矩阵 - 这是制作 2D UI 的标准。请查看 glOrtho 调用的 nearVal 和farVal。对于 2D UI,它们通常分别设置为 -1 和 1(或 0 和 1),因此可能希望通过修改上述参数来缩小立方体或增加视锥体深度。

于 2011-03-20T23:35:36.753 回答