加载OBJ时我得到了这个

时间:2011-03-20 22:57:36

标签: c++ opengl mingw sfml wavefront

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

但是这是一个小问题,我和另一个obj加载器的问题......

看到它的样子:

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

如果你不能马上看到它,那么还有另一个角度:

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

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

是否有其他人遇到此问题,或者如果有人知道如何解决这个问题,请告诉我

还要评论是否有任何需要显示的代码,我们很乐意发布它。

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

ORIGINAL:

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();

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

2 个答案:

答案 0 :(得分:2)

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

对于透视投影,近剪辑距离必须大于0。实际上你应该尽量选择尽可能远的距离和远距离平面尽可能接近。

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

答案 1 :(得分:0)

这看起来像投影设置问题。当变换到剪辑空间时,立方体的某些部分会超出近/远平面。

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