【问题标题】:OpenGL ES: glOrtho() shows object, but gluPerspective() doesn'tOpenGL ES:glOrtho() 显示对象,但 gluPerspective() 不显示
【发布时间】:2012-03-22 12:11:20
【问题描述】:

我正在展示一个带纹理的方格,以 [0,0,-10] 为中心,宽度和高度 = 10000。相机位于 [0,0,0] 并向下看负 z 轴(视点 = [0,0,0], 中心=[0,0,-1]):

GLU.gluLookAt(gl, 0f, 0f, 0f, 0f, 0f, -1f, 0f, 1f, 0f);

照明和深度测试已禁用。

在正交模式下,小队完美显示,具有纹理和所有内容 - 我什至可以缩放和平移。 但是,当切换到透视模式时,通过:

GLU.gluPerspective(gl, 60.0f, w / h, 1.0f, 1000.0f);

然后视图只是空白。有人知道是什么原因造成的吗?

更新:

使用 glFrustum 代替 gluPerspective,它可以工作:

gl.glFrustumf(-scaledHalfW, scaledHalfW, -scaledhalfH, scaledhalfH, 1.0f, 100.0f);

但为什么 gluPerspective 没有显示任何内容?

【问题讨论】:

    标签: android opengl-es glulookat


    【解决方案1】:

    w / h 可能是整数除法吗?

    【讨论】:

    • 是的!天哪,现在感觉很愚蠢 :) w/h 将为 0,将视口扭曲为 0 宽度。
    猜你喜欢
    • 1970-01-01
    • 2021-12-31
    • 1970-01-01
    • 1970-01-01
    • 2020-12-02
    • 1970-01-01
    • 1970-01-01
    • 2021-05-18
    • 2020-03-26
    相关资源
    最近更新 更多