有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何在不扭曲渲染对象的情况下调整LWJGL窗口的大小

我无法调整窗口的大小。 当前,在更改窗口大小时,我总是更改GLU.gluPerspective()中的值


在这两个例子中,我对透视图GLU.gluPerspective(70F, this.windowWidth/this.WindowHeight, 0.05F, 1000.0F)使用了这些值,只更改了窗口大小

LWJGL Window size = 1920x1080

LWJGL Window size = 1080x1080

正如您所见,当窗口大小为1080x1080像素时,它看起来很好。 但我不想每次不使用其他窗口大小时都更改这些值

我希望你能理解我,知道我想要什么


共 (1) 个答案

  1. # 1 楼答案

    解决方案非常简单1920/1080变成了1,因为你在做整数除法。这就是为什么1080x1080看起来很好,因为长宽比实际上是1

    你想要的是:

    GLU.gluPerspective(70F, 1920F/1080F, 0.05F, 1000.0F)
    

    通常不硬编码纵横比,而是从窗口中提取值:

    GLU.gluPerspective(70F, (float)width / (float)height, 0.05F, 1000.0F)
    

    这样,无论窗口大小,纵横比都是正确的