我有一个 OpenGL 程序,当我调用它时它可以工作:
gluLookAt(0.1,0.1,0.1, 0,0,0, 0,0.1,0);
...但不是当我这样称呼时:
gluLookAt(0.01,0.01,0.01, 0,0,0, 0,0.01,0);
(在后一种情况下,会出现空白屏幕。)
gluLookAt 是否有最小/最大浮点参数大小?
绘制是围绕原点完成的,半径约为 10-6。
检查 gluPerspective 的最小绘制距离的值:
gluPerspective(45.0, (double)window.GetWidth() / (double)window.GetHeight(), 0.1d, 2000.0d);
这行不通,因为一切都在 0.1 之前。
gluLookAt
应该可以很好地处理您的论点。但是,您正在更改相机位置(如@sftrabbit 所说)。您的新位置可能离对象太近而无法看到它。
您应该检查透视矩阵设置中的近平面距离(可能是您的gluPerspective()
电话?)。